Worst ideas/features in programming languages?

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Sun Oct 24 15:19:30 UTC 2021

On Sunday, 24 October 2021 at 13:59:42 UTC, SealabJaster wrote:
> Languages like Java, C#, probably C++, JS/TS, etc. are all 
> large enough and mainstream enough that there are programmers 
> who only know those singular languages to a decent degree.

Yes, and all those really grow out of C++ (except JavaScript that 
is closer to Self IIRC) both in terms of syntax and semantics. So 
that is in essence captures what "programming" is to most 
programmers, I would think.

> Meanwhile there are the more comparatively fringe languages 
> like D, Nim, I guess Rust, and so on, that likely consist of 
> so-called polyglot programmers - those that are proficient in 
> multiple languages.
> It's hard to express my thoughts, but I wonder what affect this 
> has on these fringe languages in general, compared to the more 
> mainstream ones.

That is an interesting perspective. I think D and Nim might have 
roughly two types of programmers: those that do programming on 
multiple projects and are polyglot, and those that use the 
language as a tool in some other process (including hobbyists) 
and who focus on one language.

Then you have those that would want a niche language that is 
really good at one task, like a very efficient tool for something 
specific. On the other hand you have those that want one language 
that covers everything (but then you have to sacrifice being 
really good at something specific).

And that is where niche languages are struggling, for a polyglot 
programmer it is much easier to defend adopting 
yet-another-language if it is a very narrow specialty tool (e.g. 
the best option for DSP, 3D or something like that). Yet polyglot 
programmers might have much stronger opinions on what features 
the language lacks also (in comparison to other languages).

As a result the process might be a bit self-defeating. The 
polyglots might push the language to be less attractive for 
polyglot programmers looking for the best narrow tool for a task. 
And the non-polyglot programmers don't really have a lot of 
reason to push back on adding more features that makes the 
language cover more ground for them (as they haven't seen the 
consequences in other languages).

I think Rust is a bit different. It plays up to "erudite 
programmers" by giving a sense of being "theory-based" and 
"academic", and the syntax is reminiscent of more academic 
languages. I perceive the "marketing surface" of Rust and Haskell 
to have some common traits, but Rust is easier to deal with for 
most programmers in a commercial setting. (I am not saying that 
Rust is academic in nature, only that it is positioned as being 
more academic than other languages.)

More information about the Digitalmars-d mailing list