编程的未来 Java, C, Go, Swift, Dart? Uncle Bob Martin - The Future of Programming

说明

周末刷了一下视频 – 编程的未来,1942年出生的Bob大叔,1个小时20分钟全程手舞足蹈的讲解了编程的历史和未来。讲述了程序员的历史1945年第一台计算机开始,只有一位程序员,到目前为止全球程序员数无胜数。新语言如雨后春笋般爆发,以后的未来是增强版的敏捷开发 + 重拾极客专业精神。整场演讲解析:程序员为啥是从以前的高门槛数学家,到编程没有门槛的年轻人;为啥需要敏捷开发;为啥敏捷开发失效,重拾极客精神。

Bob大叔原名Robert C. Martin 。1970年开始从事编程工作(18岁),敏捷的鼻祖,著著名书籍有《敏捷软件开发 原则、模式与实践》、《架构整洁之道》。
在这里插入图片描述

youtube视频链接如下:
“Uncle” Bob Martin - “The Future of Programming”

刀跟火种的年代

1945第一台计算机,1位数程序员

毫无疑问这就是计算机之父Turing图灵。他是数学家,科学家。那个时候程序员要求可真高。

  1. 用二进制编程
  2. 操作整数的加,和逻辑否操作
  3. 发明子函数
  4. 发明栈
  5. 发明浮点数
    在这里插入图片描述

1953年发明Fortran语言,那个时代都是手写在纸上。程序员写好程序,交给计算机硬件厂商去给硬件编码,程序员是不能碰到计算机的。有时候仅仅是因为一个标点符号,程序就败下阵来。
在这里插入图片描述

函数式编程的鼻祖Lisp,经过几十年的风风雨雨,发现函数式编程正在流行。
在这里插入图片描述

1965年,计算机设备租用一个月$2,500 (相对于现在$20k).
在这里插入图片描述

1965年,程序员的数量在数十万(100, 000)。
在这里插入图片描述
1945年只有一位程序员图灵,到1965年有数十万程序员。Bob大叔那个时候13岁。
在这里插入图片描述

1965年的程序员不一定是数学家,TA们是经验丰富的行业专家,非常自律,专业。所以,基本上都是30多岁到50多数的多年工作者。
在这里插入图片描述

上帝说要有光 – 面向对象

1966年Ole-Johan Dahl, Kristen Dygard 发明了面向对象。
在这里插入图片描述

1968年Edsger Dijkstra 发明Goto跳转逻辑
在这里插入图片描述
Unix之父Ken Thompson(坐着的科学家),C语言之父Dennis Ritchie(站着的科学家,也是Unix开发者)
在这里插入图片描述
1970年销售的计算机PDP8s, 售价$50, 000
在这里插入图片描述
1970年程序员数量达到百万级别
在这里插入图片描述

1970年以后,成千上万的年轻程序员加入,TA们的特点是特别年轻,并且基本上都是男性。比如Bob大叔,那个时候18岁,一个月的工资都可以买车,当然美国汽车也就几千块钱。
在这里插入图片描述

程序媛从1985年以后,就像程序猿那么增长,反而往下走的趋势。
在这里插入图片描述
1985年的程序员还是比较专业,自律,不需要项目经理去监督。程序员知道怎么管理时间,沟通,一起工作。程序员知道截止时间,和按时教父。
在这里插入图片描述

门槛降低,机器性能快速发展

IBM开发出虚拟内存系统,NASA Apollo登月,数据结构,函数,面向对象普及。Unix系统出现,高级语言普及。
在这里插入图片描述

大量的雄性程序员已经失控,需要项目经理贴身安排进度。
在这里插入图片描述
2001年敏捷宣言
在这里插入图片描述
敏捷开发宣言,背景中有Bob大叔。
在这里插入图片描述

敏捷开发纪律
在这里插入图片描述

极限编程
在这里插入图片描述

没有敏捷开发,程序会越来越难维护。没有可追溯机制,所以持续集成CI, CD持续发布出现。
在这里插入图片描述

图灵,自律才能创新。
在这里插入图片描述

2010年以后 – 程序员失控

Scrum的美好愿望
在这里插入图片描述

过渡的流程化,程序员的技能受限。
在这里插入图片描述
程序员反叛。
在这里插入图片描述
一个高效的有纪律的商业,加上没有纪律的程序员团队,会快速产生垃圾。
在这里插入图片描述
项目经理的真实场景
在这里插入图片描述

敏捷的未来2016

敏捷开发如果少了技术的最佳实践,那就是假的敏捷。
在这里插入图片描述
解决之道:敏捷必须成长,重拾极客精神,最佳实践。
在这里插入图片描述

文化依赖于我们,需要有同理心。
在这里插入图片描述

程序是不可控的,人是可控的

在这里插入图片描述

Objective-C的兴起-- 完全是意外

Objective-C 在80年代都处于无人问津的语言,那个时候乔布斯创建了Nextstep电脑公司(销售基本无人问津),就收购了Objective-C。最后乔布斯又被请回Apple,Apple收购了Nextstep,才把Objective-C摆正了位置。

所以语言是哪个会流行,完全是意外。