6 ms·
I think the next game-changing evolution in programming languages is moving beyond plaintext. Our basic building blocks of programming has not changed essentia
by borplk 9y ago
I think the next game-changing evolution in programming languages is moving beyond plaintext.
Our basic building blocks of programming has not changed essentially since the beginning of programming.
We still treat programs as nothing but a bunch of files and folders edited with the same tools that writers use to write romance novels (yeah yeah "intellisense" is not so intelli at the end of the day).
We don't create beautiful images by writing RGB values in a text editor. We shouldn't be creating highly complex software systems with them either.
We need model based editing environments that will allow us to have a much richer set of software building blocks.
We have to allow software to be more than just characters in files. Software "source" is not a book. It's the blueprint for a system that has metadata and constraints attached to it. It can't comfortably and forever exist in a flat plaintext structure for human consumption.
If you are interested go dig up my old comments I have written more elaborate rants about it before.
And yes I'm ready for the inevitable and customary "NO IT AINT GON WORK WE TRIED BEFORE AND IT AINT WORTH TRYIN EVER EVER AGAIN" replies.
Also relevant:
https://www.reddit.com/r/nosyntax/ https://www.reddit.com/r/nosyntax/
(I actually somewhat accidentally and indirectly caused the creation of the subreddit as a result of a discussion here on HN before)
https://isomorf.io/ https://isomorf.io/
https://en.wikipedia.org/wiki/Structure_editor https://en.wikipedia.org/wiki/Structure_editor
https://en.wikipedia.org/wiki/Intentional_programming https://en.wikipedia.org/wiki/Intentional_programming
https://www.youtube.com/watch?v=PUv66718DII https://www.youtube.com/watch?v=PUv66718DII
- gt_ 9y ago“We’ve tried it before” is a poor excuse, of course. The theory angle holds both some better excuses for not getting our hopes up and possibly some clues on how to get there. We’ve got to avoid taking text for granted. Basically put, the adaptability, precision, fastidiousness, accessibility, etc. of the written word makes the modern world possible. Phonetic type is far and wide the greatest communication interface known to man. I work with a lot of node-based softwares doing CGI and post-production work. A few of the daily softwares I use have a small editor in the bottom corner of the GUI. The node interfaces are very useful and hard to live without. I agree that, when doing visually-based work, it feels very off to have to stop what I’m doing and so scripting. It feels like a vastly different mode of the mind. But, as I’ve gotten better at scripting, (still not great) I have noticed that when I have a visual idea with no implementation, it can be a good time to start building it with a script. I have roughed put some 3D scenes in scripts from the start and found this to be a totally different experience than the stop and change modes issue. I can’t argue for it’s productivity level, and I don’t know what the value of this observation is, but I honestly enjoy working this way when I do it. It’s as if my visual sensory system is relaxed and my imagination is utilized more. The ideas are parameterized rather than experienced. This does not happen with node interfaces, which actually introduce an extra visual experience. I am just babbling at this point, but these observations feel relevant. I do not, however, know what kinds of conclusions to draw from them.
- gt_ 9y agoOne more thing... I do want very badly a plugin for a code editor that allows me to click and drag on a float (in code) and scroll it up and down. If anyone has any ideas or tips, please post! If it doesn’t exist, any thoughts on an environment or editor that would be friendly to such a plugin would also be helpful.
- spiralganglion 9y agoTake a look at Bret Victor’s Tangle project. I believe there are editor plugins that offer this, but I can’t name any off the top of my head.
- gt_ 9y agoThank you!! On a short vacation rn but will look into this in a couple of days.
- borplk 9y agoI will add, remember the problem is not with text itself. I'm not saying "text bad visual shiny fancy stuff good". Text is great. But "textual representation" of a rich model/object is different than text being the very raw basic building block of something. When text is your basic block it means we end up effectively sharing a language with the computers. This creates lots of complex and somewhat unnecessary problems (for example "syntax", and "parsing"). It's also inappropriate because if you try to make the language better for the computers it quickly gets noisy and unreadable for humans. If you try to make it good for humans it becomes difficult and ambiguous for the computers. So you end up in this pointless fight. You have to detach these two things from each other so that the computers can have a precise representation for themselves and humans can have a adaptable dynamic representation for themselves.