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



为什么 Go 语言能在中国这么火? 第1页

  

user avatar   ling-jian-94 网友的相关建议: 
      

对大多数公司来说Golang的主要优势是和C++比有GC,和Java比更简洁,和Python比更快,这就在一个不错的位置上了,没有明显的短板。以大部分程序员的水平而言,Golang的缺点还还没有到能对他们产生困扰的程度,他们自己给自己造成的麻烦比语言给他们带来的麻烦多得多。

有的公司和程序员是被旧的语言逼疯了,C++老是内存泄漏或者crash,Java老是变成一大坨,Python老是重构火葬场,就觉得,我换个新语言,这些问题肯定都能解决了。而且往往换完发现的确有很大改善。

但我不得不泼一盆冷水:没用的,真的没用。

垃圾代码的产生永远是因为垃圾程序员,而不是垃圾语言。语言可以很垃圾,但归根结底,垃圾语言只是阻碍你写出好代码,而自由奔放地写出垃圾代码的锅必须全部扣在程序员的头上。

真的把Golang用好的程序员不多,大部分人写什么语言都是差不多的,并不会深入思考Golang的语言模型与其他语言有什么区别,goroutine、channel怎么用才更合理这些问题,以前用线程池,就搞个goroutine池;以前用队列,就去找个队列库。还有的干脆全局变量满天飞,goroutine结果全收集到全局变量里,加个大锁。这样的代码会有效率吗?会好维护吗?会简洁吗?

的确,在你刚刚换到这门语言的时候,你会发现之前你之前代码的那些问题全都没有了,感觉前途一片光明。遗憾的是,这是因为你仅仅才开始写了几个模块,还没有进入维护期。如果你保持着之前的水准,那些往日的恶习会让你的代码再次劣化,让往日的问题再度暴露出来。然后你会想,原来Golang也有这么多的毛病啊,也许我应该重新换成Java?然后再重复一遍这个历史。

不深入去钻研软件工程的规律和技术,不深入去学习一门语言的独有特色,理解语言的设计哲学,建立语言的一套使用方法论,仅仅妄想通过换一门新语言就解决问题,这是一条死路。许多忙着转Golang的程序员给我的感觉都是太浮躁,这样的状态很容易生产出新一批通往火葬场的垃圾代码,只要走着瞧罢了。反过来,如果借这个机会去深入学习如何写出优秀的Golang代码,不失为职业生涯的一个重大转机,很快我们也能知道这么做了的人有哪些的。




  

相关话题

  在函数的入口处对参数的合法性进行检查是一个值得提倡的好习惯吗? 
  如何评价 Dropbox 对 400 万行 Python 代码进行类型检查的经验? 
  有哪些用代码写的冷笑话? 
  汉语编程只需要学习几十个汉字就可以编程了,外国人为什么不能汉语编程呢? 
  为什么现代编程语言通常对 null 深恶痛绝,却鲜有特殊对待 0 的呢? 
  C「带坏了」多少程序语言的设计? 
  同样是巨头的语言,为什么中国是 Go 最热的国家,而 C# 越来越少? 
  第一个 C 语言编译器是用什么语言编写的? 
  对于初入职场的程序员, 读书 读好的代码 造轮子 哪个更重要? 
  汉语编程语言意义何在? 

前一个讨论
宇宙中有哪些复杂的运动?
下一个讨论
C++ 类当中为什么要有private?





© 2025-02-20 - tinynew.org. All Rights Reserved.
© 2025-02-20 - tinynew.org. 保留所有权利