Ask HN: Why are we still using text editors to write code?

2 points by kairichard ↗ HN
Software has gotten more and more complex and distributed meaning code is no longer in one place/repo. Yet we rely on code editing capabilities that have not changed much over the last +20yrs. I am seriously puzzled. I thought that by now, we would have progressed onto something else. Than again I find myself using VIM for almost a decade unable to think of what could be truly superior to wrangling some characters in order to produce a functioning program.

6 comments

[ 2.9 ms ] story [ 31.6 ms ] thread
Probably because structured text is expressive, portable, and almost universally readable. And my voice isn't good enough to sing code into being without syntax errors.
In a sense this is also true for assembly - what we did here was to abstract away details and finding higher level concepts. I am wondering what is keeping us from leaving text based programming altogether. I know there are several tools that allow some kind of visual programming e.g. Unreal Engine and blender - maybe even Github Actions counts. But they all do not seem to catch on to a wider audience and I wonder why that is.
And don't forget if you want a drag n' drop UI -- someone has to code and maintain it regardless.
True but only until the 'language/tool' becomes self-hosted.
How would a visual compiler even work? You can't really just skip the text layer unless you're willing to be married to one set of paradigms.

Plus, what makes anyone want to bring mechanics into programming?

Look at an internal combustion engine. That's your physical manifestation of visual programming. It's a bunch of blocks of different shapes and sizes fastened together to do a task. It is made no easier to grok without text. The people who can operate on such systems are called mechanics, and even they still need text to reference from time to time.

Part of programming, and arguably where the Art shines through brightest is linguistic mastery through which comes the ability to visualize the System Under Work.

I'm increasingly reluctant to try to teach coding primarily as opposed to computer science. Doing so robs the practitioner of that ability to perceive the visualization of what the code is rather than what the code actually reads as.

To lose that perspective is to be completely out of touch with a program. It's just a bunch of words and desperate flailing to line everything up until the compiler stops complaining. Fighting a merciless djinn hoping that you don't get saddled with the unintended consequences of not realizing what it actually was you were doing.