很多年来始终有一种声音:编码自身会逐渐消亡,软件开发会越来越像一种组装工作。

也就是说,程序员会越来越像IT工程师,他们很少自己从头做什么,而是靠搭配来达成各种目标。

我身边就有持这种观点的人。

而在《代码整洁之道》一书中,Robert C Martin在开篇处加了这样一段文字:

有人也许会以为,关于代码的书将有点落后于时代---代码不再是问题;我们应当关注的是模型和需求。

确实有人说过我们正在临近代码的终结点。很快,代码就会自动产生出来,不需要再要人工编码。

.... ...

这段文字告诉我们编码会逐渐消亡这种观点即使在国外也有一定的市场。

假使说这是真的,那程序员就必然是一个会逐渐消亡的职业。

现在的关键问题是,这究竟是不是真的?

为回答这一问题,需要对软件开发内在的根本特质做一点考察。

只要静下心来想一想,我们就会发现,持有上述观点的人并非无的放矢,也还是有一定根据的。

在今天开发任何一款软件的时候,很少会从头开始开发。

大多时候会选定特定的框架:开发PC客户端程序,可能是.net或MFC,开发网站可能要选LAMP,大数据处理则可能要用Hadoop等。

与此同时商用的各种组件或库也是越来越丰富:图形处理的,出图的,并行运算的等等。

最差的也还可以选着重用很多现有的代码:从codeproject或开源上借鉴合适的代码片段。

上述这些现实确实使软件开发具备越来越多的“组装”性质。

这意味着程序员并不能只关注自己可以干什么,还要关注别人干了什么,自己能不能拿过来用。

从这个角度看,如果上述趋势不断强化,编码似乎真的是要逐渐消亡了。

但其实这是错的。

这种观点低估了世界变化的频度,以及软件在应对变化过程中所扮演的角色。

这事情其实并不复杂。

对各种已有问题,我们总是可以抽象出特定的模块来处理他们。

如果只是重复的处理已有的问题,那么组装就是本质特征,编码确实会消亡。

但反过来想如果处理新问题是主流和核心,那么编码就是本质,组装就是一种辅助。

在商务世界里,往往是只有领先一步,才能抢占先机,所以在有软件产品的软件公司中编码必然永远是主流。

好比说A公司可以用Hadoop,B公司也可以用Hadoop,但如果没有自己附加上去的东西,那么两个公司就会同质化,通常不会有谁能生存的很好。

即使谁好了,也马上就会有C,D,E,F来凑热闹。而能造成差异,造成独有附加值的则只能是创新加编码。

但在目标是开发“能用就行”软件的组织中,“组装”占上风的情形估计也是时有发生。

没有具体考察过,但我个人很怀疑电商类网站,开发内部使用软件的团队,很可能会是这类情形。

------------------------------------------------------------------------------------------------------------------------------------

理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。

编码会不会逐渐消亡?相关推荐

  1. 软件的一切关乎成本,以消亡为结束

    在看年终述职或者是方案评审的资料时,都可以看到几个技术自驱的项目,在收益这个环节写的是"降本增效". 以前我也会这么想,技术自驱的收益一般都是降本增效,但现在想法变了,会想:软件系 ...

  2. 学习笔记 --- 编码过程中常见的三种异步方式

    实际的编码过程中, 凡是涉及到网络通信的代码, 异步都是决不可缺少的. 那么什么是异步呢? 异步就是子线程, 异步通过开辟子线程来实现, 所以一提到异步就应该想到子线程. 即使不涉及网络通信, 异步也 ...

  3. hadoop将消亡_数据科学家:适应还是消亡!

    hadoop将消亡 Harvard Business Review marked the boom of Data Scientists in their famous 2012 article &q ...

  4. 别学了!这 5 种即将消亡的编程语言

    来自:程序员书库(ID:CodingBook)  综合自:https://medium.com/@lidiaaa08/5-programming-languages-that-will-die-1a4 ...

  5. 【转】嵌入式软件:C语言编码规范

    引  言 嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积和功耗严格要求的专门计算机系统.嵌入式技术并不是一个独立的学科,它是伴随着微电子技术和计算 ...

  6. 三进制 四进制计算机原理,基因编码为何选择了“四进制”,而不是计算机系统的“二进制”?...

    计算机已经成功的证明,"二进制"是一种简洁又高效的编码方案(且与物理硬件相得益彰),它可以传递和映射任意复杂度的信息. 但基因编码,绝大部分却使用了4种碱基(DNA是ATCG,RN ...

  7. 空间基础信息实体分类与编码

    空间基础信息实体的构建是"数字城市"和"智慧城市"建设的重要内容.针对地理实体分类体系的多样性.粒度划分的层次性.描述表达的完备性,以及实体编码的唯一性等关键问 ...

  8. 科技云报道:ChatGPT的胜利,宣告知识图谱的消亡?

    科技云报道原创. 过去10年,知识图谱可谓是最接近"人工智能"的概念.业内普遍认为,知识图谱的概念最先是由谷歌于2012年正式提出,主要用来支撑下一代搜索和在线广告业务. 此后,这 ...

  9. 别学了,这 5 种即将消亡的编程语言

    每个编码的人都有自己喜欢的语言.拥有一种首选语言有很多原因,但是,我们的语言有时会变得很单调,它不再由制造它的公司维护,或者人们出于某种无法解释的原因放弃使用它.但是,也有的编程语言例外,比如C语言, ...

最新文章

  1. 二进制,十进制,十六进制
  2. 【linux】Valgrind工具集详解(二):入门
  3. IF10+的数据库文章!这里有5个案例,一起发起来?
  4. android vlc eclipse,在Eclipse下导入vlc-android并编译
  5. 北方民族大学计算机全国排名,校友会:全国15所民族类大学排名,这三所大学进入十强...
  6. php order by 3-- 没反应,Thinkphp 无法使用-)order() 排序的两种解决办法!
  7. congestion map解读
  8. 索引 2 超出范围。_重点推荐:音响灯光行业搜索引擎推广教学
  9. Redis 6.0 源码阅读笔记(3) -- 概述 Redis 重要数据结构及其 6 种数据类型
  10. .NET 漫淡(一) --- 需要充分认识的应用程序域-AppDomain
  11. 怎么查看计算机硬盘sn,硬盘序列号,教您怎么查看硬盘序列号
  12. 9个设计师常用的高清图库 不敢配图? 这9个免版权图库牢记心中!
  13. 8box播放器的引用
  14. 华为笔记本电脑驱动Linux版,华为改进Linux笔记本电脑驱动程序
  15. 阿里真的开始衰落了吗?
  16. go语言快速入门:流程控制(7)
  17. 蓝桥杯单片机——串口通信1(11)
  18. 值得你收藏的几个实用识别图片文字软件都在这
  19. 算法--01背包问题(动态规划算法) 21-01-30
  20. 中国高科技、高成长50强

热门文章

  1. python如何下载MP4视频和获取时长
  2. CListCtrl控件详解
  3. MATLAB中的prod函数
  4. 最幸福的时光莫过于每个人的童年
  5. Fiddler 过滤Host
  6. 爱旋不旋--旋转字符串
  7. 直播合辑 | 微软ATP与您相约100场公益演讲
  8. jsbridge实现及原理_Android JSBridge的原理与实现
  9. GEO数据库学习三(了解表达矩阵)
  10. GitLab下载源码的两种方式(https/ssh-key)