If you divide programming languages by popularity, they are divided into three echelons. The first tier includes mainstream languages such as Java, JavaScript, Python, Ruby, PHP, C #, C ++ and Objective-C. Although some of the leading languages may fade , you better know one or more of them if you want to be able to easily find a job.
Second-tier languages are trying to get into the mainstream, but have not yet achieved this. They have proven their worth by creating strong communities, but they are still not used by most conservative IT companies. Scala, Go, Swift, Clojure and Haskell are languages that I would relate to the second tier. Some companies use these languages for individual services, but they are rarely used widely (with the exception of Swift, which begins to overtake Objective-C as the main language for iOS). Go and Swift have a good chance of moving from the second tier to the first over the next two to three years.
Most languages in the first tier are firmly rooted in their positions. Therefore, the loss of the language from the leading positions takes considerable time, and for the second-tier language it is very difficult to get into the first.
Promising languages from this article belong to the third tier, and they are just starting their way up. Some languages reside in the third echelon for many years, without gaining popularity, while others rush into the scene in just a couple of years. As, for example, languages about which the speech in article will go.
The five programming languages that will be discussed are quite new (it is possible that you will hear about some one for the first time), and they clearly have excellent chances to break into the second echelon in the next 2-3 years. Maybe someday one of these languages will be able to press the languages of the first echelon.
That is why these five languages were chosen for this list:
Elm is gaining popularity in the JavaScript community, primarily among those who prefer functional programming, which is on the rise . Like TypeScript or Dart, Elm is transpiled into JavaScript.
Rust is a system programming language intended primarily for niches where C and C ++ are used. It is therefore surprising to see that the popularity of this language is growing rapidly among web developers. This fact becomes more meaningful when you find out that the language was created in Mozilla, which wanted to give the best option to web developers who are forced to write low-level code, and more productive than PHP, Ruby, Python or JavaScript. Rust was also recognized as the best in the “very favorite technology” nomination according to the results of a developer survey conducted by StackOverflow in 2016 (this means that most users would like to continue using this language).
Kotlin has been around for about five years, but only this year it has reached production-ready version 1.0. Despite the fact that he has not yet reached the popularity of Scala, Groovy or Clojure - the three most popular and mature (not counting Java) languages under the JVM - it stands out from many other JVM languages and seems ready to take its place among the leaders of this group . The language originated in JetBrains (the creator of the popular IntelliJ IDEA IDE). So he thought out with a focus on developer productivity .
Crystal is another language that hopes to bring the performance of C-level programs to the high-level world of web developers. Crystal targets the Ruby community because its syntax is similar, and at times identical, to Ruby. The already large number of Ruby startups continues to grow, and Crystal can play a key role in helping to raise the performance of these applications to the next level .
Elixir also drew inspiration from the Ruby ecosystem, but instead of trying to bring C-like benefits, it focuses on creating highly accessible, responsive systems , i.e. on what Rails is having trouble with critics . Elixir achieves these advantages with the help of Erlang VM, which has a solid reputation based on 25 years of successful use in the telecommunications industry. Phoenix (a web framework for Elixir), along with a large and flourishing ecosystem, gives this language additional appeal.
Now take a look at how four of these five languages climb the ladder of popularity (based on StackOverflow and GitHub data):
Each of these languages boasts an enthusiastic community and its own weekly newsletter. If you are considering learning a young language with exciting opportunities for the future, read brief presentations for each of these five languages, written by experienced enthusiasts and leaders of the relevant ecosystems.
Elm is a functional programming language focused on usability that is compiled into high-performance JavaScript code. You can use it, including with JavaScript, to create user interfaces on the Internet. The main advantages of Elm compared to JavaScript are reliability, ease of support and focus on the pleasure of programming. More specific:
elm-package
. API , , elm-package
. .elm-format
. . “” . elm-test
“” , . elm-css
Elm-, css-, , , .Elm JavaScript. JS , JS .
guide.elm-lang.org, , Elm in Action How to Use Elm at Work, , Elm .
Richard Feldman — Elm in Action elm-css
, CSS- Elm.
Rust , C , .
, The Rust Book Rust by Example.
Will Crichton — , , . Rust .
Kotlin , JVM JavaScript. Kotlin JetBrains, ( Java). -, , - Java. , , Kotlin.
Kotlin — , , . , :
html {
head {
title {+"XML encoding with Kotlin"}
}
body {
p { + "This is some HTML" }
}
}
Kotlin 1.0 2016 , . JetBrains Kotlin. , Amex, NBC Digital, Expedia Gradle.
Hadi Hariri — - JetBrains, Kotlin , .
Crystal “ C, Ruby."
, , , - .
spawn
/.crystal
: crystal
. , , . . crystal play
, irb
.:
: , . Ruby, Crystal . , .
Crystal Book Crystal for Rubyists.
Serdar Doğruyol — Crystal for Rubyists, Kemal, - Crystal, Crystal Weekly.
2012 , Elixir , , . , -, Erlang (BEAM). Erlang VM , 25 .
Elixir - Cowboy ( HTTP-), Phoenix ( -). , Elixir Nerves.
Elixir Ruby. , , Ruby. , .
Phoenix-, Elixir
Elixir Phoenix , - API , . Pinterest, Bleacher Reports Elixir . ( ), .
Christian Nelson — Carbon Five.
P.S. Top-5 ?
P.P.S. : Nim. - , ( , ).
, , — , .
Source: https://habr.com/ru/post/310252/
All Articles