This raises the question "Why are we still programming in monospace fonts?" If you need a table or an image in a program, why can't it be in the code?
This raises the question "Why are we still programming in monospace fonts?" If you need a table or an image in a program, why can't it be in the code?
The lines within a method need to be ordered, but beyond that, code should just float to where it's convenient and be hypertext-y. And worrying about whitespace and fitting code on a fixed-length line is pointless.
I don't have the answers to how programs should be written, but the current system just seems wrong, locked into decisions made decades ago. It seems like programming is stuck at a local maximum.
Same reasons books are structured as sequential lines: easier to read for humans.
And the reason why source code is still heavily text based and why introducing more WYSIWIG to it would be disastrous is that all the peripheral tooling would become a nightmare (diffs, code reviews, source control, etc...).
One would naturally wonder how Alto/Mesa managed to have all these features, and the answer is simple: it is effectively a closed proprietary ecosystem, developed by one company with plenty of engineering effort, and with little consideration for interchange with other systems. It also had far more processing power than personal computers of the time.
I don't have the answers to how programs should be written, but the current system just seems wrong, locked into decisions made decades ago. It seems like programming is stuck at a local maximum.
Never underestimate the importance of simplicity and a low "barrier to entry" --- in fact, I'd consider the lack of success of much larger, "fancier", more complex systems like the Alto as a strong evidence that, regardless of how fancy, featureful, and radical your system is, unless it has a low barrier to entry and interoperates with existing ones, it will not endure the test of time.
Working on .NET, Android or Mac OS X/iOS is a much closer experience to working with Alto and Star environments, or even ETHZ Oberon derivatives.
While ST80 has standard textual source code format, it's not something you want to write by hand but essentially an semi-convenient serialization format (with slightly hackish implementation).
http://www.codersnotes.com/notes/a-constructive-look-at-temp...
Because we want to quickly see patterns in the code, and all characters being the same width helps with that.
>If you need a table or an image in a program, why can't it be in the code?
Because we've found that while nice for casual stuff, it's less flexible than when it's outside.
There's a book https://www.amazon.com/Human-Factors-Typography-Readable-Pro... on typography for more readable programs.
Aside from that, I like having nicely-aligned tables in my code, and it's sometimes useful to align conditional statements across lines. Monospaced fonts just fit into my workflow a little bit better.