百科问答小站 logo
百科问答小站 font logo



为什么Go语言能比Erlang还流行? 第1页

  

user avatar    网友的相关建议: 
      

曾经使用过一段时间 Erlang,结论是:方便的地方真的方便,但麻烦的地方真的很麻烦。

最终放弃 Erlang 并不是因为社区,文档,或者开源项目的多少,而是因为语言本身。

首先是状态问题,比如要在 Erlang中操作二维地图,很多人都选择用C来实现:

Erlang 如何操作游戏中的二维地图? - 游戏引擎

Erlang写无状态的代码是非常的爽的,代码就像一个个数学公式,把程序“定义” 出来,模式匹配有时也很高效。确实很适合电信系统这种请求与请求间隔离的,前后逻辑关系不大的“非状态系统”,比如 HTTP,比如棋牌或者回合制游戏。

但两个请求间如果逻辑交互很频繁,比如动作游戏,ARPG,两个角色间的交互频繁了,数据前后牵扯状态多了,用 Erlang就比较麻烦了,别人一个函数调用解决的问题,Erlang可能要几个actor之间不停的消息中转;别人改下数组的事情,Erlang可能重新构造树或者列表;别人一句话就说清了,你可能要定义一堆 “数学公式”。

Erlang是一个专业化定制程度很高的语言(非状态类电信系统,请求隔离),所以不能因为 Erlang 在有的地方比其他语言开发效率高8倍(尽管似乎号称),就觉得 Erlang在任何时候开发效率都很高,比如你在 .BAT 文件里面可以这样:

       DEL d:	emp*.jpg       

换成 C++ 可能要写7,8行,大家就觉得 .BAT比 C++方便一样。处理文件和目录或许是,但你说用BAT写点除此之外别的东西,它就傻逼了,Erlang 也是一样,方便的地方挺方便,别扭的地方别扭死你,关键还是 Scala 和 Go 的设计充满了“妥协”,而 Erlang 里充满了 “各种原则”。在适合的领域,这些原则能让你很酸爽,而跳出那个圆圈,这些 “绝不妥协的原则” 会让你花数倍的时间和精力去完成原本很直接了当的事情。

就像:带着tt sex。

就像:穿着雨衣在跑步。

就像:批着披风再游泳。

用 golang的感觉是这样:自由

用 Erlang的感觉是这样:




  

相关话题

  公司规定所有接口都用 post 请求,这是为什么? 
  为什么要使用 Go 语言?Go 语言的优势在哪里? 
  有哪些值得学习的 Go 语言开源项目? 
  大型项目中面向过程思想 vs 面向对象思想,哪种开发效率更高? 
  vlang,nim等新兴语言未来是否有可能掀翻go,rust,Python等老牌热门语言的霸主地位? 
  怎么看 Go 语言依赖需要 Git 仓库可读权限? 
  后端领域,写java的程序员普遍比写Python和go的程序员水平低吗? 
  为什么微软不出一门像 Go 或者 Rust 的跨平台系统级语言? 
  如何理解 Golang 中“不要通过共享内存来通信,而应该通过通信来共享内存”? 
  为啥 Erlang 没有像 Go、Scala 语言那样崛起? 

前一个讨论
如何评价刘慈欣的科幻小说《不能共存的节日》?
下一个讨论
怎样看待各大SRC无底线捧高所谓的白帽子?





© 2025-04-10 - tinynew.org. All Rights Reserved.
© 2025-04-10 - tinynew.org. 保留所有权利