Developers.org.ua is the leading site that connects Russian-speaking community of software developers in Ukraine to the world. As a guest writer of GoalEurope, Ruslan Shevchenko, shared his article about the results of the survey conducted by Developers.org.ua. Ruslan Shevchenko is a columnist for Developers.org.ua, and the co-founder and president of Gradsoft, Kiev-based software development company.
Rating of Programming Languages
(Based on the results of the second survey)
Over 3,000 respondents took part in our survey between July 5th and August 9th of 2011 (including 2,663 Ukrainians). Half a year ago, we had 2,394 participants including 2,079 from Ukraine. 23% of last year’s participants responded to the current survey.
Brief Summary
The leaders of the programming languages remain the same. C#, Java, PHP. JavaScript are becoming important. Development on pure C becomes marginalized while Scala is showing a great future. Here are the complete results.
What language have you used to write your first computer program?
The five leading programming languages remain the same. In Ukraine, the most popular is C#; followed by Java; then, PHP and C++. The second tier is headed by Python; succeeded by Ruby; while 1C is the least popular. The most important change is the growth in the popularity of JaveScript which is more evident than Delphi.
Let’s review the distribution of the languages “market share” to see if the gap between C++ and Java has deepened.
The Share of the Language, Comparison to 2010
Here, we see that the gap between C# and Java is growing but only on a narrow margin. PHP share has increased by 1%, while JavaScript has increased by almost 3%.
Let us share our methodology to classify the changes in the language usage distribution as statistically significant. It is assumed that the basic programming language is normally distributed. The changes are statistically significant if the results of the current and previous surveys are confined within the same population with an interval of 0.95%.
In reality, we do not take into account that the overall population is still quite small. There are more than 100,000 software developers in Ukraine. Therefore, in our case, we cannot talk about the changes below 0.95% as accurate. They do indicate certain tendencies which we cannot verify statistically.
A normal probability boundary for an assumption about the changes is too high. We will assume two boundaries: 0.05 (normal statistical significance) and 0.10 (boundary). We will take it into account if the language distribution in the past and the current survey are not the same within the 90% probability.
Let us continue our analysis by looking at what programming languages are believed to have great potentials in the future.
If you started a commercial project and had a choice, what language would you use?
Just like in the past, Python is ahead of PHP. A suprising result has frequently mentioned Scala which gives the language a stable position in the second group. It is possible to design an index of language loyalty as percentage of language users decide upon the language they prefer to use.
Language Loyalty Index
The graph shows that the users of C#, Python and Ruby are least likely to change their programming language, while the users of C, 1C and Delphi are most likely to do so. The C language users are most likely to choose C++ (31.5%). They would continue to use C (22%) or switch to Python (12.5%), Java (10%), C# (9%) or PHP (4.6%). The programmers on Delphi would choose C# (24%), Java (14%), Python (10%) or C++ (8%). The situation would be the same for 1C.
Another interesting observation is that, migration from Java to Scala is 10%, to C# is 5%, to Python is 3.5% and to Groovy is 3.2%.
What additional languages to you use in your work?
Typically, respondents use JavaScript. C and Groovy are also used as additional languages more often than Scala. By the way, appearance of SQL in this table proves that a great number of respondents did not read the preface on this survey (we sympathize with their employers).
The next subject is pet projects. 77% of people who responded to the survey have them. The language distribution is as follows:
Are you working on your own pet projects? If so, which language do you use?
What is interesting is that the number on JavaScript and PHP has increased significantly but Java moved from no. 1 to no. 4.
Now, we move on to the demographic analysis. First, we look at the work experience of the software developers compared to the findings last year.
Work Experience Chart
The conclusion is that, the audience of developers.org.ua has become a little more experienced. The share of software developers with more than 10 years work experience is around 20%. Here is the age distribution:
Software development is a job, mainly, for a young workforce between the age of 20 to 30 years old. A developer older than 50 is quite unusual. There are only 11 people from this age group who participated in this survey. These 11 people use C#, Java (3). C++ (2) as well as Ruby, Delphi and C(1).
The developers within 40 to 50 year-old category use slightly different languages: C++ (16), PHP (7), Java (7), C# (5), Delphi (3), Python (2) and one for Ruby, PL/SQL, Perl, JavaScript, DBase, Basic and 1C. The distribution of the main developer groups is similar to the general picture.
Frequency of switching the main programming language is also demonstrated by our survey. Apparently, they do change it but not very often. Below is a diagram showing the developer’s work experience together with the experience in the given language.
Work Experience in the Chosen Language
Around half of the software engineers with more than 10 years of work experience have change their main programming language at least once while an estimated 10% are learning a new language. Also, there are people who work as programmers for a year or less but has more than 10 years of experience with the language. Evidently, we have our 23 year old “senior developers.”
Also, there is a difference on the choices of programming languages between the Ukrainian and foreign software developers. Outside of Ukraine, software engineers are more likely to use C++ and Python, while PHP and Java are less popular.
And finally, here are the figures.