In Todays world Learning is not more difficult than earlier.
There are around 600 programming languages out there. The demand and popularity of programming languages fluctuate every year. Also, new programming languages are coming with attractive features.
There are around 600 programming languages out there. The demand and popularity of programming languages fluctuate every year. Also, new programming languages are coming with attractive features.
So, which programming language should you learn? Learning a new programming language is always an investment of your time and brainpower. If you are a seasoned developer or if you already know several programming languages, then you can learn a niche, modern one. Recently, I have written a blog post where I have short-listed seven modern programming languages Worth Learnings of Learner.
But if you are starting your programming career in 2020 or if you want to learn your first or second programming language, then it is wise to learn one of the mainstream and established programming languages. Here I will list programming languages based on the following criteria:
- Already mainstream and firmly established in the Software Development industry.
- Top-ranked in the renowned programming languages ranking websites.
- Popularity is increasing or stable and not sharply decreasing.
- They have a large set of libraries, frameworks, tooling support, and have a large community.
- They are demanding in the job market with a good salary.
Also, I will summarize the programming languages along with historical context, key features, and primary use cases.
1. Python
. Source: Python.orgWhendo van Rossum developed Python in the 1990s as his side project, nobody has thought it would be the most popular programming language one day. Considering all well-recognized rankings and industry trends, I put Python as the number one programming language overall.
Python has not seen a meteoric rise in popularity like Java or C/C++. Also, Python is not a disruptive programming language. But from the very beginning, Python has focused on developer experience and tried to lower the barrier to programming so that school kids can also write production-grade code.
In 2008, Python went through a massive overhaul and improvement with the cost of introducing significant breaking changes by introducing Python 3.
Today, Python is omnipresent and used in many areas of software development, with no sign of slowing down.
3 Key Features:
- The USP of Python is its language design. It is highly productive, elegant, simple, yet powerful.
- Python has first-class integration with C/C++ and can seamlessly offload the CPU heavy tasks to C/C++.
- Python has a very active community and support.
Popularity:
In the last several years, Python has seen enormous growth in demand with no sign of slowing down. The programming language ranking site PYPL has ranked Python as the number one programming language with a considerable popularity gain in 2019:
Also, Python has surpassed Java and became the 2nd most popular language according to GitHub repositories contributions:
Also, StackOverflow developer survey has ranked Python as the 2nd most popular programming language (4th most popular Technology):
Another programming language ranking site TIOBE has ranked Python the 3rd most popular language with a massive gain in last year:
Python still has the chance to go further up in ranking this year as Python saw a 50% growth last year according to GitHub Octoverse:
StackOverflow developer survey has listed Python as the second most loved programming language:
Most of the older and mainstream programming languages have stable or downward traction. Also, Python is an exception here and has an increasingly upward trending during the last five years as clear from Google trends:
Job Market:
According to Indeed, Python is the most demanding programming language in the USA job market with the highest 74 K job posting in January 2020. Also, Python ranked third with a $120 K yearly salary.
Also, StackOverflow developer survey has shown that Python developers earn a high salary with relatively low experience compared to other mainstream programming languages:
Main Use Cases:
- Data Science
- Data Analytics
- Artificial Intelligence, Deep Learning
- Enterprise Application
- Web Development
2. JavaScript
During the first browser war, Netscape had assigned Brendan Eich to develop a new programming language for its Browser. Brendan Eich had developed the initial prototype in only ten days, and the rest is history. Software developers often ridiculed JavaScript in its early days because of its poor language design and lack of features.
Over the years, JavaScript has evolved into a multi-paradigm, high-level, dynamic programming language. The first significant breakthrough of JavaScript came in 2009 when Ryan Dahl has released cross-platform JavaScript runtime Node.js and enabled JavaScript to run on Server Side.
The other enormous breakthrough of JavaScript came around 2010 when Google has released a JavaScript based Web development framework AngularJS.
Today, JavaScript is one of the most widely used programming languages in the world and runs on virtually everywhere: Browsers, Servers, Mobile Devices, Cloud, Containers, Micro-controllers.
3 Key Features:
- JavaScript is the undisputed king in Browser programming.
- Thanks to Node.js, JavaScript offers event-driven programming, which is especially suitable for I/O heavy tasks.
- JavaScript has gone through massive modernization and overhaul in the last several years, especially in 2015, 2016, and later.
Popularity:
JavaScript is one of the most top-ranked programming languages because of its ubiquitous use in all platforms and mass adoption.
Octoverse has put JavaScript as the number one programming language for five consecutive years by GitHub repositories contributions:
Also, StackOverflow developer survey 2019 has ranked JavaScript as the most popular programming language and Technology:
Another programming language popularity site PYPL has ranked JavaScript as the 3rd most popular programming language:
The programming language popularity site TIOBE has ranked JavaScript as the 7th most popular programming language:
Once dreaded by the developers, JavaScript also ranked as the 11th most loved programming language according to StackOverflow Developer survey:
The trending of JavaScript is relatively stable, as shown by Google Trends:
Job Market:
In the USA Job market, Indeed has ranked JavaScript as the third most demanding programming language with 57 K Job posting in January 2020. With $114 K average yearly salary, JavaScript ranks 4th in terms of salary:
Also, StackOverflow developer survey has shown that JavaScript developers can earn a modest salary with relatively low experience:
Main Use Cases:
- Web Development
- Backend Development
- Mobile App Development
- Serverless Computing
- Browser Game Development
3. Java
Java is one of the most disruptive programming languages to date. Back in the ’90s, business applications were mainly developed using C++, which was quite complicated and platform dependent. James Gosling and his team in Sun lowered the barrier to develop business applications by offering a much simpler, object-oriented, interpreted programming language that also supports Multi-threading programming.
Java has achieved Platform independence by developing Java Virtual Machine (JVM), which abstracted the low-level Operating System from developers and gave the first “Write Once, Run anywhere” programming language. Also, JVM offered generation garbage collection, which manages the Object life cycle.
In recent years, Java has lost some of its markets to highly developer-friendly modern languages and the rise of other languages, especially Python, JavaScript. Also, JVM is not quite Cloud friendly because of its bulky size. Oracle has recently introduced hefty licensing fees for JDK, which will dent Java’s popularity further.
Fortunately, Java is working on its shortcomings and trying to make Java fit for Cloud via the GraalVM initiative. Also, in OpenJDK, there is a free alternative to the proprietary Oracle JDK.
Java is still the number one programming language for enterprises.
3 Key Features:
- Java offers a powerful, feature-rich, multi-paradigm, interpreted programming language with a moderate learning curve and high developer productivity.
- Java is strictly backward compatible, which is a crucial requirement for business applications.
- Java’s runtime JVM is a masterpiece of Software Engineering and one of the best virtual machines in the industry.
Popularity:
Only after five years of its release, Java becomes the 3rd most popular programming language and always remained in the top 3 lists in the next two decades. Here is the long-term history of Java in the popular TIOBE ranking:
Java’s popularity has waned in the last few years, but it is still the most popular programming language, according to TIOBE, as shown below:
According to the GitHub repository contribution, Java was in the number one spot during the 2014–2018 and only slipped to number 3rd position in last year:
The other popular programming language ranking website PYPL has ranked Java as 2nd most popular programming language:
StackOverflow developer survey also ranked Java high and only superseded by JavaScript and Python programming languages:
According to Google trends, Java is losing its traction constantly in the past five years:
Job Market:
According to Indeed, Java is the second most demanding programming language in the USA with 69 K Job posting in January 2020. Also, Java developers earn the 6th highest annual salary ($104 K):
As per StackOverflow Developers survey 2019, Java offers a modest salary after few years of experience:
Main Use Cases:
- Enterprise Application Development
- Android App Development
- Big Data
- Web Development
4. C#
In 2000, Tech giant Microsoft decided to create their Object Oriented C like programming language C# as part of their .NET initiative, which will be managed (run on a Virtual Machine like Java). The veteran language designer Anders Hejlsberg designed C# as part of Microsoft’s Common Language Initiative (CLI) platform where many other (mainly Microsoft’s languages) compiled into an intermediate format which runs on a Runtime named Common Language Runtime (CLR).
During the early days, C# was criticized as an imitation of Java. But later, both of the languages diverged. Also, Microsoft’s licensing of C# compiler/runtime is not always clear. Although Microsoft is currently not enforcing its patents under the Microsoft Open Specification Project, it may change.
Today, C# is a multi-paradigm programming language that is widely used not only on the Windows platform but also on the iOS/Android platform (thanks to Xamarin) and Linux platform.
3 Key Features:
- Anders Hejlsberg did an excellent job to bring C# out of Java’s shadow and give its own identity.
- Backed by Microsoft and being in the industry for 20 years, C# has large ecosystems of libraries and frameworks.
- Like Java, C# is also platform independent (thanks to CLR) and runs on Windows, Linux, Mobile devices.
Popularity:
The popular language ranking site TIOBE has ranked 5th in January 2020 with huge gain:
Also, Octoverse has listed C# as the 5th popular programming language by GitHub repositories contribution:
StackOverflow developer survey has placed C# as the 4th most popular language (7th most popular Technology for 2019:
It is interesting to note that StackOverflow developer survey has ranked C# as the 10th most loved programming language (well above Java):
As clear from Google trends, C# is not being much hyped in the last few years, as shown below:
Job Market:
Indeed has posted 32 K openings for C# developers in the USA, which makes C# the 5th most demanding programming language in this list. With an annual salary of $96 K, C# ranks 8th in this list:
StackOverflow developer survey has placed C# above Java (albeit with more experience) in terms of global average salary:
Main Use Cases:
- Server-Side programming
- App development
- Web Development
- Game Development
- Software for Windows Platform
5. C
During the 1960s and 1970s, every cycle of the CPU and every byte of memory was expensive. Dennis Ritchie, a Bell lab engineer, has developed a procedural, general-purpose programming language that is compiled directly to machine language during the 1969–1973. C programming offers low-level access to memory and gives full control over the underlying hardware.
Over the years, C became one of the most used programming languages. Besides, C is arguably the most disruptive and influential programming language in history and has influenced almost all other languages on this list.
Although C is often criticized for its accidental complexity, unsafe programming, and lack of features. Also, C is platform-dependent, i.e., C code is not portable. But if you want to make the most use of your hardware, then C/C++ or Rust is your only option.
3 Key Features:
- As C gave low-level access to memory and compiled to Machine instructions, it is one of the fastest and most powerful programming languages.
- C gives full control over the underlying hardware.
- C is one of the “Programming languages of the Language,” i.e., compilers of many other programming languages like Ruby, PHP, Python have been written in C.
Popularity:
C is the oldest programming language in this list and has dominated the industry for 47 years. C has also ruled the programming language popularity ranking more than any other language as clear from TIOBE’s long-term ranking history:
According to TIOBE ranking, C is the second most popular language with a huge popularity gain in 2019:
Octoverse has also ranked C as the 9th most popular language according to the GitHub repository contribution:
StackOverflow developer survey has also ranked C in 12th (8th considering programming language) place:
Google trending also shows a relatively stable interest in C over the last five years.
Job Market:
According to Indeed, there are 28K job postings for C developers in the USA, which make C the 6th most demanding programming language. In terms of salary, C ranks 6th with Java ($104 K):
StackOverflow developer survey showed C developers can earn an average wage but needs a longer time to achieve that compared to, e.g., Java, Python:
Main Use Cases:
- System Programming
- Game Development
- IoT and Real-Time Systems
- Machine Learning, Deep Learning
- Embedded Systems
6. C++
Bjarne Stroustrup has worked with Dennis Ritchie (creator of C) in Bell Lab during the 1970s. Heavily influenced by C, he first created C++ as an extension of C, adding Object-Oriented features. Over time, C++ has evolved into a multi-paradigm, general-purpose programming language. Like C, C++ also offers low-level memory access and directly compiled to machine instructions.
C++ also offers full control over hardware but with the cost of accidental complexity and does not provide language-level support for memory safety and concurrency safety. Also, C++ offers too many features and is one of the most complicated programming languages to master.
For all these factors and its platform dependency, C++ has lost its popularity to Java in especially enterprise software development and Big Data domain in the early 2000s.
C++ is once again gaining popularity with the rise of GPU, Containerization, Cloud computing, as it can quickly adapt itself to take advantage of Hardware or Ecosystem changes.
Today, C++ is one of the most important and heavily used programming languages in the industry.
3 Key Features:
- Like Java, C++ is also constantly modernizing and adapting itself with changes in Hardware or Ecosystem.
- C++ also gives full control over the underlying hardware and can run on every platform and take advantage of every kind of hardware, whether it is GPU, TPU, Container, Cloud, Mobile devices, or Microcontroller.
- C++ is blazingly fast and used heavily in performance-critical and resource-constrained systems.
Popularity:
C++ is the second oldest programming language in this list and ranked 4th in the TIOBE programming language ranking:
Octoverse has ranked C++ in 6th position by GitHub repository contributions:
Also, StackOverflow Developer Survey in 2019 has listed C++ as the 9th most popular Technology (6th most popular language):
Although C++ is facing massive competition from modern programming languages like Rust or Go, it is still generating stable interest in the last five years:
Job Market:
Indeed has ranked C++ as the 4th most demanding programming language with 41 K job posting. Also, C++ developers earn $108 K per annum, which places it in 5th place:
StackOverflow developer survey has shown that C++ developers can draw a higher salary compared to Java, albeit with a longer experience:
Main Use Cases:
- System Programming
- Game Development
- IoT and Real-Time Systems
- Machine Learning, Deep Learning
- Embedded Systems, Distributed Systems
7. PHP
Like Python, PHP is another programming language developed by a single developer as a side project during the ’90s. Software Engineer Rasmus Lerdorf has initially created PHP as a set of Common Gateway Interface binaries written in C to create dynamic Web Applications. Later, more functionalities were added to the PHP product, and it organically evolved into a fully-fledged programming language.
At present, PHP is a general-purpose, dynamic programming language mainly used to develop server-side Web applications.
With the rise of JavaScript based client-side Web application development, PHP is losing its appeal and popularity, and PHP is past its prime. Contrary to popular belief, PHP will not die soon, although its popularity will gradually diminish.
3 Key Features:
- PHP is one of the highly productive Server-Side Web development programming languages.
- As PHP is used in Web development for the last 35 years, there are many successful and stable PHP frameworks in the market.
- Many giant companies are using PHP (Facebook, Wordpress), which leads to excellent tooling support for it.
Popularity:
The programming language ranking site TIOBE has ranked PHP as the 8th most popular programming language in January 2020. Although the long term ranking history of PHP shows that PHP is past of its prime and slowly losing its appeal:
Octoverse has ranked PHP as the 4th most popular programming language by GitHub repositories contribution:
As per StackOverflow developer survey 2019, PHP is the 5th most popular programming language (8th most popular Technology):
Although PHP is still one of the most widely used programming languages, it’s trending is slowly going down as clear from Google Trends:
Job Market:
Job Search site Indeed has ranked PHP as the 7th most demanding programming language in the USA job market with 18 K positions in January 2020. Also, PHP developers can expect a reasonable salary ($90 K) which places them in 10th position in this category:
StackOverflow developer survey shows PHP as the lowest-paid programming language in 2019:
Main Use Cases:
- Server-side Web Application Development
- Developing CMS systems
- Standalone Web Application Development.
8. Swift
Swift is one of the only two programming languages that has also appeared in my list: “Top 7 modern programming languages to learn now”. A group of Apple engineers led by Chris Lattner has worked to develop a new programming language Swift mainly to replace Objective-C in the Mac and iOS platforms.
It is a multi-paradigm, general-purpose, compiled programming language that also offers high developer productivity. Swift supports LLVM (developer by Chris Lattner) compiler toolchain like C/C++, Rust.
Swift has excellent interoperability with Objective-C codebase and has already established itself as the primary programming language in iOS App development. As a compiled and powerful language, Swift is gaining increasing popularity in other domains as well.
3 Main Features:
- One of the main USP of Swift is its language design. With simpler, concise, and clean syntax and developer ergonomic features, it offers a more productive and better alternative to Objective-C in the Apple Ecosystem.
- Swift also offers features of modern program languages: null safety. Also, it provides syntactic sugar to avoid the “Pyramid of Doom.”
- As a compiled language, Swift is blazing fast as C++. It is also gaining increasing popularity in system programming and other domains.
Popularity:
Like other modern programming languages, Swift is hugely popular among developers and ranked 6th in the list of most beloved languages:
Swift also has propelled to top 10 lists of most popular programming languages in TIOBE index only in 5 years of its first stable release:
Another popular programming language ranking site PYPL has ranked Swift as 9th most popular programming language:
StackOverflow developer survey has ranked Swift as the 15th most popular Technology (12th most popular programming language):
Google trends also show a sharp rise in the Popularity of Swift:
Job Market:
Indeed has ranked Swift as the 9th most demanding language in the USA with 6 K openings. In terms of Salary, Indeed has ranked Swift in 2nd place with $125 K yearly salary:
StackOverflow developer survey has also revealed that Swift developer can earn a high salary with relatively fewer years of experience compared to Objective-C:
Main Use Cases:
- iOS App Development
- System Programming
- Client-side development (via WebAssembly)
- Deep Learning
- IoT
9. Go
Like Swift, Go is only the second programming language from the last decade in this list. Also, like Swift, Go is created by a Tech giant.
In the last decade, Google has frustratingly discovered that existing programming languages cannot take the seemingly unlimited hardware, human resources of Google. For example, compiling the C++ codebase of Google took half an hour. Also, they wanted to tackle the development scaling issue in the new language.
Renowned Software Engineers Rob Pike (UTF-8) and Ken Thompson (UNIX OS) in Google has created a new, pragmatic, easy-to-learn, highly scalable system programming language Go and released in 2012. Go has a runtime and Garbage collector (a few Megabytes), but this runtime is packed in the generated executable.
Although Go is a bit feature anemic, it has become a mainstream programming language in a short period.
3 Key Features:
- Go has language-level support for Concurrency. It offers a CSP based message-passing concurrency via Goroutine (lightweight Green thread) and Channel.
- The biggest USP of Go is its language design and simplicity. It has successfully combined the simplicity and productivity of Python and the power of C.
- Go has embedded Garbage Collector (albeit not as mature as JVM garbage collector). Go developers can write system programming with the safety of Java, Python.
Popularity:
Like Swift, Go has also seen a meteoric rise in popularity.
In almost all popular programming languages comparing websites, Go ranks high and has surpassed many existing languages. Here is the TIOBE index ranking from January 2020, where Go ranks 14th:
According to the Stackoverflow survey, Go is one 9th most loved programming languages:
Go is also one of the top 10 fastest growing languages, according to GitHub Octoverse:
The increasing popularity of Go is also reflected in Google trends, which show increasing traction for Go over the last five years:
Job Market:
Indeed has ranked Go as the 10th most demanding language with 4 K openings in January 2020. In terms of salary, Go is ranked in 9th position:
StackOverflow developer survey 2019 has shown Go as one of the highest-paid programming languages:
Main Use Cases:
- System Programming
- Serverless Computing
- Business Applications
- Cloud-Native Development
- IoT
10. Ruby
Ruby is the third programming language in this list developed by an individual developer during the 1990s. Japanese computer scientist Yukihiro Matsumoto has created Ruby as an “Object-Oriented Scripting language” and released in 1995.
Ruby has later evolved into an interpreted, dynamically typed, high-level, multiple-paradigm general-purpose programming language. Ruby is implemented in C and offers garbage collection.
Like Python, Ruby focused heavily on developer productivity and developer happiness. Although Ruby is not one of the hyped languages at this moment, it is an excellent language for new developers for a flat learning curve.
3 Key Features:
- Ruby has combined some of the best features of programming languages successfully: dynamic, object-oriented, functional, garbage-collected, and concise.
- Although Ruby itself is not disruptive, its Web development framework Ruby on Rails is probably the most disruptive and influential Server-side Web development framework.
- Ruby is used by some of the largest software projects like Twitter, GitHub, Airbnb, and has excellent tooling and framework support.
Popularity:
TIOBE has ranked Ruby as the 11th most popular programming language in January 2020 with a hugely positive move:
Source: TIOBE
Octoverse has also ranked Ruby as the 10th most popular programming language in 2019 by GitHub repositories contributions:
StackOverflow Developer survey 2019 has listed Ruby as the 9th most popular programming language (12th most popular Technology):
Ruby has not been a hyped language in recent years, but has maintained its traction as per Google trends:
Job Market:
In the USA job market, Ruby developers can draw huge salaries and ranked 1st by Indeed. Also, Indeed has posted 16 K openings for Ruby developers in January 2020, which put Ruby 8th most demanding programming language in this list.
FOR MORE SUCH INTERESTING FACTS:
SUBSCRIBE TO US...
😊😊😊
FOR MORE SUCH INTERESTING FACTS:
SUBSCRIBE TO US...
😊😊😊
0 Comments:
Hi , How can i help you.
If you have any DOUBT let me know.
🙏🙏🙏