Categories
Languages

The Queen of Programming Languages with 11M+ Users

The choice of programming language matters deeply to developers because they want to keep their skills up to date and marketable. Programming Languages are a beloved subject of debate and the kernels of some of the strongest developer communities. They matter to toolmakers too, as they want to make sure they provide the most useful SDKs.

Here is an update on Programming Language Communities, from our State of the Developer Nation Report 17th Edition.

It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or Github’s Octoverse are great, but mostly offer only relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically, or skewed towards certain fields of software development, or open source developers.

The estimates we present here look at active software developers using each programming language, across the globe and across all kinds of programmers.

They are based on two pieces of data:

First, our independent estimate of the global number of software developers, which we published for the first time in 2017. We estimate that in mid 2019 there are 18 million active software developers in the world.

Second, our large-scale, low-bias surveys which reach tens of thousands of developers every six months. In the surveys, we consistently ask developers about their use of programming languages across ten areas of development, giving us rich and reliable information about who uses each language and in which context.

JAVASCRIPT REMAINS QUEEN OF PROGRAMMING LANGUAGES

11M+ developers use Javascript

The most popular programming language by a wide margin is Javascript, including derivatives like TypeScript and CoffeeScript. The Javascript community counts over 11 million active developers. Even in software sectors where Javascript is least popular like machine learning or on-device code in IoT, over a fifth of developers use it for their projects. 

Programming language communities Q2 2019
Programming language communities Q2 2019

The rise of machine learning is a clear factor in the success of Python:

8 in 10 machine learning developers use Python in their work (compared to just 25% using R, the other language often associated with data science). Java, of course, is a cornerstone of the mobile app ecosystem (Android) as well as a great general-purpose language.

Language use is not static: developers drop and adopt new languages all the time

It would appear that it is not meaningful to speak of “Java developers” or “Python developers” in any fundamental sense, other than that they use those languages at a certain point in time. While we see a net decline in the use of most languages by our repeat respondents, some languages reverse that trend and show significant growth. The first of these is Kotlin, which we are confident to say is the rising star in the programming language firmament.

Kotlin’s rank among programming languages moved from 11th to 8th place in just a year, and one in ten developers now use the language.

Rank of programming language communities 2017-2019
Rank of programming language communities 2017-2019

Tracking the ever-changing landscape of the software development ecosystem is why we run our Developer Economics surveys twice a year and there is one live right now. To track changes on programming languages, tools and platforms we need you to share with us your coding experiences!  We would be very interested to know what programming languages, hardware, frameworks and platforms you use, and the types of projects you’re working on.

Has the new Oculus Quest piqued your interest and restarted the heart of VR development? Or is AR and mixed reality where it really is? Help us tell the technology leaders what you think, and by doing so become part of the change you want to see in the tools you use.

Categories
Community Platforms

Angelo Kastroulis – Mobile Development Runs Deep

blog_interview

Developer Profile:
Angelo Kastroulis

Angelo Photo (1)

At VisionMobile, we believe in the people behind the numbers. While it’s important to understand numbers, trends and segments, it’s equally important to understand the people who buy our products and services. This developer profile is one in a series designed to help us get to know some of the people behind the statistics.

Job title and company:
Founder, Independent Consultant at Carrera Group

Country/Area:
Florida, United States

Development Focus:
Enterprise software expert for hire. “I like doing independent work,” he explains, “there’s no enterprise baggage.. You’re there to do a job, to solve a difficult problem, to help clients through something.” There’s where he likes to focus: on fixing problems and doing so outside of a company’s culture. He continues, “I know we’re not going to rewrite this whole thing: I’m here to do one specific thing and provide some development help or architectural advice to help get you out of a jam. For six months, I can help with this antiquated technology.”

He works across multiple technologies, but focuses on the healthcare industry.

Languages used:
Kastroulis counsels against getting too caught up in language or platform fanaticism. He recommends using the best tool for a given job. That said, his go-to technologies include JavaScript (Node.js), Microsoft .Net, C, Python, and a “tiny bit” of Java.

Favorite project built recently:
Kastroulis reports how he enjoys working on new projects with new challenges. His favorite project was building a high performance column-store database kernel. Another recent project was an electronic prescribing and ER discharge application for both the web and iOS devices.

