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


    1

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

    439462458ac564734e2370de2f4c9232.png

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

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

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

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

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

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

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

    c47721ae2ee55d55a58f2f2293558f58.png

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

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

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

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

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

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

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

    2

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

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

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

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

    3324a40663bfc1138e888c303e38f8b5.png

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

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

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

    9973114bcb64e0830c39347cbcf74442.png

    于是他从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。

    8a7036fbd09ea845a05f9e373fb295e5.png

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

    3

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

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

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

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

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

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

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

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

    ......

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

    2bbbd96bb66fd8f7d47433c10cb8e789.png

    8b510e8909e965ee52fd426e44d005ee.png

    061df200fea41ef78fa5ddafdc6d9c54.png

    f03198ca5cc8127e06b26ca973913bab.png

  • 相关阅读:
    【Swift 60秒】48 - Creating basic closures
    剑指 Offer II 021. 删除链表的倒数第 n 个结点【链表】
    使用 TiDB Lightning 恢复 S3 兼容存储上的备份数据
    【综述+3D】基于NeRF的三维视觉2023年度进展报告(截止2023.06.10)
    EN 16069建筑物用隔热产品.工厂制造的聚乙烯泡沫(PEF)产品—CE认证
    第四章 文件管理 五、文件存储空间管理
    基于生物激励神经网络的室内实时激光SLAM控制方法
    图论--图的存储及遍历
    QT使用WindowsAPI NetUserAdd创建系统用户
    【uniapp+uView框架】验证码倒计时代码
  • 原文地址:https://blog.csdn.net/coderising/article/details/128016837