我为什么不从NodeJS切换到Go_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 我为什么不从NodeJS切换到Go

我为什么不从NodeJS切换到Go

 2014/3/30 23:08:41    程序员俱乐部  我要评论(0)
  • 摘要:英文原文:WhyIWon'tSwitchToGo(fromNode.js)我最近研究并玩了一下Go语言,并且我想简短地谈一下为什么我不准备从Node切换到GO。(并且我建议你也不要这么干)首先,人们在讨论Node.js时会有很多的抱怨:回调地狱Promises,它使代码读起来像同步的一样,并且如果你按照合理的标准缩进,在99%的情况下,你不会遇到回调的问题。Javascript语法很恶心Javascript拥有完美的可读性,CoffeeScript的更佳。你需要做的仅是成为一名好的程序员
  • 标签:什么 为什么 JS
class="topic_img" alt=""/>

  英文原文:Why I Won't Switch To Go (from Node.js)

  我最近研究并玩了一下 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 == 真的很牛逼。

发表评论
用户名: 匿名