Integrated Development Environments have evolved to solve every problem a developer can have, but in recent years we’ve seen a scaling back of capabilities as developers embrace more-basic options. At VisionMobile our latest developer survey is (amongst other things) trying to find out why, though we do have some ideas on the subject.
When I first programmed a computer I was lambasted, and very nearly ejected from the school computer club, for not having written my program out on paper before arrival. Computer time was too precious to spend composing lines of code, minutes at the keyboard should be spent entering pre-written programs; not making them up as one went along.
Needless to say that was a very long time ago, and these days program composition is done using a screen (or several) with working code being thrown together in what looks suspiciously like a process of trial-and-error. The modern IDE won’t let a compiler crash for want of a missing semicolon, or the use of the Queen’s English (“colour”? Really? ). A modern IDE will spot variables using the wrong case, and APIs which haven’t been imported, reducing the development time and making life easier for the developer – but, if modern IDEs are so great, why do so many developers choose not to use them?
Vi, Emacs, Notepad++, and Sublime, all make regular appearances in developer toolkits, despite the existence of fully-featured alternatives. You might be a savant mnemonic who’s only outlets are Street Fighter II and programming in Vi, but for most humans a menu structure and “compile” button are essentials.
Microsoft’s Visual Studio is still the standard by which others are measured, though at $499 it’s not the cheapest option which may put some people off. Eclipse provides almost as much utility for a lot less money (none at all), and Visual Studio Code (Microsoft’s free code editor) is now at version 1, and also free. A licence for Sublime Text, on the other hand, will cost you $70 – so the choice is not really about money.
We know that [tweetable]developers increasingly work across platforms, languages, and sectors[/tweetable], and this may provide an answer. Visual Studio can do it all, creating applications for mobile devices, embedded technology, and cloudy servers, but so can Notepad++, and with less effort, and better support.
Take the support site for the Adafruit Trinket (a $7 prototyping board), which provides a step-by-step guide to creating applications using the Arduino IDE, so when I want to program a Trinket then that’s what I use. I’m sure that I could use Visual Studio, and it would be pretty and probably reduce my development time, but it would take effort to get it configured and I don’t spend enough time programming the Trinket to make it worthwhile.
Similarly – if I’m knocking out some Python I’ll boot up IDLE, and when I need a bit of HTML I’ll use Notepad++. These are not the best tools available, but they are the default tools and will work with every library, plugin, and extension available. If I programmed Python every day then I’d find a better tool (or perhaps a better job), but I’m too lazy to muck about getting a proper IDE configured and will make do with what’s available.
Thanks to a dot.com development career I’ve no time for debuggers or unit testing (testing is what users are for) which makes these bare-bones tools ideal for me, but what we at VisionMobile would like to know is why you choose one IDE over another, and how many you’re using on a daily basis.
When you complete our 11th Developer Economics survey you won’t just be asked which IDE you like to use, but also what you use it for, and why you like to use it. We’ll break down the data, and share information on who is using what, and why.
We’re not just collecting data on how developers create software, we’re collecting data on how developers would like to create software, and what stands in their way, so if you have 12 minutes to spare then do join us in finding out.