如何评价王垠的《Go语言,Docker和Kubernetes》

Python019

如何评价王垠的《Go语言,Docker和Kubernetes》,第1张

<Go语言,Docker和Kubernetes>,看了题目好激动,还以为有什么干货,点进去一看啥东西没有,一篇水文而已,这人工作几年了?不好,你们让大家评论这样的文章,是故意的吧?

我以前写Java,最近主要写Ruby,以及一点点JavaScript。

我觉得文章中有几点,是很可取的:

编程使用什么工具是重要的,然而工具终究不如自己的技术重要。很多人花了太多时间,折腾各种新的语言,希望它们会奇迹一般的改善代码质量,结果最后什么都没做出来。选择语言最重要的条件,应该是“够好用”就可以,因为项目的成功最终是靠人,而不是靠语言。

很多时候我们忙于学习不同的语言,而忽略了语言的最终目的,是写出可以解决问题的程序。

IntelliJ还可以进行非常迅速的结构变换,这让你就像艺术家在构造一个雕塑作品。最开头我可以大刀阔斧,把代码劈成大致的形状,然后再把它仔细推敲,揉捏成更好,更容易理解,更具魅力的形状。

是的。用IntelliJ来Refactor Java代码的体验,的确比 用RubyMine来Refactor Ruby代码、用WebStorm来Refactor Javascript代码的体验,要好太多太多了。虽然后者的体验也强于用Vim时候的体验,但用IntelliJ来的更加畅快淋漓,而且从来不用担心因为Refactor而出现命名错误(如果不用Reflection的话)。

很多人讨厌Java,其实是因为早期的GoF Design Patterns,试图提出千篇一律的模板,给程序带来了不必要的复杂性。然而Java语言本身,其实跟Design Patterns并不是等价的。Java的设计者跟Design Pattern的设计者,完全是不同的人。你完全可以使用Java写出非常简单的代码,而不使用Design Patterns。

我自己对于一些大公司规定的模式,比如“Programming towards Interface, not implementation”十分反感——这样子造成了很多interface,只有一个implementation;而在读代码的时候,就要跳转很多个文件,才能找到需要的内容。但我觉得这是写代码的人得问题,和Java无关。只是很多人在写Java的时候,太从字面上理解“Programming to Interface”了。

然后我不太同意的:

Python凑合可以用在不重要的地方,Ruby是垃圾,JavaScript是垃圾中的垃圾。原因很简单,因为Ruby和JavaScript的设计者,其实都只是民科。

我个人很喜欢Ruby的设计的,主要来自于MetaProgramming的部分——真的可以让代码量少很多。来自于更高级别抽象的代码量减少,直接意味着,整个程序变得更容易阅读和理解。我不觉得民科设计出来的东西,就意味着这个东西不好。而且Ruby程序,debug起来还是很容易的:RubyMine对于断点StepTrace也有很好的支持。而且,因为是Script Base的语言,可以很容易的去阅读/修改Library的代码,从而很快地理解对应的Library。

JavaScript还是有些坑的,比如没有原生的Class(ES6的class看起来只是function的一个syntax suger)、神奇的prototype和this的关系问题;但理解了原理,这些坑还是挺容易避免的。而且也有很多用JavaScript开发的不错的App和框架,异步编程的思想也很好(当然 思想这种东西,都任何语言都是可以支持的)。“垃圾中的垃圾”就太偏颇了。

对于Go / Scala / Clojure我几乎没有了解,无法评论。

然后讲一下,我对于Java很反感的地方:长,function不是object。

1. 依稀记得 当年写各种Data Access Object,里面有若干Getter / Setter,虽然用IDE可以自动生成Getter和Setter,但依然……读起来/维护起来 很辛苦。

2. 以前写Android程序,加EventListener。其实只是一个function而已,但只能通过Anonymous Class、在里面define function的方式——加一个EventListener,2层缩进就出去了。让代码变得好丑。

(在Java8里面,支持了Lambda,应该有所缓解吧;这里我还不是很清楚)

作者曾经是 Google 员工,其上司对他评价道:

Yin's one of the smartest engineers I know. His intern project at Google was by far the most technologically advanced I've seen in 20 years of working with interns. He's going to go on to do great things

原来我以为他可能确实有些才华,喷的点我不能理解上去,

直到后来发现喷到我熟悉的领域也喷的完全不对点子,

更别提“尝试新技术只是为了让自己显得高大上”这种低级的黑点了,想夸的时候改成“勇于尝试新技术发现潜在市场”不还是你一张嘴的事情。

讲道理,喷人家眼光低,就要说出哪里错了,应该如何,有理有据,我还能信服一些。无非是些还没实用的技术就变成毫无卵用了?这么说我觉得还是百度卖卖假药更赚钱。Dwave不是全纠缠的用你“拆穿”?机器人什么水平用你“拆穿”?你说谷歌眼光有问题,我可以信,你说谷歌彻底是弱智,不好意思,我不相信。

有水平的观点可不是贬低别人就能显示出来的。

想了解更多互联网热点,可以用悦游VPN看看国外的网站