为什么国外程序员的创造力比中国程序员强?

1

川口耕介是个日本程序员,他曾在Sun公司从事Java、XML和Solaris相关的开发。

为什么国外程序员的创造力比中国程序员强?_第1张图片

2004年,他用Java写了叫做一个Hudson的开源工具,专门做持续集成(CI)。

Hudson安装、配置、使用都非常方便,并且支持用插件的形式扩展,深受程序员的喜爱。 

2009年,Oracle 收购了Sun公司,并且打算用Hudson注册商标,进行商业开发。

以川口耕介为首的主要贡献者们不同意这种做法,他们与Oracle进行了谈判,虽然很多地方达成了一致,但是Oracle依然声称拥有Hudson商标的权利。

2011年,Hudson社区投票,把项目名从Hudson改为Jenkins继续开源。

从此,没有人关注Hudson,Oracle最后把Hudson的剩余资产捐赠给了Eclipse基金会。 

Jenkins成为开源持续集成领域的领导者,插件达到1500+,你想要的功能都能在其中找到。

为什么国外程序员的创造力比中国程序员强?_第2张图片

讲Jenkins的故事是想说一个现象,开源的持续集成工具早在2004年就已经被国外的程序员开发出来了。

实际上,还有一个更早的,叫CruiseControl,ThoughtWorks 于2001年已经发布了。

2004年的时候我不知道大家在干嘛,我刚入行,还在用ASP、JSP、Applet这些古老的技术写网页,J2EE就是最先进的技术,刚听说过敏捷软件开发,根本没有做过持续集成,因为每次发版本都是手工Copy的。

写《Borland传奇》的李维受机械工业出版社邀请,在国内做了一次演讲,当他讲到O/R Mapping的时候,问台下有多少人用过,几乎没有人举手,因为很多人还在用JDBC,ADO去访问数据库。

当时中国做不出Hudson、CruiseControl很容易理解,那时候真是落后啊。

国外互联网起步早,的确有先发优势。

不过,反正有开源的、强大的Jenkins,直接用就好。

2

随后十几年,国内的互联网就开始狂飙突进,诞生了几大巨头,外加一批独角兽。

国内的IT技术水平和国外基本保持同步,由于人口基数庞大,大流量,高并发,分布式等技术有更多的应用场景,使用反而更加广泛。

2012年左右,出现了一个颠覆性的技术:Docker。 

应用程序的开发、测试和部署被彻底改变。

为什么国外程序员的创造力比中国程序员强?_第3张图片

在使用Docker上,我们和国外基本上是处于同一起跑线的。大家都在热火朝天地在项目中采用Docker,各种文章、最佳实践,演讲层出不穷,铺天盖地。

但是,我们似乎都停留在使用层面,没人想到把Docker和持续集成关联。

美国有个叫做Brad Rydzewski的小哥,在GE工作了八年,对企业技术需求非常了解,他想做一个PaaS平台,把Heroku引入企业开发。 

为什么国外程序员的创造力比中国程序员强?_第4张图片

于是他从GE辞职,去参加Y Combinator 这样的创业训练营,但是并没有成功。

在开发自己平台过程中,他使用了Jenkins,意识到用起来还是太复杂了。于是他就把重点转向了构建一个更加易于使用的CI产品。

这时候,他想到了Docker。

经过四个月全靠咖啡支撑的疯狂编程,他开发了一个基于Docker的持续集成工具,把持续集成的各个步骤放到各个Docker容器中去执行,持续集成一下子变得清爽了好多。

2014年,Brad Rydzewski把产品开源,写文章到HackerNews宣传。

结果出乎意料,在两天的时间内就收到了2500个GitHub star,随后,Pull Request 从HP, VMWare, Google, and Pivotal源源不断而来。

这个工具就是著名的Drone。 

无数的赞誉铺面而来:

哇,这就是我梦想的容器化的CI。

Drone  vs  Jenkins 就像 IntelliJ vs Eclipse

有了 Drone,我们终于可以抛弃 Jenkins!

Drone成功以后,Google也推出了基于Docker的开源CI Tekton,即使是CI的老大Jenkins也要拥抱云原生,在Tekton之上构建新的Jenkins X。

为什么国外程序员的创造力比中国程序员强?_第5张图片

在云原生时代,在CI这个细分领域,美国人又跑到了前面。

3

Docker是革命性的创新,美国人积累深厚,他们先搞出来,可以理解。

Drone是改进性的创新,用Docker改进了CI,此时中国互联网业发展火热,中国程序员的技术能力肯定也能做到,为什么这样的创新没有率先发生在中国呢?

是国内的程序员想不到吗? 这么多人在使用Jenkins,肯定也像Brad Rydzewski一样感受到了Jenkins的不爽之处啊。

但是没有人率先迈出用Docker的这一步,也许我孤陋寡闻了,但我确实没有看到国内率先做出像Drone一样的产品,并且对云原生的CI 产生了重大影响。

难道是习惯了一个工具,对它的问题也麻木了?是不擅长打破常规,做跨领域的创新?

是我们更喜欢在别人创造的产品上改进?根本不想去搞创新? 

是天才程序员们被现实巨大的生活压力压迫,被无尽的需求折磨,没有时间,没有精力去创造一个新东西?

是多年的应试教育扼杀了个性,考试天下第一,一旦进入开放性领域,就不知道该怎么办了?

......

点击下方图片,查看更多精彩

为什么国外程序员的创造力比中国程序员强?_第6张图片

为什么国外程序员的创造力比中国程序员强?_第7张图片

为什么国外程序员的创造力比中国程序员强?_第8张图片

为什么国外程序员的创造力比中国程序员强?_第9张图片

你可能感兴趣的:(为什么国外程序员的创造力比中国程序员强?)