Having in mind this topic:
https://elixirforum.com/t/7th-worst-language-to-learn-in-2019/21661?u=eiji
I started to think what are the most important things which allows calling specific programming language “good”.
For me there are lots of things:
-
Syntax
Some people could not be sure about this point, but after mentioning really exotic ideas like Whitespace language everything is changing. It’s definitely not a good time forAssembler
and generally low level languages. Everyday life from day to day is faster and faster and if there is no really important use case then there is no time for some type of things. Fast developing, fast consumption and heart attack at end. -
Code readability
Related to first except that there is no need to have source code with only whitespaces to make code not readable. Of course lots of cases depends on developer, but language which does not helps in code readability at all have a big con for me. Please notice how importantElixir
pipes|>
are. You can find them almost everywhere. Also look that whileBash
has also pipe support|
there is still lots of other places to improve like associative arrays syntax. -
Modern programming
X
server is of course not a programming language, but it’s perfect example. It was designed 35 years ago and it’s really problematic for today’s use cases. Therefore it’s slowly going to be replaced byWayland
(lots of distribution already made it default). It looks really similar in programming languages except one case …
Of course some old, but popular languages would still be used as forbusiness
one of important things isLTS
(long term support) releasing. Some apps would not be so easily replaced in just few days. In contrast tobusiness
,market
hates stagnancy.
As soon as some solutions would be well tested and would be considered as stable lots of people would give them a try. I believe thatElixir
already passed the test of its first time i.e. since1.0.0
version was released. I can see on my own case how much more offers are coming (even if you are already employed).
Elixir
have really lots of pros here which were already well described on forum. Simply instead of solving some old problems it’s focusing on current problems which actuallyRuby
-like languages have right now. Of course it’s based onErlang
which is not a new language, but look how much it’s usage were increased in years.Erlang
were ahead of its time, because really specific part ofmarket
requires something which now is really desirable in much more places than originally. -
Number of
remote
job offers
Language without enough job offers as well as without enough big community would not survive really long. Of course even in really less popular languages you would always find some job offers, but most of them would beonsite
and really often you would need to take costs of relocation. On the other side big amount of openremote
job offers says that there is a real interest in specific language and it’s not going to be forgotten bymarket
in just “few days”. -
Community
Programming is like endless cooperative game. Sure with enough experience you can find a workaround and rush alone, but it’s really bad practice. Working with team in which you can trust each other makes in our case a huge difference. -
Regular good updates
Elixir
is the first language I just can’t wait for next release! I’m really often taking a look atGitHub
issues, milestones and pull requests. Every new release gives something interesting and many new discussions/proposals are really awesome ideas which I would like to see inElixir
ASAP. -
“Fake reports” (especially based on unfair statistics)
If somebody tries to cut off reaches not by mistake then taking a look on “censored” things could be actually at least interesting for some people. Is somebody worried thatJavaScript
is going to die sooner or later? That’s just awesome conspiracy theory!
and many more …
Those are only examples and really generic rules. I found lots of awesome pros in Elixir
, but describing everyone would take for me probably few days.