软件工程自动化带来的结果就是高频迭代 , 但是创新大幅减少 , 99%的程序员在实现需求 , 只有不到1%的程序员在创造工具和方法 。 但我们认为这也是技术进程的一个必经阶段 , 需求爆炸要求自动化 , 自动化带来DevOps , DevOps造成分工更加精细化 , 乃至CI/CD管道部署 , 一个高度自动化流水线已然在软件工程领域形成 。
程序员的精细化分工造成综合素质整体下滑 , 至少过去20年都是如此 。 当代程序员很少去研究汇编和机器语言 , 因为这完全没有必要 , 现在的开发环境是建立在“高度文明”之上的 , 绝大多数开发者只需关注逻辑的实现 , 底层世界与之无关 。 但是数字文明的底层世界是C语言 , 再下面是汇编语言和机器语言 , 这也是回溯技术进程的事实 , 现在的“高度文明”不可能是空中楼阁 。
【远离了刀耕火种,我们是否找到新的银弹?——软件与软件工程现状反思】高度自动化让程序员看起来更像是流水线上的零部件 , 而不是一个创作者 。 殊不知人类智能最伟大的地方并非只有逻辑思维 , 更多的是创造思维 。 肯?汤普逊和丹尼斯?里奇为了使开发UNIX更高效设计了C语言;林纳斯为了更好地管理Linux内核开发了Git 。 许许多多的工具一开始也许只是因为一个小目的被创造出来 , 但是它们后来逐渐成了开发者世界的大器 。 数字文明会否出现断层是一个警惕性问题 , 也许过去20年我们失去的 , 才是今后我们想要的银弹 。
文章图片
最后
之前9月的时候 , 曾有消息曝出林纳斯怒喷某代码托管平台“合成了一堆无用的垃圾”一事 , 尽管林纳斯并非因平台本身或者其他项目的粗糙而恼火 , 而是为即将用于Linux Kernel 5.15的一个驱动程序的合并感到不满 。 此事也折射出社会化编程也不是银弹 。
银弹问题总是关乎程序员、组织和需求的问题 , 它们一直在变化 。 有位“谦逊的程序员”曾经说得好:软件危机的主要原因 , 毫不客气地说 , 在没有机器的时候 , 编程根本不是问题;当我们有了电脑 , 编程开始变成问题;而现在我们有巨大的电脑 , 编程就成了一个巨大的问题 。
文/陈徐毅 高级工程师 , 科技专栏作者 , 中国计算机学会会员 。
本文刊发于《中关村》第220期
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
