Cinq langages de programmation prometteurs avec un bel avenir (3 ans plus tard)

KDPV


En 2016, j'ai publié une traduction d'un article sur 5 langages de programmation prometteurs , dans lesquels leur croissance était prévue dans les 2-3 prochaines années.
Souvent, les prévisions restent des prévisions sans autre analyse. Mais j'ai décidé que c'était un gâchis. Et comme 3 ans se sont déjà écoulés, il est temps de prendre des résultats intermédiaires et de voir ce qui est arrivé à ces langues pendant cette période.


Cependant, avant de passer à nos cinq héros, je voudrais faire un peu attention à la transition de Swift and Go du deuxième échelon au premier échelon prévu dans le même article.


sur les trains

Dans l'article original, les langages de programmation sont conditionnellement divisés en 3 échelons de popularité.
Le premier échelon comprend les langages traditionnels tels que Java, JavaScript, Python, Ruby, C #, etc.
Les langues du deuxième échelon tentent de pénétrer dans le courant dominant, mais n'y sont pas encore parvenues. Ils ont fait leurs preuves en créant des communautés solides, mais ils ne sont toujours pas utilisés par la plupart des sociétés informatiques conservatrices. La plupart des langues du premier échelon sont fermement ancrées dans leurs positions. Par conséquent, la perte de la langue d'une position de leader prend du temps tangible et pour une langue de deuxième niveau, il est très difficile de pénétrer dans la première.
Le troisième niveau comprend les langues impopulaires, ainsi que des langues prometteuses relativement nouvelles (qui seront discutées), qui ne font que commencer. Certaines langues restent au troisième niveau pendant de nombreuses années sans gagner en popularité, tandis que d'autres éclatent sur la scène en quelques années seulement.


Ces deux langues ont certainement renforcé leur position. Swift de la version 3.0 a réussi à atteindre 5,0 et a finalement promis la stabilité d'ABI. En d'autres termes, Apple ne prévoit plus d'ennuyer les programmeurs Swift en changeant constamment les signatures de méthode, etc. En outre, Swift a complètement remplacé Objective-C, le dépassant dans la nouvelle note RedMonk et en augmentant de 6 positions par rapport à la note d'il y a 3 ans . Évidemment, la tendance va se poursuivre, on peut donc dire que Swift a pris sa place au premier échelon.


Quant à Go, il a décalé d'une position dans la note (de la 15e à la 16e place), est passé de la version 1.7 à 1.13, et est en train de repenser globalement la gestion des erreurs et la présence de génériques dans la langue - problèmes qui a causé le plus de plaintes au cours des 12 années de son existence. En général, Go évolue lentement, le nombre de projets qui l'utilisent dans la production augmente, mais il est trop tôt pour parler de passer au premier échelon.


En plus de Swift and Go, il convient de noter TypeScript qui, pendant 3 ans, a fait une percée extraordinaire en passant du 26e au 10e rang. Si vous développez une interface, mais que vous ne vous êtes toujours pas familiarisé avec cette langue, le moment est venu. Déjà incontournable.


Et maintenant la fanfare et la partie principale - nos cinq langues, qui ont prophétisé la transition du 3e échelon au 2e. Qu'est-ce qui a changé pour eux au cours de ces 3 années?!


Pour commencer, un tableau récapitulatif sur l'activité OpenSource quantitative sur Github:


RouilleElixirKotlinOrmeCristal
ReposLes utilisateursReposLes utilisateursReposLes utilisateursReposLes utilisateursReposLes utilisateurs
2016514619352668861960154143319415052
20192370013500168004000243002640053009941200469
Croissance4.6x7x6.3x4.6x25x17x12x5.1x8x9x

* Github n'affiche plus les nombres exacts au-dessus de 1000, mais seulement une estimation ci-dessous, j'ai donc fait une douzaine de requêtes pour chaque langue et arrondi le plus grand résultat à des centaines.


Il est clair que plus la position de la langue était modeste il y a 3 ans, plus il est facile de montrer une croissance multiple. Néanmoins, Rust et Elixir, les leaders de nos cinq en termes de nombre de référentiels en 2016, ont fait un excellent travail dans cette tâche. Cependant, Kotlin a montré le résultat le plus remarquable, affichant une croissance vraiment explosive. Nous parlerons des raisons ci-dessous, mais pour l'instant, voyons quel chemin ces langues ont emprunté le long des escaliers RedMonk:


Statistiques RedMonk 2016


Statistiques de Redmonk 2019


Pour évaluer la progression des langues selon le planning, j'ai pris leurs coordonnées et calculé le delta:


((x2 - x1) + (y2 - y1)) / 2

:


Kotlin:  +41%
Rust:    +20%
Elixir:  +20%
Elm:     +18%
Crystal: +32% # - ,  3        

, ( ). , , StackOverflow. , , Discourse, , StackOverflow.


, 5 . ? Top , .


5- : Elm


, Elm . -, 3 2 , — 0.19 , . , . ( ) 2 , roadmap . , Elm . , - Elm c . .


, dimsmol, fshp hellosandrik PureScript, Elm. 1.0, . Haskell .


4- : Crystal


3 Crystal RedMonk, Top-100 . 0.19 0.30. , , . , 1.0 2017 .


, Windows. . 1.0. Crystal — , Ruby . Ruby Windows 10 . , , Windows Crystal, . , , . 1.0 — .


, Crystal , .. , Ruby Python Elixir Go. Crystal , . , .. Crystal Elixir, Go , , Ruby nil reference.


2-* : Rust


Rust 6 . , 3 1.11 1.37. , , . , , , , 3 . , . Core Team , 2019- — . , , ( , master) . IDE Rust Language Server, WebAssembly GUI-.


, Rust , . , high-performance . , Rust, , . , Haskell ("avoid success at all costs"). , — , , : Rust 1- The Most Loved Languages StackOverflow .


* , 2 :-)


2- : Elixir


Rust , Elixir, 3 1.3 1.9, . . 2 , Elixir :


-, Elixir Erlang/OTP, Ericsson OTP Team . Elixir Team 3 .


-, Elixir . , , . , . ( Elixir) Broadway — , .


, Elixir , , , , . , Erlang, Elixir, . , Elixir , “Adopting Elixir”. , .


1- : Kotlin


— Kotlin. 3 3- 1-, Java Android. Kotlin, 2017 Android. , , Android Studio 3.0. , Android , 4 Google Kotlin Android. , Google Oracle Java, , , JetBrains . , Java , , Java . !


, JetBrains Kotlin Native, Kotlin .


RedMonk, 20- , , Kotlin Java-, . , Java, Android-. , 3 Java , Kotlin , Swift Objective-C.



, . Elm Crystal , 3 . Kotlin Google , Rust Elixir production-ready . , … - Elixir Rust, - , - ( 11 . ), 2- . .
, . 2 : (Rust) (Elixir).


P.S. 3 Top ?

Source: https://habr.com/ru/post/fr467207/


All Articles