What you suggest is possible to some extent, it's just hard to standardize, much harder than gluing more stuff on top of the existing systems. You're looking at something that you could build a career on, if you find the right approach. There a lot of companies and projects that have tried to research moonshots and come up with good demos but bad production environments.
Ask HN: Why is programming editing text?
51–60 of 79 posts
Re: Ask HN: Why is programming editing text?
#52A large part of the answer is historical(80 column text is derived from the IBM punchcard standards of yesteryear). The remainder is in information theory: we tend to use textual language because the data is a nice compromise between "compressed" and "editable". While it's true that "a picture is a thousand words", those thousand words are generally not abstract concepts like "homomorphism" or "ideology", and yet you…
Re: Ask HN: Why is programming editing text?
#53I want this a lot too, but the way we've built our software stacks has overwhelming path dependence on plaintext. There's a lot of tooling that's a bit broken, like git diffs, because the diffing algorithm can't actually capture what the logical changes really were, but it's close enough so we shrug and move on. You can see how the accumulation of these little warts starts warping the rest of the devflow. E.g. since…
Re: Ask HN: Why is programming editing text?
#54If you know of ones that are high quality please point me in the right direction.
Re: Ask HN: Why is programming editing text?
#55I find it interesting (and somewhat unexpected) that even digital hardware , while consisting of discrete elements, blocks, etc. that can be easily visualized, is still "defined" using pure-text "hardware definition languages."
Re: Ask HN: Why is programming editing text?
#56> So why do we bother with all that coding style stuff... Great minds discuss paradigms. Mediocre minds discuss languages. Small minds discuss coding style. > ...we could make an IDE that edits the program itself instead of text? Many IDEs have features that reach into the semantics of the code to allow for refactoring, autocompletion, and so on. This requires a language that is amenable to to such analysis. Dynamic…
And for some reason almost no minds discuss semantics.
Re: Ask HN: Why is programming editing text?
#57It is heresy to say, but of course writing programs primarily as simple text files is ridiculous. It’s also ridiculous that we write web pages in HTML etc rather than using elegant WYSIWYG editors, and that we use LaTeX for designing visual artefacts.
It’s probably possible to explain “why” we got here, but not “why” it’s a good idea, because it isn’t.
I put it down to culture. Programmers are strongly opinionated and resistant to change (eg blub). We’re historically been selected from a narrow and strange demographic. Which is why few people agree with what seems obvious to an outsider, and why we don’t fix it.
Imagine if engineers built bridges or engines or satellites by writing XML rather than using CAD tools and modelling suites.
I seem to recall nice ideas around Smalltalk’s editor. It should be possibly to have a hybrid approach that can gradually transform programming from text editor into a mixture of maths and high level engineering design.
Re: Ask HN: Why is programming editing text?
#58Your premise is incorrect. If all we cared about was the compiler's output, our programs would look like 100010101011000011101010. Programming involves logic. In humans, logic evolved through use of language and, later, written language. Please please please follow whatever style guide is handed to you. I am so sick of looking at gobbledygook code.
You might get either absolute refusal or slow subversion from me there. In my current place of work I was initially handed the utmost horror of horrors of style guides, namely the so-called google style guide. A thing that is optimized to result in code as unreadable as possible. Rebelling against that worked pretty well, so now the thing is gone. And, honestly, if I am ever going to apply for a job and hear that they use the google style guide I am not going to work in that place. I don't follow style guides. Style guides follow me. Currently planning the next rebellion as the utterly evil practice of demanding that every method shall be commented has emerged from whatever wretched place such things emerge.
Re: Ask HN: Why is programming editing text?
#59> Is there such an IDE? IntelliJ Idea isn't exactly it, but it has many of the features you want (most comprehensively/maturely for Java, but to greater or lesser extents for Python, Go, Rust, Typescript, etc). I find using it feels less like editing text, and more like constructing a program at a conceptual level, than in any other environment I've used professionally. > declare a function You can use a function/met…
It’s interesting to see some people preferring other ides/editors than intellij. For instance, vscode is exceptional, but I still far prefer webstorm because it has so many great features.
VS Code doesn't come close in these terms - editing in it is still 'editing text'. But Microsoft has been very canny with the combination of WSL2 & the VS Code remote extension - allowing essentially a true linux programming environment accessed via Windows GUI. That even tempts me, and I'm a fairly diehard Intellij user.
Re: Ask HN: Why is programming editing text?
#60On a different note, Lisp would lend itself well to what you seek. While most Lisp/Scheme programming happens in a text editor, Lisp is inherently syntax-agnostic; sure, s-expressions are the most typical, but once upon a time there were M-expressions[1], and Scheme has support for alternative syntaxes[2]. Projects like Scheme Bricks[3] take this even further into visual representation.
[1]: https://en.wikipedia.org/wiki/M-expression
[2]: https://srfi.schemers.org/srfi-119/srfi-119.html
[3]: http://www.pawfal.org/dave/index.cgi?Projects/Scheme%20Brick...