How does a software engineer choose which programming language to learn? Normally, IT-guys simply look at the market and check how many jobs there are available, just to be sure he or she is valuable for employers. We all know that the “hottest” programming languages recently included JavaScript, Java, C#, Python and TypeScript. 


Nevertheless, you might be wondering, what is the least popular programming language, still in actual use, and why should I even care? Ignoring the awkward prototype OOP elements of JavaScript, programming languages are more or less copies of each other, without a great semantical difference. Sure, there are a few exceptions worth mentioning, like SQL and F#, but almost all the popular programming languages are more or less copycats.  




This is where the big question arises: how do I know I'm doing the right thing, if I've never tried something else? Just imagine a whole world acknowledges beer as the only liquid that matters, and people are drinking it as a substitute for water. How would you know the positive effects of drinking water? Or apple juice? You wouldn´t, simply because you're in mainstream, drinking what everyone else is drinking. 


Let´s assume that overtime your critical thinking decreases and you end up with a firm belief, that drinking beer as much as possible is a way to go, and everything else is a nonsense. Doesn’t look good, right? Moreover, who said the most popular thing is such a great thing? (Is everyone thinking of Java Script now?) 

The more you try something different, the fuller your picture gets. You start seeing all the drawbacks and benefits of it, becoming a better JavaScript programmer as a result.  




So, how about simultaneously learning two languages that are conceptually the furthest away from each other? Why? Because it lets you see both programming languages' strengths and weaknesses objectively. Examples include:  


  1. C++ and SQL 
  2. Lisp and Java 
  3. C# and SmallTalk 


Quite a challenge, right? Another strategy is learning  




There are thousands of programming languages, some of which are quite exotic. But most developers end up learning only a couple of the most common ones that are currently hyped by the industry. We would suggest that learning a new language, perhaps even a lesser known one, can be a lot of fun and definitely worth your efforts and time. Yes, it might not be a proper choice for a serious production, but it will definitely widen your mindset and make you a better programmer along the way. 



VBA has some clear goals – automating repetitive tasks, tidying up tables, arranging records, etc. However, it has been noticed that the VBA code doesn’t work properly with older or future Excel versions. 


Objective C 

Quite an easy language to learn, yet a lot of devs seem to diss it for a number of reasons – lacking method visibility, class name-spacing, and proper importing system. 



Being a bridge between software and hardware, it is not an easy language to learn. Not as long as you have a deeper system architecture knowledge, though. In this case at the most fundamental level, you can work with it at ease. But, obtaining a strong command of this language is a tough candy. 



Another tough language to learn.  Serving a wide range of applications prototyping, large-scale projects, text control, system administration, web development, and network programming, it is still widely neglected. Obviously, its complexity is a dealbreaker.  


One of the oldest programming languages. Many others came in later than C, outshining it with series of features.  




So, it's not difficult to notice us suggesting that learning non-popular programming languages is good. Why? Because it simply makes you a better programmer. With the philosophy of getting the full picture, let's move on to the least popular programming languages (yet still in actual use). At least it will quickly allow us to detect stuff like Lily and BrainF*ck, that are known to create more problems than they solve.