Three years ago, Steve Yegge published an article titled The Next Big Language. He described a language of future as:
- having C-like syntax;
- garbage collected;
- with dynamic typing;
- with debugger, IDE, and refactoring tools;
- supporting usual modern features such as regular expressions, associative arrays, closures, and OOP;
- cross-platform (including GUI apps).
So what do we have now?
- High-performance proprietary and open-source implementations have appeared (Opera Caracan, Mozilla SpiderMonkey, and Google V8). They use just-in-time compilation, hidden classes, and other clever techniques to boost performance, just like Steve Yegge predicted.
- There is an SQLite driver and a package manager for node.js;
- Heroku offers node.js hosting;
- There are popular client-side libraries such as jQuery for DOM traversal, animation, and AJAX, Dojo Toolkit for widgets, TinyMCE for WYSIWYG text editing, etc.
- Mozilla plugins Firebug and Venkman can be used for debugging.
Programming tools are still immature, especially on the server side, but we can expect rapid progress in this area.