I've got Jared doing the donkey for for me today. Here's his article on the results of the CFML IDE survey he ran last week:
First of all, may I say thank you to Adam Cameron for hosting this post. I've been a ColdFusion developer for too long a time now, and it's only because of people like Adam Cameron and others, that I feel there is a community behind this language.
I have to thank everyone who participated in the survey, 132 of you in about 2 days. That's pretty good going in my opinion. Sadly, those 32 extra responses won't be counted as I have not paid for more than 100 responses. Thank you for your input though.
I wanted to get a sense of what the community were using for their main development purposes. Myself? I started off on Dreamweaver, moved to Eclipse with CfEclipse and about 2 years ago switched to Sublime with community made CF Support. My theory was that many have gone down this path, they started with a heavy IDE and either found their environments were never properly setup to use it, or that they were far too beastly for what they were doing.
As much as I like IDE's, the environment really has to be setup for it to be useful, mine never were, our servers didn't support step debugging, so switching to a lightweight Advanced Text Editor that has allowed the extensibility to be used much in the same way as an IDE made complete sense.
I should say that an Advanced Text Editor is normally a very light weight program that will contain different types of language support for highlighting and closing of brackets and such, but with a plugin extensibility that allows for things like linters. They don't normally allow for debugging unless the community have gone completely out of their way to add it.
With my theory, I wanted to find out if the community was still using IDE's. Adobe and the CF team have invested a lot into ColdFusion Builder. Personally I think we've moved on past these heavyweight tools… Adobe have been investing in their open source community project Brackets. This already has a lot of support for many languages, but none for ColdFusion. I've argued in the Slack channels that I would prefer Adobe to focus development on, or at least put some first class support into, projects like Brackets over ColdFusion Builder. Many have argued against me, claiming there is still a want and need for ColdFusion Builder.
This survey was far from perfect, as some (Adam…) of you pointed out. Yes it was slightly Yoda-ish, maybe I should have used checkboxes instead of Radio Buttons… But I think it gives a first attempt to find out what the community is using day to day. So let's take a look at the results from the first question.
For the first question, I asked: For general purpose development, including ColdFusion, I use as my IDE?
From these responses, we can see that overwhelmingly, Advanced Text Editors are being used for general purpose development (with a ColdFusion edge). Sublime Text appears to be the community favourite, which I can understand as it has a well supported and developed ecosystem of plugins. 21 of you are using IDE's (Dreamweaver, ColdFusion Builder, Eclipse and Eclipse with CFEclipse) which isn't surprising, ColdFusion is still a Enterprise Language, with Enterprise Pricing, so the features offered by these make sense.
There was one IDE that I had forgotten about: IntelliJ iDEA, you made it well known by telling me in the "Other" choice. With the responses from there, IDE's are still behind their more lightweight counterparts.
The second question was more focussed on specific ColdFusion development tasks, yet it still followed the trend from the first question.
There is a bigger increase in people using ColdFusion builder here, but the lightweight options are still winning out. I still feel this is because many of us are no longer ColdFusion developers, we're Web Developers, we work with lots of different languages, rather than a singular thing. Also IDE's, especially eclipse, have been known to leak like a sieve and so many of us have abandoned them to allow our browsers to be the only leak.
The 3 of you that are using Vim for your daily ColdFusion development…. I doth my hat to you.
After finding out what you were using for most of your development, I wanted to know what YOU would prefer the adobe/ColdFusion team to focus their tool development on… Whilst I didn't explicity state this, I wanted to know: Does the community want to see a ColdFusion Builder 4 or much more focus on first class support in something like Sublime (though I would understand if they chose Brackets since that is already an Adobe product).
88 of you responded… I made a mistake here in not making a mandatory question. However the results still speak for themselves.
The vast majority are looking for the ColdFusion team to shore up efforts on the lightweight editors available. The way of the IDE has gone. That said, 50 of you responded to my final question, asking why you chose your answer in the above question. Some highlights from the pro IDE group include:
eclipse is using too much resources. but to be honest IMHO i don't mind what type or what tool, but what we need is a fully supported IDE with non-buggy syntax-highlighting, docs which are integrated, documentation feature and step-debugging; and we need sonar again supporting CFML and we need all that stuff that "normal" languages have support for in IDEs to get CFML called a "normal" language - until now it's still nearly impossible to have that all at acceptable costs (in matter of time and/or money)
I'm flipping back and forth between CFEclipse and Intellij IDEA for development because to me they offer a much greater level of functionality than advanced text editors. I've tried both Atom and Brackets recently, and they both crawl when trying to work with our code base. Adding plugins to replicate functionality present in IDE's only makes the situation worse.
They have a good basis in CFB and it matches their target market (enterprise).
There is nothing that motivates me more than Visual Studio. It's a learning tool in addition to a development tool. Text editors are garbage for inline documentation and inspection.Some of you who are more towards using Sublime Text et al, are saying:
I've never had the need for IDE features and I like using one editor for every purpose.
Most of my coding involves front and back end work, with more than one language. I'd rather the flexibility that comes with an advanced text editor. I don't need the bells and whistles of an IDE. I also prefer the speed of a text editor
I moved to SublimeText from Eclipse. The latter was taking 30 second plus just to kick up. Maybe it's faster now, but I doubt it's better in terms of day to day editing, especially as I'm currently working with around a dozen languages/file formats. Having some of the more 'involved' CF stuff (debugging, CFC introspection) in ST would be cool, but bottom line is I'm not even looking at anything outside ST
There are also those of you saying that you don't want them spending time on either:
I don't think they should...let someone else do it/make it easier to build open source tools.
Actually neither, but of the two IDEs. I'd rather they focus on just improving ColdFusion and not letting it completely die.
None of the above actually, they should just focus on the language.
And of course those that say:
Sublime sucks ass
It's not quite as cut and dry as I expected, but Advanced Text Editors are in a lot more use within the community. Those that did answer question 3 showed a greater want for the ColdFusion team to develop and support Advanced Text Editors over IDE's, but since CF is an enterprise language and has enterprise pricing there are still many of you making full use of the benefits an IDE can bring.
Thanks fella. I have to say I've not read it yet: I'm a bit tied up at the moment, so I'll look at it tomorrow.
Oh, and speaking of surveys... I'm still running the one about bug trackers. I'm still shy of enough results to write up, so if you ain't done it yet, perhaps go have a click: "Survey: bug tracking software UX expectations" (direct link: https://www.surveymonkey.com/r/LJDXRNB).