6 Jul 2015


最近在阅读一篇关于过度设计的文章I BET YOU OVER-ENGINEERED YOUR STARTUP时, 我看到这样一个有趣的评论.


I agree, I can’t keep up, I just finished learning backbone.js and now I’m found out on that it’s old news, and I should use ember.js, cross that, it has opinions, I should use Meteor, no, AngularJS, no, Tower.js (on node.js), and for html templates I need handlebars, no mustache, wait, DoT.js is better, hang on, why do I need an HTML parser inside the browser? isn’t that what the browser for? so no HTML templates? ok, DOM snippets, fine, Web Components you say? W3C are in the game too? you mean write REGULAR JavaScript like the Google guys? yuck, oh, I just should write it with CofeeScript and it will look ok, not Coffee? Coco? LiveScript? DART? GWT? ok, let me just go back to Ruby on Rails, oh it doesn’t scale? Grails? Groovy? Roo? too “Springy?” ok, what about node.js? doesn’t scale either?? but I can write client side, server side and mongodb side code in the same language? (but does it have to be JavaScript?) ok, what about PHP, you say it’s not really thread safe? they lie?? ok, let me go back to server coding, it’s still Java right? no? Lisp? oh it’s called Clojure? well, it has a Bridge / protocol buffers / thrift implementation so we can be language agnostic, so we can support our Haskell developers. Or just go with Scala/Lift/Play it’s the BEST framework (Foresquare use it, so it has to be good). of course we won’t do SOAP and will use only JSON RESTful services cause it’s only for banks and Walmart, and god forbid to use a SQL database it will never scale I’ve had it, I’m going to outsource this project… they will probably use a wordpress template and copy paste jQuery to get me the same exact result without the headache and in halfquarter the price


我承认, 我已经跟不上了, 我刚刚学完了 backbone.js 就发现它已经过时了, 我应该去学习 ember.js, 还有不同的声音是, 我应该使用Meteor, 不, 还是 Angular.js 吧, 算了, 还是用Tower.js(基于 node.js )吧, html 模板方面, 我需要 handlebar, 而不是mustache, 等等, DoT.js也许更好, 再等一下, 为什么我需要浏览器内的HTML解析器? 这不就应该是浏览器本身的职责吗? 要不就不用 HTML 模板了? 好吧, 就选择 DOM snippets 吧, 你是在说 Web Components 吗? W3C不正在做这个么? 你是说像谷歌一样开发一套常规的 JavasScript 语言么? 噗, 我还是用 CoffeeScript 吧, 写出来的效果也还不错, 不用 CoffeeScript 了? 改用Coco? LiveScript? Dart? GWT? 好吧, 我们还是回到 Ruby on Rails 吧, 什么? 它不易扩展? 用Grails? Groovy? Roo? 太具弹性? 好吧, node.js怎么样? 也不易扩展?? 但是用它我能在客户端, 服务端和mongodb端用同样的语言完成开发? (但是何必用 JavaScript 呢?), 好吧, PHP怎么样, 你说它并不是真正的线程安全? 他们在撒谎? 好好好, 我们再回到服务端编程吧, Java仍是正确选择么? 不好? 那Lisp呢? 哦, 应该是 Clojure ? 恩, 它有一套 Bridge / protocol buffers / thrift 的实现, 这样就可以达到语言无关了, 这样我们也可以支持 Haskell 的开发人员了. 或者就转到 Scala/Lift/Play 上吧, 它们都是最好的框架(Foresquare 就是用的它们, 它们肯定很棒). 当然, 我们不会使用SOAP, 俄日是只用 JSON RESTful 服务, 只有银行和沃尔玛还在用SOAP, 再就是, 一定不要用SQL 数据库, 因为它们根本没法扩展. 我还是把这个项目外包出去吧… 他们可能会使用 Wordpress 模板,然后复制-粘贴 jQuery 代码, 就可以只用很少的代价获取同样精确的结果.