11

The World's Least Popular Programming Language

 2 years ago
source link: https://dzone.com/articles/the-worlds-least-popular-programming-language
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

The World's Least Popular Programming Language

We all know which programming languages are the most popular in the world; JavaScript, Java and TypeScript being obvious candidates. But which is the LEAST popular?

Join the DZone community and get the full member experience.

Join For Free

A software engineer looking to learn something new will typically first check how many available jobs there are related to the subject at hand, simply to make sure he or she is valuable for future employers - And we all know that the most popular programming languages includes JavaScript, Java, C#, Python and TypeScript. However, what is the least popular programming language, still in actual use, and why should you even care?

Ignoring the funny prototype OOP parts of JavaScript, all of the above programming languages are more or less copies of each other, without much difference semantically. Sure, there are a few noteworthy exceptions, such as SQL and F#, but almost all programming languages at the top of the popularity index are more or less rip offs, copying and pasting features from each other. This creates a problem for you individually, and also for the world at large, which I refer to as local evolutionary optimums. The problem is best explained as follows ...

How can you know you're doing the right thing, if you have never tried something else?

Imagine a world where the only liquid that exists in mainstream usage is Coca Cola, and everybody is drinking it as a substitute for water. How would you know the benefits of drinking water? Or orange juice for that matter? You can't, simply because you're in "the middle of the road", choosing that which everybody else is choosing. Hence, your creativity suffers, and your ability to think differently decreases over time, to the point where you can only imagine the world through the lens of Coca Cola, and everything else becomes "stupid". Besides, who's to say the most popular thing is such a great thing? JavaScript is the by far most popular programming language in the world, and for everyone having done anything more complex than a simple hello world in it, it's fairly obvious the thing is 100% brain damaged.

If you tried something different for a while, you would have a more neutral perception of everything, which allowed you to see its weaknesses and its advantages, resulting in that you would arguably becomes a better JavaScript programmer. Every time people ask me what two programming languages they should learn I always answer; "The two that are the furthest away from each other conceptually." Why? Because it allows you to see both programming languages strengths and weaknesses neutrally, without gravitational lensing due to bias. Examples includes ...

  • C++ and SQL
  • Lisp and Java
  • C# and SmallTalk

Why? Because it makes you a better programmer. With the philosophy parts out of the picture, let's move on to the least popular programming in the world, by far, yet still in actual usage, allowing us to ignore programming languages such as Lily and BrainF*ck, that arguably creates more problems than they solve.

Hyperlambda

Ignoring the fact that Hyperlambda has the by far coolest name of any programming language in existence, up until a week ago, there was only one developer in the world actually using it; Me! And in fact, for 8 years, I was the sole software developer on the planet willing to use it. However, last week I trained 3 software developers in Hyperlambda, and a partner of mine is currently teaching it to 3 developers down in Durban. Hence, in 1 week, Hyperlambda has increased its numbers of users by 7 times :D

So why should you care? Well, for one, Hyperlambda is super weird. It doesn't have variables, no OOP, it's 100% functional, yet still not a "pure" functional programming language. In fact, Hyperlambda is arguably the equivalent of a Turing complete version of XML, XSLT and XPath, with a syntax resembling that of YAML. If C#, Java and C++ is the "middle of the road", Hyperlambda is the other side of the Galaxy!

This gives you one super important feature that few if any other programming languages gives you, which is the ability to imagine the world from a completely different angle, resulting in that if you teach yourself Hyperlambda, you arguably become a better C#, Java, TypeScript, "whatever" software developer. Of course, if you search for how many available jobs there are for Hyperlambda, you would highly likely be presented with the number zero, regardless of how much and deep you searched. However, if you search for how many people perceive it as a bonus to understand deep and complex subjects, such as how to create a DSL, programming language theory, and such concepts, you would probably be surprised at how many top Nasdaq 10 companies would probably perceive knowledge about Hyperlambda as a bonus, including Microsoft probably. Why? Because these companies knows that the urge to study "different" ideas is crucial to ensure they acquire top candidates, able to think creatively, outside of the box, without pre-conceived notions about how the world "should" look like. There are roughly 35 million software developers in the world today, and some roughly 34 million probably knows only one programming language, and some roughly 34,999,500 of these are probably not even remotely interesting for companies such as Google, StackOverflow, Microsoft and Apple - Simply for no other reasons than that they have never left "the middle of the road", and are hence useless from an innovation point of view.

Gravity

Look at the photo below. Ignoring the guy with the funny T-Shirt (me), that guy in the middle of the photo; Misha - Gave me no less than 3 feature suggestions for Hyperlambda. One being extrapolated expressions, the other being exception handlers, and the third being interceptors. 10 hours after he suggested extrapolated expressions, I had created a new release of Magic and Hyperlambda with that feature as a built in feature. 3 days later, I had exception handlers and interceptors in Magic's lates release.

15269743-hyperlambda-course.jpg

I once tried suggesting a feature to Bjarne Stroustrup, the guy who invented C++, and we spent some 45 emails conversing about my feature, which was virtual copy constructors, to prevent object slicing when copying a reference or a pointer to an object. Bjarne told me he liked my suggestion, and that it was a smart thing. This was in 2008 for the record. Today, 13 years later, C++ still does not have virtual copy constructors. I implemented 3 features in the core of Hyperlambda in 3 days because of that one smart developer suggested it. Please let that sink in for a while ... ;)

This implies that if you use Hyperlambda, your opinion matters. If you use C++, your amount of pull on the language probably equals the amount of pull you currently have on the star constellation referred to as Alpha Centauri. If you are smart, you care about such things. At which point whether or not Hyperlambda dies with me, and is written into history as the least interesting programming language in the world, having nothing going for it besides a really, really cool name, becomes 100% irrelevant. BTW, below is a video where I demonstrate these 3 new features.

Besides, do you want to know a secret? All the best developers knows at least 3 to 5 different "weird programming languages", and all the best recruiters knows this simple fact ... ;)

And the reason that all the best developers knows at least 3 to 4 "weird things", is because they are curious, and doing whatever it is they are doing because they are more passionate about their craft than they are about their salary ...

In the middle of the road is where you'll get struck by a car!

If I was to hire you, I would ask you to answer the following; "Tell me 3 things you know, and that onlyyou know" - And if you can't answer that question intelligently, you're probably useless to me ...


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK