The IT field observes a massive increase in new tools, languages, and solutions each year. It's hard to keep up with all the updates and recent technology even if you're an experienced developer. As such, it’s no wonder that beginners often feel a bit lost when entering the industry. They may deliberate over where to start or what to learn in the first place. An old programming language or a current trend in technology?
Living in the future
We live in a time when technology is involved in more and more aspects of our lives. We have smart houses, chatbots, virtual currencies, etc. New domains of science and technology are emerging almost every day. It also concerns the IT field; in recent years, we could all observe the beginning of many new areas, including but not limited to machine learning, blockchain, Internet of Things (IoT), as well as the growing popularity of others, like data science or data analysis.
New programming languages, frameworks, or tools are being created every day. Some of them gain instant popularity, while others have been building their appeal for years. Some disappear within a few years, while some stay popular for decades. Why is it so?
The rise of R
Sometimes it's the emergence of a new professional field that triggers the rise of popularity or even the creation of new technical solutions. With the importance of data science and data analysis significantly growing, new technologies are being developed to meet the requirements of these new domains. What’s an example of this recent technology? Consider the R language. Learning R for data analysts is a current trend in technology.
The beginning of R dates back to the early 2000s, but its popularity skyrocketed a few years ago with the boom of data science, data analysis, and machine learning. What contributed to R’s popularity in these fields? Well, for starters, there is the extensive collection of libraries (more than 12K!) and numerous statistical and graphical methods. Furthermore, there are systems of packages for data manipulation and visualization that facilitate working effectively with R, such as tidyverse.
R is also recommended for beginners – it's a good language to start your data science adventure with. Sure, its learning curve may be longer than the one for Excel or PowerBI; however, its potential is much larger. R was created for crucial tasks in data science: data manipulation, data visualization and machine learning. The first two are the best to start with, and R provides certain packages to ease that process (i.e. dplyr for data manipulation). If you're entering the data science industry, try to focus on one programming language at the beginning; for example, you do need to master R basics before learning more complex languages like Python.
Another important feature of R is geared towards business professionals, who will most likely be the recipients of the analyses. You see, R is great for presenting results – you can create either a simple report or a professional web app (and one of its libraries, ggplot2, will help you create all kinds of charts).
R is currently the most widely used programming language for data science. The community around it (on Stack Overflow and GitHub) is growing rapidly and so is its popularity. It is a trusted tool within academic circles and in leading-edge companies like Google, Facebook, and Uber.
Three of the most popular JS frameworks used in the industry are React, Vue.js and Angular. The third one used to be on the top of that list for quite some time, but it was superseded by React. Why is that? Well, some say it was the fact that the entry threshold is lower for React, so even if you have never used any of these frameworks, it's likely that you'll start coding faster in React than in Angular. For clients under time pressure, this discrepancy can make a notable difference.
Another disadvantage of Angular is the lack of compatibility between the first version, called AngularJS, and versions 2–8, which are currently used.
Will they remain popular?
Some languages are gaining popularity very fast.One such example is that of Kotlin – a new programming language supported by Google to make Android developers' work easier and the applications safer and more reliable. Google's position also can't be overestimated here; after all, developing applications in an unsupported language could cause bugs or inconsistencies. As of now, it's hard to say whether Kotlin will get to the top of programming languages' popularity rankings, but we can assume that it’ll do fine, at the very least. Its popularity surge has certainly been impressive so far.
Another language that had an impressive start was Go (or Golang), which was developed by a team at Google (yes, Google factor again!). It's a cross-platform language and makes deploying an application very easy. These factors made it a popular choice for cloud development. As you might have guessed, simplifying things for developers is often a major advantage for a programming language.
Some time ago developers were disputing if Go would replace Python, but it seems nothing like that is likely to happen any time soon. According to RedMonk's rankings, Go's popularity also appears to have plateaued after around a decade of growth. Thus, it is very hard to predict which language will remain in the top 10 and which will lose popularity as these rankings depend on many rapidly changing factors.
On a different but related note, consider the story of COBOL (Common Business-Oriented Language), a programming language created in the late 1950s – the early age of computer science. You have probably never heard of it, right? Probably not, because it ranks fairly low in the Tiobe index, and many universities don’t teach it anymore. It is almost extinct; however, if a company has a system written in COBOL, then it would pay a fortune to hire a developer that can maintain it. The average age of COBOL programmer is 55 years, so in a few years, there will be none of them browsing the job market. A skill gap will occur so perhaps COBOL could rise from the dead!
How not to get lost
Are you new to the IT industry? Do you want to learn new technology but are unsure of what to choose? Recognize whether specific technology is stable or simply a passing fad?
First of all, you can check the rankings of the most popular programming languages, using something like the Tiobe index. If a language places on one of the leading positions for a few consecutive years, you can be sure it won't disappear easily from the market. Java is a good example – it's a leader in 2019, and since 2004, its average position was the first or the second.
You can also check the size of the community around particular technology – search the Internet for learning materials, forums, support groups, etc. Also, check the Stack Overflow questions and answers numbers – it'll give you an impression of how many other people are learning this technology or working with it on a daily basis.
The other way is to glance at the requirements listed in the job offers from the area you're interested in or are already working at but trying to acquire new skills. An often repeating technology can be a good candidate. But be cautious! Some companies may try to attract the candidates by including the names of hot technologies in their ads, even if they're not using them in everyday work.
No matter how long you have already spent in the IT industry, it's hard to keep up with every cutting-edge technology, every game-changing idea, every new framework. I would say it's impossible; the rate of change is simply too fast. But do you really need to know each and every one of the hottest inventions? Some of them will soon be forgotten; some of them are cool but don't even suit the project you're working on. The hard part is to overcome the fear of missing out, and focus on the technologies connected to your job.
Of course, you can never stop learning while in the IT field. However, be aware you can't learn everything and definitely not at once. Learning what you actually need to learn at this particular moment is crucial, especially in the beginning when it's really easy for your brain to end up suffering from a serious information overload. Keep learning! And keep being curious about new trends in the industry but also set some main goals for your career development and stay focused on them!