Re:Minimalism in programming language design
by carapace on Tuesday May 24, 2022 @11:24AM
(#31493319)
I don't think she's presenting the "maximalist design approach" as a good thing, eh?
> The quoted paragraph seems like a caricature of the design process of a langauge. (sic)
It sounds like what's happening e.g. Python or JavaScript, the "design process" seems to be to add features, and then add features to your features so you can program while you program.
Re:Minimalism in programming language design
by avgcorrection on Tuesday May 24, 2022 @11:37AM
(#31493501)
> I don't think she's presenting the "maximalist design approach" as a good thing, eh?
The article is predicated on the assumption that this maximalist design is popular. But I have argued that it isn’t.
A polemic needs an adversary. If not then it’s not a polemic and instead just a feel-good article about what most people agree on to begin with. Programming languages should be simple? And certainly not go out of its way to be complicated? Hmm, yes. yawn.
Re:Minimalism in programming language design
by carapace on Tuesday May 24, 2022 @04:00PM
(#31496872)
Ah, I see. You're objecting to the "Most modern programming languages" part, eh? It would be interesting to investigate the subject more deeply. Like I said, I was thinking of Python and JavaScript, but you're right, there are lots of modern languages now, and many are very carefully designed (e.g. Elm.)
Not my impression at all. The author presents the design process itself as coming up with a list of features. What is much more sought after is to latch onto some of the following principles:
1. Turtles all the way down
2. Everything is an X
3. Uniformly treating [traditionaly different] things as "the same", like collapsing the value and type levels or letting you run code both at runtime and compile time
You then try to implement the features that you need with one of the above starting points. For example, Zig apparently implements generics using number 3 (compile time code).
In fact, the pinnacle of PL design to some people is to have very little in the way of built-in features and then let the users themselves implement whatever it is they need. Which I guess the Lisp family is the best at.
The quoted paragraph seems like a caricature of the design process of a langauge. She says that this line of thinking "is simplistic". Indeed it is—non-believably so.