The One Programming Language to Rule Them All

Kevin Dave
Mar 27, 2019 · 5 min read
Image for post
Image for post
Rule Them All !!

When I was in college, I learned three programming languages. I learned C, C#, and Javascript. Back then, I feel like it was hard to master all of these languages. The most frustrating language IMO is C#. It has complex syntax, many data structures, access level, etc. Javascript is a lot easier, but how can I build my backend without using C# (I use ASP.NET at that time)?

I began to think if there is any programming language that can be a silver bullet for all problems. I think it will make a developer’s life easier. Why should I learn more and more language if I can use a language, and I can build anything in this world with only a single language? So I began to create some list of what “Rule Them All” programming language looks like.

1. Should be able to build all types of application with different purposes.

2. Should be able to build application on top of different platforms such as desktop, mobile, and web.

3. Easy learning curve.

4. High performance, easy to read, lightweight

All checklist are ready, and here we go. In pursuit of finding that “Golden” programming language! I tried to learn all (popular) programming languages in the market. Tried some basic stuff with language A, watched tutorials for language B, etc. Looked back into my checklist and find out if any criteria satisfied.

Time goes by and I still can’t find any programming language that fits with all my criteria. This thing comes to the conclusion that

There is no silver bullet for all problems.

I know many people who can’t adapt with various programming language. I don’t mean that we should learn all programming languages, but these people are too comfortable with a programming language and they are expecting that they can solve various problems.

Then I began to think again. If I can’t find any programming language to rule them all, how to choose the right programming language for solving my problem let alone maximize my productivity? Looking back to my checklist, I found that some criteria can lead me to these questions. Questions help me to identify if I really need to learn this programming language or find another one. So here are the questions

Image for post
Image for post
The “One Size Fits All” Toilet

Software application comes with various purposes. There are a business application, information aggregator, lifestyle application, games, and many more. Knowing what you want to build can lead you to the right programming language. Does your app need to have response below than 500ms? Does your app have complex computation? Ask some questions about your app!

After you find what kind of application you want to build, what kind of value you want to serve your users, you need to know on what platform your app will be built. Is it a web app, mobile app, or desktop app? If it is a mobile app, is it on Android or iOS? Is it for Windows or Mac? Because there is no single programming language that fits all platforms. Each platform or operating system is built using a specific programming language. Like why you learn C# if you want to build a MacOS app? Why did you learn Swift if you want to build an Android app? The key is to look for languages available on that platform.

Image for post
Image for post

Some platforms have few options of programming language to choose. But there are platforms where you can only build using one programming language. For example, before Swift came out, Objective-C is the only choice for you to build your iOS or MacOS application. How about building back-end on the linux server? You have several choices like Java, Ruby, Golang, and many more. If the app you want to build has only one programming language option, then there is no choice to learn that language. But if you have more options, consider the learning curve before you jump in. Because the learning curve will affect your productivity. If the language is hard to use, you will jump back and forth to StackOverflow or its documentation to find way out. I’m not saying that you don’t need to learn (relatively) hard programming language. But also consider your situation. Are you learning for the long term? Do you have deadlines?

Every product surely has its own selling points. I’m not talking about commercial products- but any kind of products, including programming language, has its own strength. You can find each programming language strength in its documentation, or find any review in the community/internet. For example, Golang is known for its performance and readability. If your app cannot tolerate extra 100ms latency, then go for Golang! Or like Clojure, which is good for functional programming. You don’t use OOP? Add Clojure to your options!

Image for post
Image for post
I hope COBOL still exists these days

If you do programming for work, consider this question before you choose your language. But if you do it just for fun, you may skip this part. This point applies to language that has “competitors”. Server-side development has few options for programming languages. The fact is many people do programming for work, which is totally fine. They need to know what the market needs. Like why you need to learn PASCAL (sounds too old isn’t it 😂?) when the market needs Node.js developers? Or if someone really likes to work in big corporates, then learn Java / C#. They need it so bad!

Too many choices can lead us into the paradox of choice. But all developers in the world are inventing new languages to serve other developers so that they can build their application easier. It is not a bad thing, I guess. The key is not what programming language is the best, but which programming language is the best at solving my current problems. Like in my previous article, I learned that programming language is just a tool for solving a certain problem. Choose the right language for your needs! There is no silver bullet for all problems.

Hope it helps you guys. Cheers 🤙

Easyread

Easy read, easy understanding.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store