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