The results are in! Thanks to everyone who took part, your answers are
now the property of the community.
A summary of the results generated by Google Docs can be downloaded
I got the feeling that client-side developers felt a little
underrepresented by the survey, so in future I can run additional
client-side, server-side, or even Node-specific surveys if enough people
The purpose of this survey is purely to gather information that will
example, if you're looking to develop an open source project and want to
see what areas are lacking, then maybe this data might be useful.
Download the data, and use it!
Almost everyone who took part said they do browser development (98%).
Server-side web app development is also popular, at 45%. This is up 10%
from last year. I find it encouraging to see an strong interesting in
Unix scripting (14%).
The preferred server-side interpreter was Node, at 71%. 12% selected
Other, and there were some strongly-worded comments about including more environments. Also, clarification will be applied in future surveys
to state whether the question relates to browser, server, or both, and
in this case it wasn't clear to some people.
Testing, Static Analysis, Benchmarks
58% of people don't write tests. This is actually down from 68% last
year. I appreciate that testing might seem awkward for client-side
development, but it's not uncommon to find open source client-side code
bundled with tests, so I'd encourage both browser-based and server-side
developers to at least write basic tests if possible.
JSLint is still the king of static analysis (67%), but Google Closure
Compiler and YUI Compressor are close by at 25% and 21% respectively.
Now the shocking news: Jasmine (44%) has edged out QUnit (41%)! Vows is
also doing well with 13%. Express/Mocha scored 11%, slightly ahead of
Nodeunit at 8%.
Another surprising trend is YUI Compressor is beating Google's Closure
Compiler for minifying code, at 41% vs. 31%. JSMIN is down in popularity
again, from 25% last year to 20% this year.
The well-known cabal of Node developers with prominent packages on NPM
are known for writing benchmarks. However, this survey showed that 81%
of respondents use client-side tools for debugging. I suspect the Node
benchmark fetishists (and I mean that in the nicest possible way) were
represented by the 20% that answered "benchmark using my own code".
Project Discovery and Hosting
Search engines are the next most popular method (51%). NPM seemed a
little bit low to me, at 20% -- the website isn't actually too bad for
discovering projects, it supports keywords and has links to dependent
projects. When I'm working on a Node project I often find useful
libraries through search.npmjs.org.
(90%). Bitbucket is the second most popular at 10%. I wonder if Bitbucket will grow next year given the generous deal they have on
private project hosting?
Google's CDN is the most popular third-party hosting service (83%).
WebKit inspector has edged out Firefox with 66%, compared to 58%.
Surprisingly, 525 people (51%) use
node --debug, which
interested me because a lot of people ask me about Node debugging
without even realising it has the
131 people said they use the Cloud 9 IDE as part of the debugging
question. I've tried this service out myself and it does seem like an
interesting way to work on client-side code (technically any code, but
the debugging for client-side code is impressive).
PHP remains the most popular language amongst our readers, with 46%,
which is the same as last year. I expected (wanted) more people to be
interested in Clojure (2%) or Lisp in general (2%), but Ruby, Java,
Python, and C#/.Net were the other most popular languages, which is
again unchanged from last year.
I promised people in the comments that I'd mention some of the "Other"
field data. This is by no means an exhaustive look at this data, but
some interesting observations.
Some people said they had "no preference" when it came to interpreter.
Others seemed upset that I didn't include 'V8', but I meant the question
that and just included Node, Ringo, etc.
In terms of unit testing, I found the following mentioned:
- Ringo's test module
- Around 10 custom or homegrown unit testing frameworks
- "I must start doing this", "I CODE EVERYTHING PERFECT ON THE FIRST TRY"