News for hackers. Stuff that matters.
Re:Minimalism in programming language design by avgcorrection on Tuesday May 24, 2022 @10:57AM (#31492953)
> Designing a programming language to be intentionally minimalistic is an idea that’s highly underrated in my opinion. Most modern programming languages adopt much more of a maximalist design approach. Rapidly adding new features is seen as a competitive edge over other programming languages. The general thinking seems to be that if your language doesn’t have feature X, then people will choose to use another language, or that adding more features is an easy way to show progress. This line of thinking is simplistic, and disregards many other key aspects that are necessary for a programming language to succeed and thrive, such as learnability, stability, tool support and performance.

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.

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.)