Main image of article Programming Languages: Which Should You Learn First?
Let’s say you’re a CS student, or just someone interested in breaking into software development. What should you choose as your first programming language? According to a new study by Codementor, you definitely shouldn’t select an esoteric one: It ranked Elm, CoffeeScript, Erlang, and Lua as the “worst” programming languages to learn in 2019, based on factors such as growth and potential job market. In fifth place, it named Perl, an older and somewhat-popular language—although also one arguably past its prime. Known affectionately by some developers as the “Swiss Army Chainsaw,” Perl was used to build popular sites of yesteryear such as Slashdot, although many tech pros will argue for the use of pretty much any other programming language in its place. “Perl’s growth is currently on a decline,” Codementor insisted in a blog posting accompanying its rankings. “While its trajectory was pretty flat from 2013 to 2018, searches for Perl decreased between 2018 and 2019. Like C#, which came out around the same time, Perl’s search volume decreased in the last year.” But here’s the thing: Your typical CS student or newbie programmer almost certainly isn’t starting with a smaller language like Elm or CoffeeScript; they’re going to gravitate toward a popular language such as JavaScript, Python, or Java. CS instructors, meanwhile, are all about introducing students to the languages that actually power huge swaths of the Web, enterprise infrastructure, and popular consumer devices. Once students begin to specialize, then they can focus on languages with a narrower use-case, such as Kotlin for Android app development. Or if you’re a data scientist or analyst, you’ll probably want to learn (or at least become familiar with) R, which has become a go-to language for statistics and analytics; that’s in addition to Python, which is also evolving as a language of choice for many data-analyzing tech pros. If you want to go where the jobs are, consider the “big” languages; don’t worry about the smaller ones until you have a firm grasp of fundamentals.