OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

我为什么不从NodeJS切换到Go


分享到
分类 心得体会   关键字 Node.JS   发布 ourjs  1396106759073
注意 转载须保留原文链接,译文链接,作者译者等信息。  
2014年3月26日

我最近研究并玩了一下Go语言,并且我想简短地谈一下为什么我不准备从Node切换到GO。(并且我建议你也不要这么干)

首先,人们在讨论Node.js时会有很多的抱怨:

回调地狱


Promises,  它使代码读起来像同步的一样,并且如果你按照合理的标准缩进,在99%的情况下,你不会遇到回调的问题。

Javascript语法很恶心


Javascript拥有完美的可读性,CoffeeScript的更佳。你需要做的仅是成为一名好的程序员,你懂的。

CoffeeScript npm 模块


例如,我还看到只暴露CoffeeScript的模块。它可能是用CoffeeScript写的,但是每一个CS模块都最终在模块系统中编绎成了JavaScript。

Server/Client 之间从来没有被重用过


这当然是对的。除非你不考虑像Moment(分析),FormWarden(验证)这些库,我发现我很少从客户端向服务器端拷贝代码。但是没有切换的东西是很美的,尤其是两个C风格的语言,像Go和JavaScript.

我很高兴我御下了那些负担。

我为什么爱Node.js(和Javascript)


JavaScript一直是我最喜欢的语言,我已经用了好多年了,下面是原因:

她的灵活,我的意思是她能解决我日常开发所遇到的任何问题。通俗一点讲,在大多数情况下我都不会碰到性能瓶颈;如果一个问题出现了,我可以全心全意解决它。我发现静态类型非常繁琐,因为我的工作需要我快速开发原型(然后扩展成复杂的系统)[1],我选择一种可以让我有这种能力的语言和环境。

当然,下一个关键点是,有大量的基于Node的开发工具。Bower解决前端依赖非常有效,如果你用过的话。我自己是Foundation/SCSS的粉丝,但是我们在工作中使用Bootstrap/LESS,并且LESS是由Javascript编绎的。gulp为我的开发提供了一套完美的编绎系统。并能毫不费力的集成到线上,所以在改变样式后,我可以直接看到浏览器的变化(仅需要设置两步监视)。同样,我的服务器端代码也可以被重新加载,多亏了JS的功能,这样我就不用每打一段就重新编绎一次了。它已经重启了,我仅需使用F5去测试我的改动。[2]

我为什么不想换


到目前我可以找到的原因,切换到(Go, Ruby, Python, Erlang, 其他等等),我不得不:

放弃那些非常牛逼的全栈工具(这对于我来说不可接受)。

在前后端切换不同的语言(客户端JS, 服务器端Go),还有一些JS的工具(听起来就很无聊)。

如果我错了的话,关于Go语言的生态系统是可以支承全栈开发的,我非常乐意有人能够指出。我明白我可以使用Go版的Bower,但是我还是需要Node去使用它,这是一个非常大的二次依赖。如果有5位以上的开发者的话,这个问题就会暴露出来。

我现在还没有看到切换的价值。我想说,我现在积极地学习Go是因为我觉得现在还没有什么意义,Go有足够的魅力强势一段时间(也许会持续下去)。

[1] 我在一家代理(广告)公司工作所以我的日常工作跟你的可能有所不同。

[2] Jasmine + CoffeeScript == 真的很牛逼。
原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. JSON为王,为什么XML会慢慢淡出人们的视野
  2. NODE.JS为什么会成为企业中的首选技术
  3. 为什么你写的Python运行的那么慢呢?
  4. 快乐Node程序员的10个习惯
  5. 用纯CSS实现的箭头
  6. 什么是最好的编程语言?(怎样才能爱上编程呢?)
  7. 该不该闭合这些元素?曾经〈br/〉的写法是错误的
  8. 如何雇佣杰出的外包程序员
  9. 为什么优秀的管理者如此罕见
  10. 没必要害怕Angular.Js
  11. AirJD-简单好用的免费建站工具

 相关阅读 - 心得体会
  1. 每周工作不要超过40小时
  2. 10位顶级PHP大师的开发原则
  3. 软件开发中最流行的错误观点有哪些?
  4. 14条建议,使你的IT职业生涯更上一层楼
  5. 不能和老板做亲密朋友
  6. 老码农教你学英语
  7. 不要盲目的在项目中使用LESS CSS
  8. 做为技术人员为什么要写博客
  9. 幸福和成功的十条诫律
  10. 在创业型软件公司的收获

 关键字 - Node.JS
  1. Node.JS如何查看本地MAC/IP地址、计算cpu使用率和内存容量
  2. node.js用fs.rename强制重命名或移动文件夹
  3. Express入门教程:一个简单的博客
  4. Node.JS中如何判断递归嵌套的所有回调函数已经执行完毕,以读取目录下所有文件为例:计数比Promise方式快将近一倍
  5. Node.JS 8.x和9.x新特性:N-API,NPM5,ERROR CODE
  6. Node.JS读取中文TXT编码文件显示乱码问题解决方案
  7. Node.js框架之express
  8. 在nodejs中使用Redis缓存和查询数据及Session持久化(Express)
  9. Node.JS编码规范指南教程:教你优雅地写JavaScript代码
  10. NodeJS动态传参特性:不定个数参数的省略,默认值与解构

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号