美文网首页@IT·互联网C/C++Go 从入门到出家
Java又和Go语言打架啦!程序员:都10年了!抬走,下一个

Java又和Go语言打架啦!程序员:都10年了!抬走,下一个

作者: 温柔的倾诉 | 来源:发表于2018-06-28 10:41 被阅读108次

    随着IT行业越来越火,有很多小伙伴也就入了编程的坑。IT行业就业前景好使毋庸置疑的,从事IT行业的人,就算是跳槽再就业也是不会有什么难度的,与其他行业相比,IT行业只要有技术,其他的就都微不足道了。所以会有很多程序员从只会一种编程语言进化到会多种编程语言,这样来提高自己的竞争力。

    就拿最近看到的一篇帖子来说,有网友说,服务端未来是go的,说go不好的都是看了点go语法的,觉得语法标新立异看不下去的lowb,写上半年,再来比较java go,观点立变,go还比较新,有很多问题没有解决,但是无法阻挡go成为云计算时代并发时代编程的王者!不用看未来,现在go就是王者,java不会死,但是go会更多

    然后就有评论说,学学PLT,就知道go的语法设计的有多烂了。

    但是楼主觉得这位网友是来喷语法的,然后说道,那只是你习惯了c语言java语言而已,写上三天你就习惯了,左右手互换拿鼠标而已,有啥可喷的?一个新时代的语言,c语言的发明者发明的go语言,语法设计会不如你?完全抛弃了其他语言的历史包袱,go简洁之上的感觉你体会不到吗?你喷只是因为你不熟悉,流于表面而已。但同是也表明自己的并没有否定java,只是说go更适合服务端

    但有网友认为,生态圈恰恰是java的短板。我用一个语言为什么不整明白整个生态圈就用不好?为什么要自己创造一大堆问题再用繁复的方式去解决然后很牛逼?go不需要生态圈,他代表了一个方向:程序员就应该把所有的时间利用在写代码上,而不是装ide,搞破解,装插件,配环境,装vm,再堆上一堆浪费时间的设计模式,最后再和runtime作斗争。自己曾经问过快手的后台开发,为什么选java,他告诉我是因为他们所有人都很熟悉java,他们能搞定一切问题。我认可,不过我私自觉得,go没有问题,不需要搞定什么问题,不是更好么……

    楼主也表示,生态圈说白了只是一个时代需求的累积而已,hadoop hive这些都是java,所以大数据领域大部分是java,但是到了云计算时代,docker kubernetes etcd 这些具有颠覆性的产品,不都是go吗?云计算时代,必须属于go

    但小编觉得这位网友说的挺有道理的,他觉得语言就是工具,工具就是方便人干活的玩意。一群孩子们看不明白程序员本来就如同车钳工一样,java是钳子,cpp是螺丝刀,go是电钻。电钻刚出,没几个会用敢用的。所以不好招人。但是早晚电钻会普及的。钳子会被电钻替代的?

    对于以上网友对Java和go编程语言的争论,大家有什么不同的看法和观点了呢?欢迎在下方评论区吐槽!

    相关文章

      网友评论

      • 6ab23b168352:语言而已
      • 7633d60bf9ec:茱莉亚呢?PHP是世界上最好的语言。————————————用文具,生活用品请找,VX小程XV“办公鱼”,你想要的全都有,办公鱼更懂你
      • 西岭北:😃语言各有各的特点
      • 1fd9ad3231d1:都学就没那么多事,其实学多几门语言有不少好处😂
      • b85aeca17401:JavaScript瑟瑟发抖
      • Python数据分析实战:Python表示要SoLo
      • 零下伊度:python表示不服:joy:
      • zqq90:可能是了解 go 不够透彻,一下几个槽点,欢迎大牛来解答:
        1. go import 包是和远程库强关联的, 对 fork 极度不友好
        2. 一些 goer 说 Java 啰嗦,但是,如果采用面向对象思想, go 也很啰嗦好吗
        3. 关于 go 的 interface ,一直说自己说无入侵的,但是这样真的好吗? 个人认为入侵是必须的,我承诺实现哪些是我说了算,不是用的人说的算,否则,当我改动时 我不清楚该通知谁,甚至都不觉得应该通知谁,因为我对这个方法没有做任何承诺。
        说句不好的,两条腿的鸡和两条腿的人是同一个 interface

        看语言现在,要看生态; 看未来,要看领头羊是否原因接受意见,是否足够谨慎
        一桶冷水:@zqq90 1. 以前的项目不维护了,当然是开一个新项目继承以前的代码了,不然谁知道一个项目到底是谁的,偷偷摸摸改引用地址更容易出错吧?2. 设计go的是设计c的那一帮人,c++的东西都不打算要何况java,这是设计理念的问题,也被很多人吐槽过很多遍了,到底是倒退还是复兴,不好说 3. go推荐的接口设计是小接口,实现了走接口,那么就会走路,没有实现说接口就不会说话。如果实现需要随时跟着接口变又何必要定义接口,直接用不就好了。
        zqq90:@zqq90 @一桶冷水 年轻人,事情没你想的那么简单
        1. 你这没解决 fork 问题呀,这里问题很多,你想听哪个?举一例子: 假设最初的原版已经停止维护了, 而且我没有原仓库权限,现在我想发布自己的一些特性,肯定和原分支有不通用的地方,在这种场景 golang 怎么能使用和原来一样的包路径,你这不是暗示别人找到旧仓库去吗,
        2. 这里仅仅从语法角度,"成员方法" 每次声明都需要重复敲一遍"类"名,如果你要认同 getter setter ,比 java 更啰嗦(有非官方的自动生成 getter setter 的方案),因此,go 更倾向于让你"承诺数据结构" 而不是"承诺接口", 在面向对象领域,这是倒退
        3. 袋鼠如果要用,那就得改接口,而不是偷懒,偷偷就用了,否则原来设计接口的人不知道你是袋鼠,加了一个 "说话" 接口 你如何解决,这不符合 "契约", 投机行为日后一定数倍偿还,除非你说我的项目以后不接新需求,用几次就扔
        一桶冷水:1. 第三方库的代码不能动?思维惯性而已。一个gopath的设计就是不区分第三方代码和本地代码,都一样,所以,直接打开你要改的项目,切个新分支改就好了。
        2. 问题是写java除非个人项目,你敢不那么啰嗦吗?
        3. 某天袋鼠也要用同一个interface怎么办呢?加一个适配器伪装成鸡?不多此一举吗
      • 温柔的倾诉:相信还是有想要学习或者了解java编程的小伙伴,可以加下小编自己的千人q群哦 539630297 小编免费送一套系统的java资料、教程,权当是福利吧!

      本文标题:Java又和Go语言打架啦!程序员:都10年了!抬走,下一个

      本文链接:https://www.haomeiwen.com/subject/jbfgyftx.html