2 ms·
> Actually, that is a very good question and probably caused by the general immaturity of software engineering. Languages are not created in a planned, thought-
by msla 6y ago
> Actually, that is a very good question and probably caused by the general immaturity of software engineering. Languages are not created in a planned, thought-through manner. Instead they are designed by human beings.
> But what if they were, in fact, planned?
[snip good post]
There's also the Le Corbusier Problem: A language has to be livable in order to be used, and everyone's conception of livability is different, but few people desire to live in what could be defined as the logical minimum required.
Even mathematical notation is inconsistent and luxuriant sometimes; for example, we have sine, cosine, tangent, and so on, when we all know that complex exponentiation would suffice. That's a multitude of functions which are all non-orthogonal variations on a theme! What wastage! What profligacy! A truly austere system would have very few, if any, named functions.
But, of course, humans can't live like that, and few desire to try.
- pjc50 6y ago> the Le Corbusier Problem: A language has to be livable in order to be used Very good phrase, thank you. It sometimes feels like functional programming is the High Modernism of today, with the same issues. I've also tried to coin the "left handed scissors" analogy: not all developers are identical Promethean beings of pure intellect, they have different adaptation needs. The left-handed scissors are more convenient for left-handed people and less for right-handed people. Which ruins attempts to put all languages in a strict total ordering from "best" to "worst".
- msla 6y ago> It sometimes feels like functional programming is the High Modernism of today, with the same issues. I find it rather natural, myself; maybe that's because I spend so much time making pipelines in the shell. As I said, different languages fit into different minds.