>There is no reason that indentation levels couldn't be automatically displayed based on the parenthesis data
Yeah, but nobody does that and even Apple and other huge companies have created horrible security bugs because they extended a branch of an "if" statement to two statements without adding the parens around the two statements that one would need then. Huh.
Yes, but automatic indentation in the editor would have automatically highlighted the mistake, and the programmer could have fixed it immediately. Why are computer programmers such luddites? We try to fix other people's problems with technology, but insist that our jobs should be carried out using 1970s technology.
Meanwhile, you can just have the indentation signify blocks which is how every human alive understands it anyhow and which require no special editor support and no weird manual fixes by the person editing it.
Humans may not vary much, but computer screens do. Consider that the whole point of things like HTML is to abstract out formatting in order to allow the same content to be rendered on various devices, including print.
I really think it's time we started getting smarter with our coding environments. Customisable display doesn't just mean indentation levels. Maybe you want to see an argument list in one line:
result = functioncall (size=1, number=2, somethingelse=3)
but maybe I want to see it tabulated, with the arguments lined up on individual lines, and both the parameter names and values lined up in two columns. Or maybe just the arguments on different lines, but within setting up columns.
These sorts of differences exist today as "programming style", even in Python (indentation is meaningless in continuation lines in Python). But because the style (rendering) is an integral part of the source code, the programmer is forced to adapt to the chosen style of the team, project or company they work with. This is inefficient and distracts the programmer from the main goal: writing the code.
I'm more efficient when the information is laid out in the way that I find clearest.
But even that may change with time and with what job I'm doing. Maybe I want to be able to "unfold" a single line into a tabulated form for closer examination, or "fold" a tabulated form into a single line to get the "bigger picture" of the code.
But what I shouldn't have to think about is how anyone else is going to see the source code.