TIOBE Index for April 2017

Have you seen the latest TIOBE rankings report?

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

This month Visual Basic.Net has moved up sightly, but the big news is the PHP replacement language called Hack.

The TIOBE Top 10 for this month:

Apr 2017 Apr 2016 Change Programming Language Ratings Change
1 1 Java 15.568% -5.28%
2 2 C 6.966% -6.94%
3 3 C++ 4.554% -1.36%
4 4 C# 3.579% -0.22%
5 5 Python 3.457% +0.13%
6 6 PHP 3.376% +0.38%
7 10 change Visual Basic .NET 3.251% +0.98%
8 7 change JavaScript 2.851% +0.28%
9 11 change Delphi/Object Pascal 2.816% +0.60%
10 8 change Perl 2.413% -0.11%

Read the entire results at this site.

RedMonk Programming Language Rankings for Q3 2016

Looking a how popular a programming language is on Stack Overflow and the popularity of those same languages on GitHub allows for a analysis of what languages are most popular. The article by Stephen O’Grady reads: “The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion (Stack Overflow) and usage (GitHub) in an effort to extract insights into potential future adoption trends.”

  • To be included in this analysis, a language must be observable within both GitHub and Stack Overflow.
  • No claims are made here that these rankings are representative of general usage more broadly. They are nothing more or less than an examination of the correlation between two populations we believe to be predictive of future use, hence their value.
  • There are many potential communities that could be surveyed for this analysis. GitHub and Stack Overflow are used here first because of their size and second because of their public exposure of the data necessary for the analysis. We encourage, however, interested parties to perform their own analyses using other sources.
  • All numerical rankings should be taken with a grain of salt. We rank by numbers here strictly for the sake of interest. In general, the numerical ranking is substantially less relevant than the language’s tier or grouping. In many cases, one spot on the list is not distinguishable from the next. The separation between language tiers on the plot, however, is generally representative of substantial differences in relative popularity.
  • GitHub language rankings are based on raw lines of code, which means that repositories written in a given language that include a greater amount of code in a second language (e.g. JavaScript) will be read as the latter rather than the former.
  • In addition, the further down the rankings one goes, the less data available to rank languages by. Beyond the top tiers of languages, depending on the snapshot, the amount of data to assess is minute, and the actual placement of languages becomes less reliable the further down the list one proceeds.

Top 20 Languages as reported by RedMonk

  1. JavaScript
  2. Java
  3. PHP
  4. Python
  5. C#
  6. C++
  7. Ruby
  8. CSS
  9. C
  10. Objective-C
  11. Shell
  12. R
  13. Perl
  14. Scala
  15. Go
  16. Haskell
  17. Swift
  18. Matlab
  19. Visual Basic
  20. Clojure

Is Object Oriented Programming Dead?

Object Oriented Programming has been around for many years, and it used in most of the newer programming languages. According to Wikipedia, the list of object-oriented languages include Java, C++, C#, Python, PHP, Ruby, Perl, Delphi, Objective-C, Swift, Common Lisp, and Smalltalk. I haven’t used all of these languages, but I’ve used Object Oriented Programming for many years in multiple languages.

In this article by Charles Scalfani we learn that maybe everything isn’t all roses and rainbows on the Object Oriented ranch. People are starting to question how useful and powerful these Object Oriented features really are.

At first glance, Inheritance appears to be the biggest benefit of the Object Oriented Paradigm. All the simplistic examples of shape hierarchies that are paraded out as examples to the newly indoctrinated seem to make logical sense.

 

And Reuse is the word of the day. No… make that the year and perhaps evermore.

I swallowed this whole and rushed out into the world with my newfound insight.

Banana Monkey Jungle Problem

With religion in my heart and problems to solve, I started building Class Hierarchies and writing code. And all was right with the world.

I’ll never forget that day when I was ready to cash in on the promise of Reuse by inheriting from an existing class. This was the moment I had been waiting for.

A new project came along and I thought back to that Class that I was so fond of in my last project.

No problem. Reuse to the rescue. All I gotta do is simply grab that Class from the other project and use it.

Well… actually… not just that Class. We’re gonna need the parent Class. But… But that’s it.

Ugh… Wait… Looks like we gonna also need the parent’s parent too… And then… We’re going to need ALL of the parents. Okay… Okay… I handle this. No problem.

And great. Now it won’t compile. Why?? Oh, I see… This object contains this other object. So I’m gonna need that too. No problem.

Wait… I don’t just need that object. I need the object’s parent and its parent’s parent and so on and so on with every contained object and ALL the parents of what those contain along with their parent’s, parent’s, parent’s…

Ugh.

There’s a great quote by Joe Armstrong, the creator of Erlang:

The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.

Banana Monkey Jungle Solution

I can tame this problem by not creating hierarchies that are too deep. But if Inheritance is the key to Reuse, then any limits I place on that mechanism will surely limit the benefits of Reuse. Right?

Right.

So what’s a poor Object Oriented Programmer, who’s had a healthy helping of the Kool-aid, to do?

Stack Overflow Developer Survey 2016

The latest results of the Stack Overflow Developer Survey have been published and it shows that Microsoft needs to rethink their approach to development technologies. They used rely on developers to embrace their vision for technical solutions and development technologies in the enterprise. That relationship is much more complicated today and the latest survey is evidence of that strained relationship.

While the CEO at Microsoft, Satya Nadella, has been talking a good game of changing its partnership with developers, the mission to win back thousands of developers isn’t finished. While Microsoft still gets a lot of developer support with .Net and C#, the company is also helping developers to the cloud with Azure and then extending their reach beyond Microsoft-built technology with support for Node.js and Linux. Can Microsoft win back the hearts and minds of the development community?

Most Popular Technology

GitHub: Popular Programming Languages

If you are learning to write code or are just considering a new programming language, it will definitely helps to know which languages are the most popular. The idea is that a language that is more popular will usually mean more support from other programmers and more job opportunities. The internet site GitHub has tracked historical popularity of various programming languages used by 10 million users since 2008 to rank the overall popularity of languages using the data collected by Linguist.

The top 5 languages right now: JavaScript, Java, Ruby, PHP, and Python. You can read the GitHub article here.

Who Codes in 2015?

Computers in Workplace

In a recent survey by Stack Overflow, we see that there are some interesting facts about developers collected from just their visitors:

  • The average developer surveyed is 29 years old
  • About 60% of all developers are under 30 years old
  • Over 92% of developers are male
  • Almost half of all developers have less than 5 years of experience
  • About 25% of developers have more than 10 years of experience
  • About half of developers don’t have a degree in Computer Science
  • 70% reported that they spend 2 hours (or more) each week programming open source software or as an after-hours  hobby
  • The most popular programming languages used are JavaScript, SQL, Java, C#, and PHP
  • Less than 22% use Mac OS X and less than 21% use Linux operating systems
  • About 10% of developers don’t use a source control solution
  • 36% of developers love their job

Choosing a Programming Language

So you are interested in programming, but just don’t know which language to choose? Here is an interesting infographic that may help you make a decision:

You can see the full-size image here. You can get more information about programming choices here.