i'll stick to javascript. coffeescript doesn't add a whole lot to the table, javascript is the standard and that's a good thing, re-writing the language is not the answer in my opinion.
i'd have to imagine that saving a few keystroke might sound sexy to lesser experienced developers, but that really is all it adds to the table.
being able to code on any project immediately off the bat with a standardized language is a huge plus, in terms of flexibility and scalability. you don't want to limit your company to exotic language, only to later find out few months later another new language called "frapscript" is now the new cool thing to do.
i recall the days when i was thrown into a project where the requirement was to use mootools, rather than jquery.
even though they are both "javascript" in nature, it severely limited my productivity. i can see the same thing happening to companies trying out coffeescript, it may seem like you are doing the better thing long-term wise, but in reality, it is not so much. it's better to just stick to standards and you'll be more productive down the line, i can almost guarantee it.
I'm not sure that this will ever be a fair statistic because coffeescript should never really be used for shared / module code IMO. I love CS for my application code but would never release a package on github in CS, only JS.
Once you are releasing things outside of your controlled/team environment using anything but JS is just a loop for others to jump through.
I imagine a lot of projects have both CS source for development, with compiled JS for deployment. That might skew the stats between JS+CS, but it's a good indicator of CS' popularity compared to other languages.
Considering that, releases would be in JS, as they should be.
So you had jQuery experience and were inhibited by working on a MooTools project. I get that, makes total sense.
But then you say that switching to CoffeeScript may seem like a better long term choice but "in reality it is not so much."
Surely MooTools would've been fine for you as a long term choice.
Yes, there is a penalty to switching. Whether it's jQuery to MooTools, JS to CS, whatever. But that doesn't make it a bad long term choice.
Also, CoffeeScript is more than just saving keystrokes. That makes it seem like it's all about initial up-front cost savings. Instead, it's about having shorter, more expressive code. That pays dividends for the life of a project.
"Instead, it's about having shorter, more expressive code."
yes, but at the expense of a lot of other negative baggages that comes along with it. by having it's own compiler rather than leaving that to the browser seems like it's opening a can of worms.
and just reading from the comments, i can see how we could soon see a birth of "another language", that's supposed to be solve all problems coffeescript'ers face.
for one, i guess readability seems to be the common problem, which isn't good for productivity.
There's a bit of a contradiction in your statement. MooTools is much more idiomatic than jQuery in it's use of javascript inheritance, object creation, etc, so it's "more javascript". jQuery is so efficient to work with because it created it's own nice DSL, not because it is standard. The standard could be C, would that make you more productive too?
it was a point that even if you are merely switching a js framework where both are written in javascript, productivity can drop.
if you now switch to coffeescript, something not remotely close to javascript or any other languages fwiw, you'll experience un-productivity. it's akin to having your top developers walking in eggshells and doing nearly nothing close to what he is capable of.
i think coffeescript is great in the sense that we are trying to create a better language. but i also sense how much damage it can bring to budding startups who can't find talented coffeescript'ers to fill the void when their lead developer moves on to other things.
a one off go project, i'd say it's fine. but anything more complex, i think you'll see programmers wishing they had gone back to what they were familiar with.
What damage? You can drop it at any minute and start working on the compiled javascript. I've done this a couple times.
That's true for any tool/language/platform/whatever, everything has a learning curve (and coffeescript's is quite short). Going by your words we shouldn't ever learn anything.
And you shouldn't switch to a language if your developers are not comfortable with it. Do some experiments, try it out on a smaller project, then you might switch if you see good results.
i recall the days when i was thrown into a project where the requirement was to use mootools, rather than jquery. even though they are both "javascript" in nature, it severely limited my productivity. i can see the same thing happening to companies trying out coffeescript, it may seem like you are doing the better thing long-term wise, but in reality, it is not so much. it's better to just stick to standards and you'll be more productive down the line, i can almost guarantee it.