From the sublime to the ridiculous: Development tools in Dev Services

As a ColdFusion developer, my own journey to finding the perfect development environment has been, I suspect, fairly typical. I cut my teeth with Dreamweaver. I progressed to ColdFusion Builder 1, then 2. I toyed with Notepad++. I gave Eclipse a whirl. Most recently, I’ve been developing almost exclusively in Sublime Text 2.

I feel that my switch to Sublime Text has increased my productivity, so naturally I was curious about what others in the team were using, and whether it would be worthwhile purchasing licenses for the team(s). To find out more, I asked colleagues within Development Services to participate in a survey about their development environment preferences.

21 people were kind enough to take the time to respond, here’s what I found:

Q1. What languages do you work with?

Question 1: What languages do you work with?
Question 1: What languages do you work with?

With skills across a range of software platforms, we’re not a one-tech-shop, so to get some context I had to ask respondents about what languages they were developing in.

It was interesting to note that we have more developers using Java than ColdFusion, despite ColdFusion being our primary development platform.In hindsight, perhaps I should have framed the question to include a weighting on time spent on each language.

There were no surprises that SQL is ubiquitous and JavaScript usage is widespread.

The 3 “Other” responses were: Bash, Unix shell scripting and C#.

Q2. How do you run your local development?

Question 2: How do you run your local development?
Question 2: How do you run your local development?

I thought that whilst I had people completing the survey, I might as well try to find out some additional things about how they worked, like their approach to local development.

The ‘Other’ response was:

for SITS we have to develop on the client but use a lot of local development sometimes with VMs etc

I was surprised by the number of respondents who use locally installed server software, personally I have found the use of virtual  machines to have huge advantages in simulating infrastructure, and assisting collaboration within projects.

From the two main virtualisation options, VMWare player has the edge over VirtualBox.

Q3. What do you currently use as your primary development tool?

Question 3: What do you currently use as your primary development tool?
Question 3: What do you currently use as your primary development tool?

This is the question I was really interested in: What IDEs or editors are being used for development?

Unfortunately I only allowed respondents to choose one answer. Some obviously couldn’t decide and so choose ‘Something else’ and put multiple tools:

  • Spring Tool Suite/Eclipse/Webstorm
  • I switch pretty evenly between eclipse & netbeans
  • PSPad
  • SQL Developer
  • Oracle Developer but also use Notepad++
  • SublimeText (evaluation period), ColdFusion Builder 2, NetBeans
  • PHP Storm and Notepad+

It looks like Sublime Text has the edge, with Eclipse and NetBeans coming in close second.

Q4. How do you feel about the IDE/editor you chose?

Question 4: How do you feel about the IDE/editor you chose?
Question 4: How do you feel about the IDE/editor you chose?

I asked this question because I wanted to know if people are satisfied with what they’re using.

The results show that people seem mostly satisfied. Some respondents gave detailed feedback:

I’m pretty happy with both eclipse & netbeans, although both have their niggles. I don’t think there’s such a thing as the perfect IDE. At 7 below, I say I’d consider switching to SublimeText, but I’d need to evaluate it as I have never used it. I’m not sure how well it would work for Java development, and there is an eclipse plugin for Drupal development I use which I don’t think would be there for SublimeText.¬† [Answered ‘eclipse and netbeans’ in Q3]

It has lots of niggles and there is not a better alternative available in the University, there are better ones available though. [Answered ‘Oracle Developer but also use Notepad++’ in Q3]

CFBuilder does the IDE job, LOVE SublimeText does it all (or most of it – CF), Love NetBeans (Java), Like Eclipse (Java) [Answered ‘SublimeText (evaluation period), ColdFusion Builder 2, NetBeans‘ in Q3]

I don’t really like it, but haven’t made the effort to sort out a different one… [Answered ‘Eclipse‘ in Q3]

Q5. What features do you use?

Question 5: If you use an IDE, what features do you use?

I wanted to know more about what features our developers were looking for in their choice of IDE/editor.

The results show that only around half of the respondents use the features that IDEs provide, the other half are only using it as an editor, or not using an IDE at all.

I wondered why some people are finding value in the IDE features, and some are not. Perhaps there is a link with development platform? I correlated the results with the development platform data from Q1:

Correlation between development platform and usage of IDE features.
Correlation between development platform and usage of IDE features.

This shows that:

  • All but two of the Java developers use multiple IDE features.
  • No ColdFusion or PHP web application developers use IDE features unless they also develop in Java.
  • The developers working on 3rd party applications do not use IDE features except for one respondent who uses line debugging..

My own experience of using these IDE features within a ColdFusion / ColdFusion Builder context has been largely frustrating. Line debugging in particular would be a useful troubleshooting technique, but configuring it to work with my local development environment (i.e. ColdFusion running in VMs) is enormously difficult and can turn into a huge timesink. This is an area where collaboration may be useful to find some kind of solution that is workable.

Q6. Would you like a Sublime Text license?

Question 6: Would you consider switching to Sublime Text if a license was purchased?
Question 6: Would you consider switching to Sublime Text if a license was purchased?

Sublime Text is not a free product. Would more developers use it if the University provided licenses?

The results suggest that three quarters of those surveyed would be interested in getting a license for this product.

Summary

People are using a wide variety of tools to support development.

Most ColdFusion developers only require editor features, whereas most Java developers use multiple IDE features.

Many developers would like to use Sublime Text if we had a license for it.

I was not surprised at the positive response to Sublime Text. Personally I have found that it offers many features, such as multi-line editing, which are a huge boost to productivity,

Thanks to all who participated in the survey, I feel that the results demonstrate that there is a strong case for offering Sublime Text licenses for those who would find it useful.