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

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

  • 46
    点赞
  • 139
    收藏
    觉得还不错? 一键收藏
  • 43
    评论
### 回答1: 一个技术能力程序员通常具备以下特征: 1. 编程语言掌握深入:他们掌握一到多种编程语言,并且对每种语言的细节和最佳实践都非常熟悉。他们能够在不同的语言之间切换,并在不同的环境和应用程序中使用它们。 2. 熟悉算法和数据结构:他们了解基本的数据结构和算法,并能够选择合适的算法来解决不同的问题。他们知道如何优化代码以提高性能和效率。 3. 大的问题解决能力:他们具有非常的问题解决能力,能够迅速识别并解决问题,即使是复杂的问题也能迎刃而解。 4. 代码可读性和可维护性:他们知道如何编写易于理解、易于维护的代码,能够在代码库中创建整洁、易于管理的代码。 5. 持续学习:他们对新技术和编程语言保持开放态度,并不断学习和更新自己的技能,以跟上技术的发展和变化。 6. 团队合作:他们了解软件开发是团队合作的过程,能够有效地与其他程序员、测试人员、产品经理和其他团队成员合作,以实现共同的目标。 7. 高度的创造性和创新性:他们不仅能够有效地编写代码,而且还能够提出新的想法和解决方案,以创造新的价值和改进产品。 ### 回答2: 技术能力程序员通常表现出以下特点: 1. 扎实的基础知识:他们有深厚的计算机科学基础,熟悉计算机原理和操作系统,掌握多种编程语言和数据结构算法。 2. 解决问题的能力:他们能够快速、准确地分析和解决复杂的技术问题。他们具备良好的逻辑思维能力和创造性解决问题的能力。 3. 持续学习的动力:技术能力程序员不断追求新知识,不断学习新技术和工具。他们热衷于参与技术社区的讨论和技术交流,跟上行业的最新发展。 4. 代码质量和效率:他们编写的代码通常具有良好的可读性、易维护性和高效性。他们注重代码风格的规范和代码质量的优化,并能根据具体的需求选择合适的算法和数据结构。 5. 团队协作能力:技术能力程序员擅于与团队成员合作,能够有效地沟通和分享知识,愿意帮助他人解决问题。他们能够在团队中合理分工、协作开发,并提供有价值的意见和建议。 6. 创新思维:他们有开放的思维,勇于尝试新的技术和方法。他们能够对现有的问题提出创新的解决方案,提高效率和使用体验。 总之,技术能力程序员是那些具备扎实的基础知识、能够解决复杂问题、持续学习并不断优化自己代码质量和效率的人,同时也是善于与团队合作并具备创新思维的人。 ### 回答3: 技术能力程序员通常具备以下几个方面的特征: 首先,技术能力程序员具备扎实的编程基础知识。他们熟悉各种编程语言、数据结构和算法,并能够灵活应用于实际项目中。他们对编码规范、代码质量和性能优化有深入的理解,能够编写高效、可维护和健壮的代码。 其次,技术能力程序员具备广泛的技术知识和技术视野。他们关注行业动态,学习新的技术和工具,并能够及时应用到项目中。他们了解各种开发框架和库的优缺点,能够选择最适合的技术方案解决问题。 再次,技术能力程序员具备良好的问题解决能力和逻辑思维能力。他们能够快速分析和理解问题,找到最佳的解决方案。他们注重代码的可维护性和扩展性,能够设计和实现高质量的系统架构。 此外,技术能力程序员具备良好的团队合作能力。他们能够与他人合作,共同完成项目任务。他们能够有效沟通和协调,理解和满足客户需求。他们能够分享知识和经验,帮助团队成员提高技术水平。 总的来说,技术能力程序员不仅具备深厚的技术功底,还具有广阔的技术视野、优秀的问题解决能力和团队合作能力。他们不断学习和进步,追求技术的卓越。
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值