Discussion in 'Programming & Software Development' started by Crewcut, May 9, 2021.
Future pundits - what's going to happen out there in coding land? Any revolutions coming?
Nope - https://madnight.github.io/githut/
Can't predict the future, but I remember a similar question being asked in the past and then I searched for it....and turns out it was 2008!! Good to see some of the predictions held up fairly well:
In terms of programming languages, I found the below video interesting showing the relative rise/fall in popularity* of different languages. While it doesn't make predictions about the future, interesting to see how changes do occur albeit sometimes slowly (e.g. python's popularity).
*The way "popularity" was calculated is defined in the description section of the original author's video (youtube link) which went up to 2019.
Damn, now I see where I went wrong. I have a (very) basic knowledge of PHP, C++ and Perl.
Mind you, I guess I could have done worse. Isn't Java rapidly becoming a Dodo?
EDIT: that is a way cool animation
Visual Basic https://www.seek.com.au/visual-basic-jobs
Most popular not always most profitable.
Tensorflow https://www.tensorflow.org/learn and Pandas https://www.learnpython.org/en/Pandas_Basics https://www.tutorialspoint.com/python_pandas/index.htm would be specialty area with future growth and popularity.
The below wall of text is not aimed at you, I was just genuinely interested to know the answer, and was trying to google to get quantifiable metrics to show either way whether it is rapidly declining or not.
A lot of Java's use is on backend enterprise applications and not all companies publish exactly what they have running on their servers, so it's hard to assess something like market share (especially as Java is used across many domains).
What I found was:
There's the Tiobe index which attempts to rank "popularity" of programming languages by examining search results across multiple search engines (more info about it from their site).
Statista's developer survey where they polled 57k programmers to derive "Most Used Programming languages" at 2020
Stack Overflow's annual developer survey including most loved languages, where in 2020 they had over 65k responses relating to programming. Java wasn't featured high in the "most loved" category, but that doesn't mean it's not used a lot still it's definitely not a favourite though.
The video already linked which amongst others things uses data relating to GitHub commits to work out "popularity",
These are either taking in to account developer commits to github, preferences or survey feedback, which are not necessarily telling the full picture of market growth/decline, but provide atleast some actual data.
Plenty of competition around. In the server side for example Python vs Java. Although Java is still very embedded in back end/enterprise applications space, in particular financial/banking and some of those places are still running Cobol/mainframe so it could be around for a while there also.
In the mobile applications for Android is Kotlin (while still the comparative newbie on the block but) gaining popularity since it's inclusion in the Google SDK in 2017. It has the benefit that Java was around since 1995 and so new languages can take the parts of Java which they think work well, and either change/omit other parts. In Kotlin's case they've made it interoperable with Java as well so it can help with a migration path.
tldr: imho, I couldn't say that Java is rapidly going the way of the dodo just "yet", but at the moment it definitely doesn't look like it's dominating/booming in the same way it had previously either.
Regarding Python, it would be interesting to know how much of its use is for programming vs "scripting", because it is used so much in machine learning and math/science, plus it is often a scripting language in other programs (UnrealEngine4, 3dsMax, etc), all of these scripting use-cases might be inflating its stats.
Modern interpreted languages (scripts) are as sophisticated and complex as similar high level compiled languages, and do not diminish the programming "skill" required.
It can be easily interpreted as well as compiled in comparison to low-level language.
It can be considered as a programmer-friendly language.
It is easy to understand.
It is easy to debug.
It is simple in terms of maintenance.
It requires a compiler/interpreter to be translated into machine code.
It can be run on different platforms.
It can be ported from one location to another.
It is less memory efficient, i.e it consumes more memory in comparison to low-level languages.
Examples of high level languages include C, C++, Java, Python.
It is used widely in today's times.
It is also known as machine level language.
It can be understood easily by the machine.
It is considered as a machine-friendly language.
It is difficult to understand.
It is difficult to debug.
Its maintenance is also complex.
It is not portable.
It depends on the machine; hence it can't be run on different platforms.
It requires an assembler that would translate instructions.
It is not used widely in today's times.