而那些认为编码将死、程序员将失业的人的理由是机器智能会像今天的程序员一样具备自学编程的能力。比如说 AlphaGo 击败李世石就是一个机器学习能力的证据。

不过更多人倾向于认为,到 2025 年时编程仍然有意义,但有人说 2025 年以后情况可能就不是这样了。

很多年后编程还有意义吗

Code.org CEO Hadi Partovi:

绝对的。编程不仅在 10 年内还有意义,而且还会比今天更重要。不过编程语言的语法会变得越来越简单。刚开始的时候,编程是在纸板上面打孔(可编程打孔机)。然后形式变成了这个样子:00101010101。而现在看起来更像英语。随着编程语言变得越来越像英语,这种东西学习起来会越来越容易,越来越不神秘,所以也会越来越流行。同时,随着计算机渗透到我们的日常生活里面,告诉这些设备我们想做什么,发明新的用例也会变得越来越流行。

但是在可以用自然语言跟机器进行对话并且让它们完美理解并执行从未训练过的复杂任务这些事情上我们还有很长的路要走(好几十年)。当然,一些简单的、预编程好的任务是没问题的,比如 “告诉我去加油站最近的方向。”

但是要想教计算机做从来没做过的事情,还是需要对如何跟这种特殊的计算机程序员进行沟通有特殊的理解,以及要有描述算法的计算思维。如何设计循环或条件供计算机执行任务或进行决策的语法也许会变,但底层的基础概念估计很久都不会消失。

自 1999 年开始就一直开发 web 门户的 Christoph Richter:

Fred Brooks 1975 年的一篇文章说软件开发永远都是复杂的。虽然有一些东西可能会变容易,但核心的东西永远都不会容易。《人月神话》这本书说的就是软件工程这项核心挑战一直都难以克服——没有银弹,40 年过去了,至今情况依然如此。

研发软件工程师 Lakshmi Narasimhan Ramakrishnan:

简答:是的!但不是今天的样子。

从机器语言、到面向对象语言,编程的演进历史就是不断地抽象。这一路上我们还在操作系统的作用下得以开发出更好的基础设施。大家很快意识到自己可以在这些基础设施之上编写出更复杂的程序,然后继续开发出更复杂的软件架构。

有 30 年技术从业经验,曾当过工程师、产品主管、CTO、CEO 的 Greg Kostello 认为:

在机器学习的推动下我们现在进入了软件开发的新时代。IBM 的 Watson 和 Google 的 AlphaGo 已经证明数据>算法。或者更精确地说,数据就是算法。但是现在你需要非常特殊的技能才能开发出机器学习解决方案。工程师和数据科学家仍然需要对机器学习算法进行编程,但最终同样的系统会教它们学会如何通过分析自己的代码来改进自己。