Whether you’re a computer science student, software engineer or just a computer enthusiast, you will be faced with the common dilemma of choosing which programming language to learn first.
There are several causes for this dilemma, but in most cases, people find themselves torn between two choices; whether to choose passion over money or money over passion.
If your motive is money-driven, I would suggest you go with the market forces of supply and demand. If your motives are purely passion-driven then choose any language that pleases you.
And since most people tend to be driven by the money motive when choosing their career path these days, I suggest you should learn a programming language based on market forces of supply and demand and economic indicators.
There are many resources to get economic indicators; to help you choose any undertaking or career path, including programming languages. You want to choose a career path that gives you the greatest advantage in the market.
Indeed.com Top most in-demand programming languages based on job openings as at December 2017
TOP 10 ChallengeRocket.com ranking of projected earnings in 2017 by programming language:
TOP 10 ChallengeRocket.com ranking of projected earnings in 2017 by programming language:
GitHub.com Top programming languages by most pull requests for 2017
Another good indicator is the TIOBE Programming Community index. This indicator calculates the popularity of programming languages based on the number of skilled engineers world-wide, courses and third party vendors. The index uses popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu to calculate the ratings. The index is updated monthly.
Another good indicator is the TIOBE Programming Community index. This indicator calculates the popularity of programming languages based on the number of skilled engineers world-wide, courses and third party vendors. The index uses popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu to calculate the ratings. The index is updated monthly.
Based on a combination of demand/supply, popularity and pull requests you could start by learning Java, followed by Python, C# and JavaScript in that order. You could then graduate to other more difficult languages such as C/C++, Go, Swift, PHP etc., in no particular order.
#1 - Java
Java was invented
at Sun Microsystems in 1995 by James Gosling Jr. It is a general-purpose
programming language that is concurrent, class-based, object-oriented, and
specifically designed to have as few implementation dependencies as possible.
The Java design philosophy is intended to let application developers
"write once, run anywhere" (WORA), meaning that compiled Java code
can run on all platforms that support Java without the need for recompilation.
Java is recommended as
the first language for teaching or learning Object-Oriented Programming and is
suitable for developing Android
applications.
Java is currently the No
#1 most popular programming language on the TIOBE Index. It should be noted
that as the Internet continues to evolve, Java is gradually losing popularity
to emerging languages such as Python and JavaScript as the preferred tools for
developing the web.
#2 - C/C++
C (pronounced as “See”) is a powerful, low-level, compact procedural programming
language originally developed by Dennis Ritchie between 1969 and 1973
at AT&T Bell Labs. Owing to its low-level nature, C is one of the
fastest programming languages and is used for building embedded systems, device
drivers and other mission-critical CPU-specific applications.
C++ (pronounced as “See plus-plus”), was developed by Bjarne Stroustrup at Bell
Labs in 1979 as an extension of the C programming language. C++ is arguably one
of the fastest and most successful object-oriented programming languages. C++
is popularly used for systems programming, embedded systems and other mission-critical
applications.
C/C++
programmers are still in high demand especially in the technology firms such as
Google and Microsoft. It is suitable for creating web browsers and compilers. Therefore,
C/C++ will continue to earn a wide scope in 2018 and beyond.
Both C and C++ occupy the
number #2 and #3 position respectively on the TIOBE Index.
#3 - Python
Python is a powerful, high-level programming language
that supports multiple paradigms such as object-oriented, imperative,
functional and procedural programming.
Python is
suitable for building web applications, games development, Data Science, AI and
Machine Learning. Some large companies using Python include: Google (YouTube),
Facebook (Tornado), Dropbox, Yahoo, NASA, IBM, Mozilla and Quora.
Python is easy to learn
and is recommended by many universities for teaching programming as the first
language.
Python is
currently the 4th most popular programming language on the TIOBE Index. With
the emergence of big data, AI and other technologies, Python is gradually
gaining popularity over Java as the language of choice.
#4 - C#
Pronounced as “C-Sharp”, C# is a general-purpose, type-safe, object-oriented
programming language developed at Microsoft in 2001. The goal of the language
is programmer productivity. To this end, the language balances simplicity,
expressiveness, and performance. The chief architect of the language since its
first version is Anders Hejlsberg (creator of Turbo Pascal and architect of
Delphi).
The C# language is
platform-neutral, but it was written to work well with the Microsoft .NET
Framework.
C# is currently the 5th
most popular programming language on the TIOBE Index. C# will continue to
dominate the Microsoft Windows environment in 2018 and for the foreseeable
future.
#5 - PHP
PHP (Hypertext Preprocessor) is a powerful server-side programming
language originally invented by Rasmus Lerdorf in 1994. It supports imperative, functional, procedural, reflective
and object-oriented programming paradigms
and a host of major databases including MySQL, Postgre SQL and MariaDB.
From the onset, PHP was
originally designed to create dynamic web content, and it is still best suited
for that task. It can be embedded in HTML tags and other pieces of web-centric
content. Language innovations such as the introduction of PHP7 and the Laravel
PHP framework have seen PHP take a quantum leap.
PHP now powers 83.3% of
the entire web according to W3Techs.com, including popular websites, social networks and content
management systems (CMS) like Wikipedia, Facebook, WordPress, Joomla, Drupal,
Magento, OpenCart and PrestaShop among many others…
PHP is currently the 7th
most popular programming language on the TIOBE Index. The popularity of PHP on
the TIOBE index has dropped slightly due to the emergence of other languages
such as Python and JavaScript.
#6 - JavaScript
JavaScript is
one of the three core technologies of World Wide Web content engineering alongside
HTML and CSS. Traditionally, JavaScript is used to make web pages interactive
and provide online programs, including video games on the front-end. The
standard JavaScript specification (ECMAScript 2017) is supported by almost all
browsers.
With the introduction of Node.js and other JavaScript-centric
frameworks and tools such as React.js,
Vue.js, Backbone.js and MongoDB, JavaScript is gradually gaining popularity
as the preferred technology for building the web, thanks to Node’s non-blocking open-source,
cross-platform JavaScript run-time environment for executing server-side
JavaScript code.
Node.js is
built on chrome’s V8 JavaScript engine.
V8 has ability to compile and execute JavaScript at lightning fast speed,
because it compiles JavaScript into a native machine code, instead of
interpreting it or executing it as bytecode.
JavaScript is currently
the 8th most popular programming language on the TIOBE Index.
Conclusion:
Based the above survey
and a combination of factors such as demand/supply and popularity pull requests,
Java continues to have the widest
scope in 2018 and beyond, followed by Python,
C#, JavaScript, Ruby and PHP
in that order. Java will gain a lot of traction especially in Android
development as the demand for mobile apps continues to increase.
JavaScript
appears to be gaining momentum rapidly as Node.js
continues to be implemented in new development projects. However, the adoption
has been relatively slow compared to other languages like Python, although the demand to learn JavaScript has increased
sharply.
C/C++ will continue to hold a respectable position for the foreseeable
future. Emerging languages such as Kotlin, Go, Objective-C, Swift and R will also continue to earn their space. Only
time will tell.
0 comments:
Post a Comment