In these days there are many projects whose aim is to bring new languages to the browser by compiling them to JavaScript. Among the others one can mention ClojureScript, CoffeScript, Dart, haXe, Emscripten, Amber Smalltalk.I'd like to try a few of these out, but I am not sure what I should be looking for when evaluating these languages to see if they are suitable for production.How should I evaluate a new browser language, and what are the pitfalls I should be looking for?
How should I evaluate new browser languages?
javascript;compiler;browser
This list could be used to evaluate a language, technology or process.Does this language offer some benefit over what I currently use and trust?Who else is using the technology in production and how does it seem from a user stand point?What kind of community support does this project have? The more people using and working with something new the better your chances of getting things fixed and new features added.What kind of learning curve does this language have for your team? The more difficult it is to pick up the greater the returns in functionality, speed, readability or maintainability must be. Does this make sense for the project you are trying to complete? A great technology with only a few small advantages may not be worth the switch.Lastly, give it an eye test. See how it works on a small sample to see how it really works for you and what problems you need to solve.Specific things to look for with languages that compile to JavaScript:Speed is a big issue with JavaScript, so testing the new language on a task vs the JavaScript you write yourself would be very helpful. You may find that the language writes faster running code than you do.How easy is it to debug vs using strait JavaScript? It can be an issue if the generated JavaScript is to difficult to understand when things go wrong.Check the overhead of using the included libraries, if everything is local it can be deceiving on how much code is being transferred to the client at every page load.