I’m tired of using a gajillion languages in one stack. A few years ago, it made sense, and there was no better way of doing things. But in the last five years or so there have been a number of wonderful innovations that are (fortunately) rendering this old pattern of using many languages in one stack (LAMP, for example) obsolete:
- V8 allowed Google Chrome/Chromium to handle complex, interactive front-ends.
- Document-based databases, like MongoDB and CouchDB allowed data to be modeled and stored more naturally and dynamically. (And in my opinion graph databases like OrientDB and Neo4j do this even more so, but they are less popular.)
- FireFox 4 caught up to Chrome’s speed, sort of.
Using a full JS stack, we can just pass JSON objects around all day long, and never have to worry about data types or formatting. Forget toArray() or toJson()! Such a stack would only need to include Mongo and Node.
Update: This article directly supports my ideas for the development team benefits of using full stack JS.