不一样的go语言创世

  在这之前,我是一名Java程序员,但最近我却已经好几个月没写Java代码了,因为我已经敲了好几个月的go,这是我连续最长的一段时间在写go。陆陆续续地算下来,也有快一年多的时间在与go打交道。期间写了不少的代码,也粗略地读过大神们写的书以及诸多乐于分享知识的大大们的博客,从中受益匪浅。感谢他们让计算机这个世界变得这么地美好!

  我常常在想,go的某些特性、设计甚至是语法,在其他语言中是怎么样的?当然这不仅仅局限于从Java语言的层面,从C/C++,Python,Javascript,Common Lisp。就像《七天七语言》一书那样,是否可以从中窥探语言设计者们的思想或者思维方式,尽管万变不离其宗,所有的高级语言的代码都会经汇编,然后变成计算机可以执行的机器码。

  有对比才有伤害,到目前为止,go 语言让我不爽的除了又臭又长的 error 处理方式、没有泛型、不能直接使用C++代码之外,似乎一切看起来都那么地美好。写多几遍之后,会不知不觉得感到屏幕带来的视觉与心理感受是那么地舒畅。

  我甚至都开始忍受不了Java满天飞的class以及难看地不得了的lamba表达式,忍不住在反思自己这些年到底是怎么走过来的,不住地反问为什么会有Java bean这个东西,要无聊地写那么多的 get/set(虽然后来有IDE或者其他工具可以自动生成get/set)。还有内部匿名类永远去不掉的final,千百回多么不情愿地使用只有一个元素的数组传参。但是你仍然不得不感叹Java生态的强大与完善,有那么解放生产力的工具、库包、系统可以使用,JDK也远比go做得更易于普通程序员使用。

  因而go有不少的轮子需要再造,区别只在于是官方出品还是众人出品。今天这是一个起点,我准备在这里写写自己在与 go 语言切磋的过程中的一些心得体会、感悟之类,当然也可能会讲一些基础知识。工作之余,努力更新。

posted @ 2019-03-03 23:12  eventer  阅读(343)  评论(0编辑  收藏  举报