10 年后编程还有意义吗?

六一节日欢乐

在 AlphaGo 自学围棋击败了人类近 10年 最好的围棋选手之后,有人开始提出这个问题。具体来说这个问题有三层意思:

到 2025年 程序员还有没有用,到那个时候所谓的 “程序员” 是指什么?

代码本身还有没有用,到那时候代码会变成什么样子?

机器智能会不会取代(目前意义的)代码或程序员两者的其中一个或者全部?

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

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

我们摘编了一些人的回答,也希望听听你们的看法。

20年 以上经验的软件开发者和架构师

John Brothers:

到 2025年 我们不仅还需要软件开发者,而且我觉得到时候软件开发可能还会成为地球上面最后一项 “有用” 的工作。当然,“开发驱动机器人的软件” 是未来这种工作的一部分。

随着时间的推移,我们发现可以有越来越多的方式来用软件替代过去的脑力劳动。认为这种现象未来会停止出现是没有理由的。

反 对者可能会说:“你怎么能设计一个程序来替代脑外科医生呢?” 我的回答是:“不知道。但你知道什么事情比脑外科手术更难吗?创建一套可捕捉脑科手术涉及的所有关键决策、启发试探法以及算法的逻辑模型。” 换句话说,很多任务都很难,但是在软件中捕捉那些任务更难。只要想想你就会发现只要有难度的任务要进行自动化,就会有软件开发者去进行尝试。比方说,地球 上最后一项工作的自动化(注:这可真是程序员的自杀式工作啊)。

有人可能会说:“未来只要有合适的工具,编程应该是很容易的事情。” 知道我怎么想吗?我想为你祈祷。

以为编程可以做得很简单的看法实际上非常目光短浅。他们的依据大概是这样的:“X 类问题很容易建模。因为,任何人只要有合适的指导,都能利用软件对该问题建模。”

对于特定类型的问题来说也许是可以的。但是软件开发有趣的地方在于我们在不断制造新的问题类型,我们制造问题的速度跟找到老问题的自动化解决方案的速度一样快(如果说不是更快的话)。

深 度学习和量子计算机都是我们推进软件潜力的例子,这些东西在 20年 前我们还只能想象。而那只是其中两个而已—我们今天教计算机做的各种事情在过去都只能靠想象。没有理由认为这种情况会很快停止出现。我们在扩大用软件可以 做的事情的领域,这种扩张的速度要比我们自动化现有流程的速度要快。这种情况还将持续几十年。

Code.org CEO Hadi Partovi:

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

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

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

自 1978年 就开始编程的 Steve Traugott

2025年 编程当然还有用,而且作用可能还更大。

我 的观点可能会孤立无援,这里我补充一些事情希望能有助于说明观点。至少有一门语言到 2025年 会发挥更大作用,到了 2050年 这门语言可能还会被重度使用,甚至到 2100年 还会存在。鉴于其部署方式,Javascript 本身几乎已经成为了互联网协议,web 浏览器对它的支持不但是必须而且看起来是没有限期的。只要它还有浏览器支持,web 网站就会继续使用它,导致了对兼容性期望无休止的循环。唯一有可能打破这一循环的是 web 不用了。这样的事情是不大可能会发生的。

不管你喜不喜欢,事实上 Javascript 已经成为了 web 的汇编语言。

剩下的唯一问题是开发者什么时候从编写原生 Javascript 转到写其他可编译为 javascript 的语言?怎么转?(类似于过去几十年从机器语言转为汇编语言最后再转为 C 的趋势)

从 JavaScript 转到其他编译语言的运动实际上已经在进行当中,但是更高级的代码还是要靠手工编写(注:所谓由 AI 编写代码所以不需要人写其实是个伪命题,其实人向 AI 引擎描述问题还是通过编码来完成的,比方说类似 prolog、lisp 或别的特定领域语言),仍然需要编译为 JavaScript 才能在浏览器执行。同时鉴于 JavaScript 引擎还需要保留,所以我认为在几十年内我们还会看到可怕的、嵌套的、手工编码的匿名 JavaScript 函数一直存在。JavaScript 已经变成了另一个 COBOL,只是可读性更差但部署范围更广。

我们可以拿 B-52 轰炸机来对比一下。这款 90年 前设计的轰炸机预计还将服役到 2040年。C 语言的历史也有 45年 了。


Scratch案例推荐

????▷Scratch课堂丨空战游戏-保卫南海

????▷Scratch课堂丨雪花曲线【递归解说】

????▷Scratch课堂丨在Scratch上制作打地鼠

????▷Scratch课堂丨在Scratch上画五环等图形

????▷Scratch课堂丨在Scratch上制作接红包游戏

????▷Scratch中做一个简单迷宫小游戏,值得您收藏!

????▷Scratch中实现一个按钮的动画效果,值得您收藏!

????▷Scratch课堂丨在Scratch上制作植物大战僵尸游戏

????▷Scratch课堂丨什么是云变量?怎么用它来做数据排名?

????▷圣诞节快乐!用Scratch来制作圣诞老人发礼物,值得你收藏!

????▷Scratch课堂丨用Scratch来制作谷歌浏览器中的奔跑小恐龙游戏!

????▷Scratch课堂丨模拟物理算法:万有引力、曲线运动,值得您的收藏!

觉得有用就分享出去吧!想要获取更多资讯,请扫码关注吧!么么哒!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少儿编程课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值