I think that one of the things that they neglect to mention, on why we invent new languages, and it's probably the most important thing - people want new ways to express concepts. It's super important because those concepts get measured, and absorbed into existing languages (as best they can), but that wouldn't have happened without the new languages New concepts like Rust's "ownership model", Smalltalk's "Object Ori…
While those languages made the concepts mainstream, they weren't the ones coming up with them. Rust's "ownership model", is a simplification of Cyclone, AT&T's research on a better C, based on mix of affine and linear type systems. https://en.wikipedia.org/wiki/Cyclone_(programming_language) Haskell's "Lazy evaluation" was present in Miranda, before all related researchers came up with Haskell as common playground. h…
Why study programming languages (2022)
51–60 of 118 posts
Re: Why study programming languages (2022)
#52Once you understand a thing, you know what it’s capable of. A lot of my early expertise in performance analysis was heavily informed by my SIGPLAN membership. Many of the improvements showing up in compilers and interpreters would show up in some form there, and of course those developers were either involved in the papers or had access to the same research. So when some new version came out with a big explanation of…
Did you.... just quote Blade? :-)
Re: Why study programming languages (2022)
#53Programming languages are obsolete in the LLM era. What current generation AI has revealed is that English is actually the ultimate representation of computer programs and systems, which is both sufficiently terse and precise to economically describe the operation of arbitrarily complex programs. There is no reason to study programming languages in 2025, other than as a historical curiosity - the same way one may stu…
Re: Why study programming languages (2022)
#54> Usability is similarly ill-defined and hard to measure. Human factors are very well studied and standardized, and there is a well-established discipline called "Human Factors Engineering", which also provides established test and evaluation methods. Human Factors research is considered solid and well-established because it has been built on rigorous experimental psychology and engineering principles developed over…
Apart from ADA, what are languages / stacks with most aspects of "Human Factors Engineering" considered?
Also Alan Kay and the Xerox PARC team designed Smalltalk (as Papert did before with Logo) with profound human-centered considerations, and they even "tested" their early concepts with children.
Also some other languages explicitly state human-centered design goals (e.g. Python, Eiffel), but as with Pascal or Ada the approach was more based on expert judgment, formal analysis, and established principles, not practical studies.
Re: Why study programming languages (2022)
#55> Usability is similarly ill-defined and hard to measure. Human factors are very well studied and standardized, and there is a well-established discipline called "Human Factors Engineering", which also provides established test and evaluation methods. Human Factors research is considered solid and well-established because it has been built on rigorous experimental psychology and engineering principles developed over…
Apart from ADA, what are languages / stacks with most aspects of "Human Factors Engineering" considered?
They may not have used standards such as the gp comment mentions, but they definitely considered human factors a lot.
E.g. TIMTOWTDI - There Is More Than One Way To Do It.
But that's not the only area in which they applied it.
Re: Why study programming languages (2022)
#56The main answer is that we have only a limited ability to modernize existing programming languages. For example, most languages are not null safe, because most languages are old and we can't make them null safe without breaking backward compatibility with most existing code. And we can't break backward compatibility for practical reasons. So Java will never be null safe, PHP will never be strongly or statically typed, etc.
So for fundamental language features, replacing older languages is the only way to achieve progress. Unfortunately that's a very slow process. Python, the currently most popular language, is already over 30 years old.
Re: Why study programming languages (2022)
#57Re: Why study programming languages (2022)
#58Earlier quoted context omitted.
Apart from ADA, what are languages / stacks with most aspects of "Human Factors Engineering" considered?
Perl is one obvious one, as anyone will realize, if one has read some of Larry Wall's articles about his (and later the team's) motivations for the (syntax and semantics) design decisions they made about the language. For example, in his annual State of The Onion talks, he often discusses these points. They may not have used standards such as the gp comment mentions, but they definitely considered human factors a lot…
Re: Why study programming languages (2022)
#59Earlier quoted context omitted.
While those languages made the concepts mainstream, they weren't the ones coming up with them. Rust's "ownership model", is a simplification of Cyclone, AT&T's research on a better C, based on mix of affine and linear type systems. https://en.wikipedia.org/wiki/Cyclone_(programming_language) Haskell's "Lazy evaluation" was present in Miranda, before all related researchers came up with Haskell as common playground. h…
Cyclone was indeed a very interesting language. It's always surprising what ultimately prevails.
Re: Why study programming languages (2022)
#60So to me the study languages was interesting from this DSL perspective.