I asked for help with the questions last year, and collected pull requests and issues to improve the survey. You can view the survey repository at alexyoung/dailyjs-survey. Many thanks to everyone who has helped so far.
The Node.js Advisory Board has been announced, and it aims to be an "open governance model" that helps advise Node's development. That doesn't mean it will take control of Node, but help Node's core team with certain key decisions.
Node's leadership has changed several times over the years, but having a single leader has so far kept the project tightly focused. I love the choices for things that go into the core modules, the source code is actually generally readable, and the API style is consistent.
Now our benevolent dictatorship may be changing, if not ending. There are many reasons why this should be taken seriously:
Will power be taken away from the more altruistic members of the community?
Will Node suffer the negative symptoms of "design by committee"?
Will the board members put economic interests ahead of less commercial projects?
Conversely, Node itself has issues that such an organization could help solve:
What Joyent has proposed reads like a group that will help figure out long term goals, deal with community issues, and handle the legal requirements of a popular open source project. Therefore, I don't think it's comparable to Python's PEP or the W3C.
The only area that sounds PEP-like is section 7 of the Advisory Board document:
Open design: Roadmaps are discussed in the open, and designs receive input from all committers and contributors.
Some people have interpreted this move by Joyent as a knee-jerk reaction to criticism over Node's leadership and the development of Node Forward. Node Forward is a community project that aims to help people learn Node, build and test it, and develop the roadmap.
I'm not unduly concerned about the Advisory Board, and Node Forward seems like a healthy development. However, the Node.js Advisory Board refers to Node as a "language of choice" -- this post is written by Scott Hammond, Joyent's CEO. I'm not sure if it's acceptable for Node's "official" Advisory Board to get this kind of detail wrong. I hope Scott changes "language" to "platform" to restore Node's ambiguous and nebulous status that we've grown to love.
51% of readers write client-side code, while 28% said they write server-side code. Last year client-side was at 98%, so I imagine this is partly due to a changing audience on DailyJS, but it's interesting how strong server-side development is becoming.
CoffeeScript was the most popular "compile-to" language (64%), and TypeScript was up from last year to 19%.
The results for testing amused me:
Sometimes / Not enough / Not too much / When needed: 50%
I like your honesty. "Not enough" could be just modesty, so I'm going to read this as "a lot of readers write tests but think they could be doing better".
Jasmine is hugely popular, with 30%. I still think tap is the best approach, but it only received 2% of your clicks. Mocha's doing well with 27%, and QUnit is down to 16%. I think this is more evidence of a large number of Node developers doing the survey, but it could also be the fact that people see Mocha as a browser/Node module, and QUnit as something just for jQuery (which it isn't really).
CI servers? 36% said yes. Node is definitely CI server friendly -- I've recently been setting up a TeamCity server for Objective-C projects and it's surprisingly hard work. Compared to switching on Travis CI for an open source Node project it's a joke. However, Jenkins is the most popular CI server (44%), and TeamCity got 13%, so perhaps people find it easy to slot client-side or Node tests into an existing CI server in companies that use multiple languages.
AMD is extremely popular.
It turns out people like AMD! However, if we break down the stats for CommonJS, we see 17% using CommonJS and 12% using Browserify. For a long time I advocated CommonJS, but substack's Browserify argument is convincing...
Grunt is winning at build scripts (60%). Fortunately, "npm scripts" had a good response (17%), which is encouraging because I feel like lots of tasks are simple enough to work that way, rather than needing a confusing 200 line Gruntfile.
I was surprised to see AngularJS and Backbone.js both get 25% for client-side frameworks. They have mindshare, but I can't help but feel they solve very different problems.
The common wisdom seems to be IE support should start at IE 8 (37%). I'm going to guess that's to support corporates, which has been the bane of my web development existence for over a decade now.
Do you use ES6 features? 85% said "No", so you're OK if you don't. I probably only do to write DailyJS articles, but we'll see this start to grow over the next year.
PHP is the most popular primary development language (24%), and C# got 17%. Hello .Net folks!
I asked for help with the questions last week, and the response was incredible! I really appreciate the suggestions, and I've made a list of the pull requests that I accepted. Any that weren't accepted were either due to a clash with another suggestion, or lack of time on my part.
Every year I like to run a survey for the readers of DailyJS. It helps me figure out what I should write about, but I also share the results with the community so you can use the data however you wish.
This year I've decided to change the approach. A draft of the survey questions can be found on GitHub, here: alexyoung / dailyjs-survey. You can fork it and send pull requests for questions you'd like to add or change.
After a week or so I'll compile the changes into a Google Drive form and announce the survey has gone live so people can submit their responses.