Categories
Business

How many IDEs does it take to create a programmer?

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.

Integrated Development Environments

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. 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 Integrated Development Environments 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 developers increasingly work across platforms, languages, and sectors, 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.

Which Integrated Development Environments are you using?

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. If you have 12 minutes to spare then do join us in finding out.

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).