What Is The Best Programming Language To Learn
When people new to programming come up to me, there is one particular question I have grown fond of.
What is the best programming language to learn?
I have a belief that programming is the new literacy. I believe the skill of knowing how to write computer codes is synonymous to the skill of being able to use a computer prior to the new millenium. It seems people are realising this and want to jump at the opportunity to become programmers. However, it seems most people want to know which language is best in order to pledge their allegiance to the right path.
This is actually natural with human behavior. We want to know what is best under the circumstances and learn it. However it is not that simple. The world of programming is a gigantic web of different languages and pathways. My answer to most if not all the people that ask me this very question is alway
There isn't any such thing as the best programming language.
Area Of Interest Instead Of Programming Language
In my opinion asking what programming language to learn is the wrong question altogether. If you want to learn to code, the question you should ask yourself is this,
What is it that I really want to do? What did I see that was so eye catching that made me say, I want to learn to program.
When you answer this, the decision becomes much more simple. For me, when I first used a computer as a kid, I immediately fell in love with software. I just simply looked at the way programmes worked and always thought to myself, "how do I make my own some day". When I got introduced to the internet, my curiosity grew even much further as I now saw software in from of web pages. I simply wanted my own web site to show off to my friends.
This drove me to breaking all my piggy banks and spending time in the Cyber Cafe (in Nigeria, almost no one had internet at home when I was growing up due to cost & Infrastructure). I discovered HTML and CSS and built my first website thanks to Yahoo's free geocities web hosting and web builder. After I built it, I was even further intrigued by software. I fell in love with the web and wanted to know what drove it and how to manipulate it.
If you are considering learning to code, find out that part of you that comes alive when you see an end product of programming. Some people are fascinated by games, some are fascinated by graphics, some mobile-apps and so on. Find that area of interest as a first step.
Learn Concepts Not Languages
A big mistake people that want to learn programming today do is jump straight into it without trying to understand the world of programming. I made this mistake as a teenager as well. A lot of people are too eager to learn a language but the concepts behind programming are far more important. This is a big reason why we have so many programmers today that end up producing horrible code.
Concepts and fundamentals are the number one thing you should try to understand. A good example is the field of medicine. We have different types of personnels like dentists, surgeons, nurses etc. Each has a specialised part of the human body or behavior they look to work with but, they all have certain concepts that they are all are familiar with. For example, every type of medical personnel will be expected to know a great deal of Anatomy. It is impossible to be a medical personnel, without first knowing how the body of a living being works.
Programming is no different, there are certain concepts that are shared no matter what programming language you use or know. Concepts like variables, objects, lists, inheritance, classes/modules etc. are just a few of the fundamentals. These are abstract terms that you will want to understand before deciding what programming language to learn. When you understand concepts, the world of programming becomes much easier as you will find yourself able to learn any other programming language with ease.
Take myself for example. My very first code ever written was Javascript. Today, I have worked C#, VB, Java, Python, PHP to name a few. I did not need an ounce of professional training to make this possible, but I was only able to learn all these because I understood the concepts behind all of them. It is like driving a car. Once you understand what a gear, throttle brake and steering wheel are and understand what they do, it becomes really easy to drive any other car.
Grow With The Technology
Technology is probably the fastest growing industry in terms of evolution. Something new is out every single day. For this reason, you will find that it becomes even much harder to decide what to learn. When you do learn, you will find the need to further your skills as time goes on. This is true for any industry but it is frightenly much faster in technology. For example Javascript was a language used solely to script web pages a few years ago. Today, it powers robots, mobile apps, servers(Node), desktop apps and so much more. This transition took only less than a decade to give you an idea of how quick I am talking about.
When you learn to code, do not be scared to mix waters and let go of old habits for new ones. One thing is certain, the concepts hardly ever change. Only philosophy changes.
Roundup
At the end of the day, this article is about advice for what programming language to learn if you want to start coding. Programming languages today are much more flexible that they were a few years back thanks to open source. I will give you a list of programming languages I feel have a great role to play in the near future.
NOTE: This is not to say that the others are bad or anything, far from it.
Instead, these are languages that cover a great deal of use in the sense that you can use them to cover a wide range of areas of interest.
- Javascript : This is a language that has really helped the web advance. It is easily the most popular programming language today. It is likely to be here for a long time due to its rather short learning curve. It is also really important in a number of areas. If you want to create modern web applications, then this is a must. It is also very prominent in the mobile world and has recently become a good choice for high load server applications thanks to Node.JS. Its also appearing in new areas like Robotics. This is my personal recommendation for people starting out from scratch.
- C# : Lets face it, Microsoft is a big big company and they are not going anywhere anytime soon. As long as this is true, then C# will always be relevant. This is because Microsoft makes C# and probably 100% of everything they produce is compatible with it. Also if you want your solutions to work on a Windows machine predominantly then this is your friend. It also has a very strong enterprise presence. Things recently got interesting as Microsoft is making C# more Apple & Linux friendly.
- Java : A very popular programming language. I call it the bully as it is literally everywhere. Java developers have a reputation for being the most well paid developers around although this is arguable. Java's biggest advantage is its ability to work on any machine in the world as long as its friend the Java Virtual Machine is available. There cannot be a list without Java. Almost everything can be done with Java. Mobile-Apps, Server Apps, Desktop Applications, Web - Apps, you name it. Also it has absolutely no relation whatsoever with Javascript.
- Python : No not the big swamp snake. Python's popularity fell for a number of years but has risen once again thanks to its use on the web (Django). It is easily the easiest to grasp from this list. Very great for beginners and can be very powerful if you know what you want and how to do it.
- Swift : Wel well, something from Apple obviously had to make the list. Let me give you a short history lesson. For the past 30 + years, Apple has made Objective-C very popular and with the innovation of the OSX and IOS operating systems, Objective-C was the main way to create stuff for Apple machines. This however will change as Apple has announced swift, a new less ugly more 21st century programming language. If you intend to write applications for the Apple eco-system, then you should put your efforts in learning this language as it will be very important in the future. Like Microsoft, Apple is not going anywhere anytime soon.
Now may I remind you again, these are not the best languages but some that you might want to consider. Special mention goes to Ruby, R and GOLang. I would advise you to start by finding your area of interest as recommended earlier. Your decision will be made much easier I promise.
In Data Analytics or Business Analytics you also need to know what is happening behind the scene....Data Structure in Structured Programming is required.
It depends on individual aim (or objectivities), what you want to do. Like myself I was lucky from the beginning to be appointed as a Natural Adabas programmer. Ada is one of the oldest database programming language derived from C programming. If you mastered the language well, you could easily become an expert in DBA or Dbase Developer however you may require to learn Structured Query Language or Structured Programming where those fundamental concepts (OO) play a role when you advance in programming. For the beginners one just have to learn how to code, what the code does. OO stands for Object Orientated (an object does perform certan functions, code and its function, Proc and Func).
Director of Programmatic | Digital Media Strategist | Driving Growth & Innovation for Global Brands
10 年Could you expand on why Javascript could be included in this list? While Swift, C#, Python and Java can be used to create entirely stand-alone applications, JS requires prerequisite knowledge of other web programming languages in order to create anything that can function as a program, such as conversing with a database or affecting existing data. It cannot realistically function by itself and, if it did, it would be a clunky and ineffective programming tool. While it is simple to understand and easy to learn, its practical application is minimal. Its best use on web is in conjunction with other languages - HTML, CSS, AJAX etc - an exception on this list.
Lead / Senior Flutter Developer
10 年No c++ ?
Logistician, Software Developer,
10 年Nice one sensai