tags:开发随笔
有时候冷静下来想一想,总是觉得所处的这个行业是一个充满悖论的世界。虽然业界对设计思想相当重视,但是很多技术的发展,都和最初的设想大相径庭。java 最初是被设计用来解决嵌入式的问题,却因为可以在浏览器中使用applet而爆发,而这种爆发被证明只是昙花一现,不过却并不影响其最终的命运是在服务器端红得发紫。
相比于 java,JavaScript 的发展更是一个传奇。当年 Brendan Eich 创造它既然只用了10天。之后它在混乱中坚强发展。曾经有很多语言想要杀掉它,或者要取代它,却一个个被它杀掉或者取代。VBScript/jscript 早已坟头长草,coffeescript 之类的也奄奄一息。而 JavaScript 却在野蛮中不断前行,吸收了对手的优点,自身不断演进。
程序员们对 JavaScript 又爱又恨:
- 它看似简单,却有n多诡异的设计。比如在别的语言中极其明确的 this,用在 JavaScript 中也是云雾缭绕。
- 它是如此的普遍,却很少有人说得清楚它的本质,是面向过程,是面向对象,是函数式。你可以在 JavaScript 中随便使用这三种范式中的任何一种,让你的代码看起来像过程,或者面向对象,或者像函数式,却又总觉得有点奇怪。
- JavaScript 开发离不开模块,而模块的规范却有很多,你至少知道有CommonJS,AMD,RequireJS,还有ES2015又整了一个 module...
- 它易学难精:新手有可能在几分钟用 javascript 就可以搞定一个超炫的动画效果,而老手却可能在调试一个细节上耗费几天时间...
- 随便创建一个 hello world 级别的 node 或者 react 项目,你都可能用上了几十个第三方模块, 而更令人看起来触目惊心的则是,有些模块的版本号居然是0.x.x...
或者我们应该悲叹,JavaScript的创造者居然没有提供一个像 java 或者 dotnet那样完善的标准类库就将它推向了世界,造成今天的混乱;
也许我们应该庆幸,netscape/mozila 开放的心态抑或其没落的遭遇,使得这么技术可以不被豪强所劫持,而一直保持着独立与开放,才造就了今天的繁华!
纵然 JavaScript 这个早产儿有着万般的缺点,却并不妨碍我们将它设为关注目标:
- 它是目前为数不多的横跨三界(你懂的,我不是说神人妖,我是说服务器/web 和移动端)的技术,不管你是想为公司少招几个人,还是想自己琢磨整出下一个 facebook 或者 snapchat,JavaScript 都散发着诱人的芳香;
- ES6 /7的演进规范了概念,降低了学习成本,大大降低了异步编程的工作量。webpack, yarn, atom,VisualStudio Code 等工具的演进更令 JavaScript 的开发变得简单;
- 今天 JavaScript 框架 ( React, Vue, Angular) 之争比当年的 IDE 之争和浏览器之争还要精彩...
对于作为弄潮儿的你,2017年 JavaScript 怎能不让你青睐?
网友评论