未来程序员会被机器取代吗?

简介:

导读:很可能,在不久的将来大多数的岗位都会由机器来担任。很多职位,如司机、医生,将会很快消失或发生巨大变化,进入全新的发展时代。看起来程序仍会继续担任程序员助手或后备的角色。毕竟,像无人驾驶、医疗诊断、切肉机等都需要先进行编程,对吗? 答案是否定的。


什么是编程?

编程就是把想法如数理模型,游戏,商业等转化为代码的活动,从而使计算机可以执行它同时其他人可以读懂它。伟大的程序员都擅长于解决某个领域上的问题,技术精湛和领域认知深入的程序员才有机会会创造出一流的产品。


人人都能够编程

水平平平的程序员将会被被淘汰。

该状况在过去10年里正悄然发生。更高级的编程语言,更便捷的在线资讯获取,都使得编程的门槛不断降低甚至接近零门槛。更低的门槛和更多的生产力应该会使程序员就业市场变得更具竞争性,然而实际上却不是,因为需求也在增长。

编程改革创新的脚步近年来似乎一直停滞不前。我们最重要的工具,编程语言在近代历史里实际上并没有发生很大改变。最新的最流行的语言(如Go或Rust)带来的更多是范式上的进步而不是功能上的变革。今天最热门的语言还是Java,C/C++。编程业界当前更关注的是配套工具的开发和提高生产力的方法。

这又意味着什么呢?


S曲线

技术发展看起来就是这样的:SSSSSSSSSSSSSSS

更详细解释可用下图说明:


例如,IBM第一个文字处理程序(FORMAT)是以繁琐的打孔卡作为输入的。同一时间,最先进的打字机可以实现文字外形变更,自动字符复写以及打印出数学方程式。然而今天打字机已成历史,文字处理程序最终站在发展的前列。我想说的是我们正处于一个类似的技术停滞期,一个新的时代将会到来。


无编程的编程语言

要把平庸的程序员从系统里分离,我们需要一个开发平台来自动识别出问题且无需进行编程。


这可不是一个全新的事物。在1963年,计算机科学家Ivan Sutherland使用了计算机几何画板演示了如何使用系统来解决给定限制的问题。1972年出现的Prolog是一种声明式的编程语言,用于解决给定的逻辑条件集合问题。它虽然最终没有获得广泛认可,但是没有完全消亡。例如著名的IBM华生超算机器就是以它为基础的。


一个最有希望可用于进行无编程的候选人是—自然语言,例如:英语。从二进制代码到汇编,从C到Python,编程语言都是与自然语言相似的。作为一个综合的最佳实践,程序员也在尝试把代码编写成接近于普通英语以便他人或将来自己进行查阅。但这会有什么限制吗?


NLP

如今自然语言处理(NLP)系统已可以根据上下文读懂词的语义以及关联关系。最近,苹果,谷歌,微软等公司已开发出基于语音识别的产品进行自然语言处理。在这些巨头的带动下,相关领域将会得到长足发展。



基因编程(Genetic programming)

另一个朝气蓬勃的领域是基因算法。其使用类似于自然选择的处理方式,使用基因算法进行最优解决处理。对于火箭引擎或游戏等皆可运用。


但是基因算法是不能生成程序代码的,对吗?再想想。


开发者Kory Becker编写了一个程序来生成Brainfuck代码以试图解决该问题。如他所演示的,将来随着计算机计算能力的进一步增强,最佳方案的寻找将会更加精确。


例如如下代码,它是由程序自行编写的,输出结果是hello。


[js] view plaincopy

  1. +-+-+>-<[++++>+++++<+<>++]>[-[---.--[[-.++++[+++..].+]],]<-+<+,.+>[[.,],+<.+-<,--+.]],+]

  2. [[[.+.,,+].-


把NLP和GP相结合,无疑是强强联合的最佳典范,也为将来进一步开拓自然语言系统开发打下坚实基础。


写在最后

我认为机器不可能取代所有的编程工作,至少不会很快发生。因为很多代码仍需人工进行优化,很多算法还需人来完善。此外,每个应用领域涉及面很广也很复杂。我的想法是专为生产力而培养的新程序员数目将会减少,而对于能实现真正软件创新人才的需求会增加。



原文发布时间为:2015-09-25

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
Web App开发 搜索推荐 机器人
真假搜索引擎蜘蛛IP地址和UA(UserAgent)大全
真假搜索引擎蜘蛛IP地址和UA(UserAgent)大全 这些信息不是一直不变的,这里仅供参考。
2189 0
真假搜索引擎蜘蛛IP地址和UA(UserAgent)大全
|
存储 SQL 分布式计算
小迈科技 X Hologres:高可用的百亿级广告实时数仓建设
通过本文,我们将会介绍小迈科技如何通过Hologres搭建高可用的实时数仓。
小迈科技 X Hologres:高可用的百亿级广告实时数仓建设
|
存储 网络协议 API
WMI介绍和实例使用
Windows Management Instrumentation 大多会被翻译为“Windows管理规范”,Instrumentation 含义为仪器仪表、器乐谱写等......
711 0
WMI介绍和实例使用
官宣!我们和中国电信牵手了
近日,中国电信集团公司(以下简称“中国电信”)与阿里云正式签署合作协议,联合研发“天翼钉”。
1418 0
官宣!我们和中国电信牵手了
|
Java API 开发工具
Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
1058 0
Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
|
云安全 人工智能 架构师
阿里云认证ace的含金量高吗?阿里云认证ace的作用
阿里云认证ace证书是近几年出现的新词汇,至于阿里云认证ace证书是起到什么作用我们就不是很了解了,今天认证大使工作人员为我们介绍一下阿里云认证ace的含金量高吗?
3387 0
阿里云认证ace的含金量高吗?阿里云认证ace的作用
|
存储 人工智能 达摩院
达摩院重要科技突破!空天数据库引擎Ganos解读
Ganos空天数据库引擎是李飞飞带领的达摩院数据库与存储实验室研发的新一代位置智能引擎,采用了平台即服务、多模融合、计算下推和云原生全新处理架构,为政府、企事业单位、泛互联网客户提供移动对象、空间/时空、遥感多模态数据混合存储、查询与分析服务,解决空天大数据使用流程复杂、使用门槛高、应用效率低等问题,主要应用于城市管理、交通物流、自然资源、航空航天、物联信息等领域。
达摩院重要科技突破!空天数据库引擎Ganos解读
|
存储 缓存 算法
Redis - Redis分布式算法原理——Hash一致性理解 & Hash倾斜性解决方案
Redis - Redis分布式算法原理——Hash一致性理解 & Hash倾斜性解决方案
1124 0
Redis - Redis分布式算法原理——Hash一致性理解 & Hash倾斜性解决方案
|
JSON 前端开发 数据可视化
一文了解文件上传全过程(1.8w字深度解析,进阶必备)
由于文件上传功能将使许多应用程序受益,因此建议对HTML进行扩展,以允许信息提供者统一表达文件上传请求,并提供文件上传响应的MIME兼容表示。
1373 0
一文了解文件上传全过程(1.8w字深度解析,进阶必备)