Last week, Stack Overflow released the raw data from their 2016 developer survey. The survey gathered responses from more than 50,000 developers on almost 50 questions ranging from demographics, technology use, and the important issues, like people’s preferences between Star Wars vs. Star Trek. Stack Overflow’s report is well-worth visiting as a starting point for the survey results. This post is intended to augment some of their findings with additional perspectives on developer tools and technology preferences.
Most-Used vs. Most-Desired Technologies
Stack Overflow asked developers which languages or technologies they’ve done extensive development with within the last year as well as which technologies they want to work with this year, both with the option to select all that apply.
Stack Overflow provided 42 possible responses to choose from. In addition to polling users about language preferences, the Stack Overflow survey also included additional technologies including frameworks, databases, and platforms, among others. Below are the top 25 selections.
- The language preferences loosely align with the semi-annual language rankings published by RedMonk. This makes sense 1) because discussions in the Stack Overflow community are a primary input of the RedMonk rankings and 2) we do not expect them to match exactly. With each release of rankings, Steve routinely cautions that the absolute ranking is less useful than viewing the tiers of languages. From that perspective, the survey’s findings of current languages preferences align with language rankings as determined at RedMonk.
- Rust had the highest change in ranking between currently used and desired technologies, moving from a ranking of 41st to 25th. Steve previously questioned when Rust would hit “the proverbial tipping point.” Based on this survey, it seems like that point may be drawing closer.
- Visual Basic had the sharpest drop off between currently used and desired languages, moving from a ranking of 20 in presently used technology to the 38th desired technology.
- Given the growing prevalence of cloud computing coupled with the recent attention paid to DevOps, it’s notable that respondents’ interest in working with cloud technologies is fairly stagnant. Some of this, however, could be attributable to terminology and survey construction.
- In terms of both current development as well as desire for future development, Android currently tops iOS as the mobile development platform of choice.
Operating Systems and Development Environments
The survey asked what desktop OS respondents used most. Mac OS X is the single most popular operating system with reported use by 26% of respondents. However, Windows is the clear frontrunner once its various versions are aggregated; in total, 52% of respondents are using some version of Windows for their desktop OS. Variations of Linux account for the remaining 22% of operating systems.
The survey also asked developers for details about the integrated development environments and text editors they used regularly, with the respondents able to choose all that apply.
Here’s the total reported usage of various development environments.
Here are views of development environments broken down by operating system.
Based on the way the survey was designed, these graphs do not necessarily reflect a direct connection between OS and development environment. Respondents could choose only their most used OS but had the option to select any development environment they use regularly. It’s conceivable that a developer who works in multiple operating systems (or works in one operating system but programs as a hobby in another) could therefore select development environments that are not associated with their primary operating system.
With that caveat, there are still obvious differences in IDE/text editor usage based on primary operating system. Notepad++ and Visual Studio top the list of development environments, and both are the most Windows-centric tools. Over 80% of reported uses cases for both tools comes from users on a Windows OS. The frontrunners are less obvious amongst Mac and Linux users, with many tools sharing relatively similar levels of use. The development environments also tend to be less dominated by a specific OS, with the exception of Xcode (three-quarters of Xcode users are on Mac OS.)
There is strong evidence of continued fragmentation in developer technologies. There is not any one overwhelmingly popular development tool or approach. This proliferation has several implications. For developers, there is a benefit to the increasing likelihood of finding a precise tool for a precise purpose. However, this also means that there is a growing number of technologies to choose between and more technologies to keep up with. This also impacts those targeting developers, as this fragmentation makes it harder to gain traction or stand out amongst the many available options.