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

架构师 专栏收录该内容
71 篇文章 7 订阅

说明

周末刷了一下视频 – 编程的未来,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摆正了位置。

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

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
The Dart Programming Language By 作者: Gilad Bracha ISBN-10 书号: 0321927702 ISBN-13 书号: 9780321927705 Pages: 787 Dart is a class-based, object-oriented language that simplifies the development of structured modern apps, scales from small scripts to large applications, and can be compiled to JavaScript for use in any modern browser. In this rigorous but readable introductory text, Dart specification lead Gilad Bracha fully explains both the language and the ideas that have shaped it. The Dart Programming Language offers an authoritative description of Dart for programmers, computer science students, and other well-qualified professionals. The text illuminates key programming constructs with significant examples, focusing on principles of the language, such as optional typing and pure object-orientation. Bracha thoroughly explains reflection in Dart, showing how it is evolving into a form that programmers can easily apply without creating excessively large programs. He also shares valuable insights into Dart’s actor-style model for concurrency and asynchronous programming. Throughout, he covers both language semantics and the rationale for key features, helping you understand not just what Dart does, but why it works the way it does. You will learn about Dart’s object model, in which everything is an object, even numbers and Boolean values How Dart programs are organized into modular libraries How Dart functions are structured, stored in variables, passed as parameters, and returned as results Dart’s innovative approach to optional typing How Dart handles expressions and statements How to use Dart’s implementation of reflection to introspect on libraries, classes, functions, and objects Isolates and other Dart features that support concurrency and distribution
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页

打赏

架构师易筋

若有帮助打赏一二

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值