Favorite tools:
As do many developers, Kastroulis prefers to use the appropriate toolset for the project – and to choose toolsets he’s most familiar with. Enterprise developers may not have that flexibility, but independent developers often do. His favorite toolset is Visual Studio Code, which works across platforms. He also uses node.js and a lot of JetBrains tools (especially for C and Python). On a Mac he uses Sublime Text and command-line tools. Of course, for source code management he uses GitHub and Git on the command line. “I’ve worked with Amazon Web Services (AWS) and Heroku, but Azure is my cloud host of choice,” he adds. “Azure is easier to work with and it’s HIPAA compliant.”

Best developer-related advice you would give to another developer
While it’s hard to predict the future, Kastroulis advises developers to “get an idea of where the world is headed and try to get there first.” He concedes that you may not always be right, “but follow your gut.” Take advantage of industry knowledge, and take advantage of the expertise you gain focusing in your industry (healthcare, financial, and so on).

Categories
Business

Every year software developers get less experienced

That might sound odd, but it’s one of many conclusions drawn from our biannual study, and presented on developer experience in our (free) State of the Developer Nation report.

The report draws on data from the world’s-biggest survey of those working in software. During the latest wave we reached more than 21,000 developers, and found that they have less experience than they did a year ago.

Developer Experience across all areas

Not individually of course. There’s no memory loss involved here. What happens is that the developer community is growing, and new programmers inevitably bring down the average level of experience. This has serious implications for the future of the industry.

If we take mobile developers, who are typical, we can see that right now 40% of them have been developing software for more than six years, but a year ago that proportion was 43%. At the other end of the spectrum we have 17% of developers with less than a year under their belt, up from 14% this time last year.

Building Developer Experience

That pattern is repeated across all sectors, even IoT (which is so nascent it often bucks the trends). While a good proportion of developers have built up their skills over time, we are going to have to adjust to a world where more software is being created by developers with less hands-on experience, and understand the implications of that trend.

One of those implication is a shift in the popularity of certain programming languages over their more-traditional brethren. This time we’re focusing in on the last six months, but if we again look at mobile developers we can see them embracing scripting languages, at the cost of Java and the various forms of C. Objective C takes the biggest hit, assaulted by Apple’s new wonderkid Swift on one side, and the (JavaScript powered) cross-platform toolkits on the other. Objective C is dropping fast, while C/C++ has a gentle decline and C# is just about holding its mindshare (thanks to Xamarin, which compiles C# to Android and is now a Microsoft property).

On the cloud the trend is less pronounced, but still evident. Java is growing, but so are all the other languages. PHP… C#… Python… in fact all the top languages have gained mindshare as cloud developers become increasingly polyglot while giving up on some of the niche dialects.

Developer Experience: the rise of high level languages

One area on the rise, across all the sectors, is the use of visual tools for software development. These drag-‘n-drop environments are often looked down upon by “proper” programmers, who respect the digital hierarchy (where Assembler is king, dialects of C make up the court, Java is left outside the room, and scripting languages aren’t permitted into the palace). These visual tools are still only used by a minority (25% of mobile developers, 19% of cloud) and fewer still rely on them as a primary tool (5% across mobile and cloud) but that proportion is growing steadily, and relentlessly.

The fact is that there aren’t enough low-level programmers to go around, and most applications don’t need them. Visual tools, and scripting languages, are good enough for the vast majority of applications in any sector. That applies across consumer and enterprise markets, as users of all kinds start creating apps with a few clicks. However, there is a question about how long can we consider those users to be software developers, and the tools they use to be designed for software development.

“If This Then That” (IFTTT.com) is a marvellous tool, enabling anyone to create “recipes” where an event (“this”) triggers an action (“that”). An incoming email can trigger the (Philips Hue) lights to flash red three times, making the owner feel like Batman while simultaneously aggravating his whole family.

IFTTT users can chain recipes together, creating actions that seed multiple events, loop back on themselves, and even branch based on inputs. At some point we have to accept that the IFTTT user has become a software developer, or that IFTTT shows us what the future of software development might look like.

Not all applications will be written that way of course. Lower-level languages will still be needed to plumb the functionality together, but there will come a time when the vast majority of applications will be created by developers with no software development experience at all.

Developer Experience trends

That day is a long way off, but with every year it gets a little closer and our data shows that process is in action. You can see more by downloading our State of the Developer Nation report, or talking to us about custom reports looking at the developer community, while there still is one.