Hacker News new | ask | show | jobs
by haunter 1965 days ago
Does anyone feel we are still in the silent film era of computer programming? Will we ever advance from text editors into something else and leave Vim, Emacs etc. forever behind for good?
4 comments

The 80-column IBM punch card was invented in 1928 and here we are almost 100 years later writing programs as a sequence of 80-column lines of text. It seems pretty obvious to me that we're stuck in a local maximum. I don't think visual programming is the solution but there must be another alternative. Sort of like how databases are based on text but are much more than text.
What we don't need are 160-column punched cards.

The proper response to "640K ought to be enough for anybody" is virtual memory, not 1280K.

People used to complain about Macromedia Director only having 24 layers, so they increased it to 48. But then what are you supposed to do if you want to make a map of the United States: leave out Alaska and Hawaii?

Think about it: why are you writing a textual comment right now and not sending a picture, video, sound clip of your message ? That would be much less "silent film"-ish, no ?
If you ask me : because I can "scan" in 10 seconds a page of different replies, something which would be impossible to do visually or aurally.

This is why 10-minute videos of "how to" in programming always enrage me. Though of course it makes a lot of sense for visual tasks such as 3D animation.

Text is a good medium for communicating stories and ideas, but software systems are primarily models.

Other engineering professions make heavy use of visual modeling tools. Oddly, the industry that builds these tools is itself "the barefoot shoemaker."

No, software isn't models.

Software is text written in a mathematical language.

Doing a visual interpretation of math (or interpretative dance, or a song, etc) isn't going to end in anything useful.

Software is currently described by written text that is transformed by other process (compilers/interpreters) to a different state and then executed. Often the execution does not work as expected due to undefined conditions or states within the "mathematical language", or misunderstanding of the scope or memory allocation or release, etc.

There certainly could and should be visual representations of state, memory utilization, registers, variable values and execution sequence based on the textual conditions described. Contrasts of expected execution vs actual.

Perhaps using GPT-3 that is taught each programming language and then a designer can specify the behavior and GPT-X* can build a solution that can be formally verified as provable. Then generate test cases and show the flow and proof of correct execution based on test conditions.

> Often the execution does not work as expected due to undefined conditions or states within the "mathematical language", or misunderstanding of the scope or memory allocation or release, etc.

nah, 90%+ of bugs are already present in the "paper" specification in my experience, without any programming language involved (and I'm mostly writing in C++ which is prone to the issues you mention).

Individual programs are text, but useful software systems are models.
Which means that software documentation should use spatial visualization tricks, not the coding process.

Which is what we kind of have now, except that really nobody wants to use software documentation.

Like TikTok?
I do! I am currently in the very early stages of creating a VR-based language. I believe that if we can represent programs more intuitively to our spatial, visual, and tactile senses, we can unlock more programming potential in more people.
> spatial, visual, and tactile senses

What about our olfactory senses, for code smells?

iSmell!

https://news.ycombinator.com/item?id=17476460

https://news.ycombinator.com/item?id=24853659

>Losing your sense of smell and taste is a symptom of COVID-19!

>Too bad the iSmell never took off and became ubiquitous, or it could be used to screen for COVID-19 symptoms.

https://en.wikipedia.org/wiki/ISmell

https://www.wired.com/1999/11/digiscent/

You are designing language from scratch? Is it too early to show screenshot or a sketch?

Often I get the urge to make spatial development environment, but I always envision it as lisp with 3D rendering/manipulation.

The language from scratch, yeah. I have experience with UE4, so I'm going to be using that. Too early for screenshots, I'm still in the planning phase.

Basically I'm spending my time on a whiteboard thinking up simple programs (fibonacci sequence, graph traversal, etc), then drawing them out how I imagine they could be represented in a 3d environment. From that, I am distilling ideas of how to represent data types and algorithms in a way that doesn't look like spaghetti.

I hope not. The 'advancement' from text editing to something else would in all likelihood not be an advancement at all but a retardation instead. There is a reason that the invention of writing is the basis of civilization. The only way for leaving text editing to be left behind is if all these big companies forbid ordinary users to do any programming besides a very dumbed-down/graphical version of it. I am sure they would very much like this but it would be a form of tyranny.
"Plain text" writing using a "text editor", is much more limited in its expressiveness than writing on a piece of paper. There is no reason to believe that a character grid somehow is the pinnacle of programming.