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

也就是说,程序员会越来越像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. eclipse中运行c++控制台没输出
  2. 56.4 AP!超越YOLOv4,更快更强的CenterNet2来了!
  3. linux php oracle 乱码,Linux下Oraclesqlplus中文显示乱码的问题的解决
  4. windows系统共享文件夹访问无需验证(输入用户名和密码)即可进入
  5. DBShop电子商务系统
  6. C++之指针探究(十六):typedef结合函数指针
  7. 哪些NPM仓库更易遭供应链攻击?研究员给出了预测指标
  8. pythonUI---ttk.Treeview使用心得(内含表格形式加垂直水平滚轮方法)
  9. 博文视点大讲堂第14期——掌握命运、规划未来
  10. 使用PowerDesigner设计数据库保姆级教程
  11. python 中文乱码问题深入分析
  12. 使用Python批量解压缩文件(zip,rar)
  13. 华为交换机关闭网口_华为交换机如何关闭端口号
  14. m3u8转换到mp4 python_python实现m3u8格式转换为mp4视频格式
  15. 网络原理练习题(含答案)
  16. 你的走路姿势正确吗?步态不对牵连多种疾病
  17. 小米云服务器怎么管理员密码,小米路由器管理密码怎么设置 小米路由器管理密码设置介绍【图文】...
  18. 路飞学城Python-Day14
  19. 机器学习-朴素贝叶斯。
  20. u盘里的文件不见了怎么恢复正常?数据还有救吗?

热门文章

  1. VC6 Add Files to Folder 崩溃问题解决办法
  2. Android 解析二维码图片
  3. 【Linux性能实时监测工具-Netdata】
  4. 两万字自动驾驶技术综述,你想知道的这里都有
  5. Ubuntu安装SSH服务和NFS服务、TFTP服务
  6. Zeo正式对外承接Flash业务
  7. 内网安全学习从入门到入狱-知识-内网基础知识
  8. SWUST OJ#287 one+two
  9. 2022年美国CES展看什么?国产博冠8K超高清摄像机G1出征海外
  10. 单工、半双工与全双工