在未来程序员是否最终会被机器所替代?

在未来程序员是否最终会被机器所替代?

在一个来自于CGPGrey很精彩的视频中,他提出说,在不久的将来,大多数工作将会由机器替代。许多行业,从卡车司机到医生,在不久的将来将会消失或发生巨大的变化,创造出一种全新的社会体制。但是,这样一来似乎有点说不通——既然未来的计算机程序将会大放光彩,那么势必需要更多的程序员。毕竟,创建自动汽车、自动化的医疗诊断系统、小贩机器人等等,都需要程序员的参与,不是吗?
不,这么想就大错特错。
编程是什么?
编程是将理念(业务、法律、游戏、数学问题等)翻译成机器可以执行,其他人可以读取的代码的学科。归根结底,程序员不过是中间人而已,一个既能明白问题又能理解机器的中间人,因此,可将两者进行转换。仅仅如此而已。
伟大的程序员既透彻了解他们编程的平台,又深刻理解问题域。创新迸发在域和技术甜美的交集中。这就是为什么(除其他事项外)如果让程序员(GitHub、VisualStudio、AWS等)去做大型产品和政府产品(Healthcare.gov,FBI’sSentinel,等等)时,软件往往会变得糟糕又昂贵。
每个人都在编程,中间人最终会被淘汰。
编程在过去几十年间已经发展到了相当高的程度。高级编程语言和可用的在线信息将进入编程的门槛几乎降至为零。
Scratch,一款来自于MIT有着数百万用户和上千万项目的儿童友好型的编程平台,已经可以媲美GitHub。现在,一个普通的程序员相较于20年前他的同行,需要理解的计算机体系结构和算法要少很多。
然而,这场革命近期似乎停滞不前了。我们最重要的工具——编程语言最近并没有发生太大的改变。大多数新的和流行的语言(如GO和Rust),只是逐渐改进了现有的范式,缺乏革命性的功能。
目前最流行的编程语言是Java(1995年),C(1973)和C++(1983年),年纪都已经不小。这个行业却反而开始专注于开发支持工具和方法,来提高生产效率。我们已经太久没有创新了,所以,我强烈推荐大家看看BretVictor的演讲《TheFutureofProgramming》。
S曲线
科技的发展是这样的:SSSSSSSSSSSSSS
如果要描述地更清楚点的话,它是这样的:
例如,IBM的第一个文字处理器程序(FORMAT)使用繁琐的穿孔卡片作为输入。在同一时间,最先进的打字机附带可替换字体、自动字符重复以及打印数学公式的能力。然而,却没有人使用打字机。本来位于打字机下方的文字处理器的曲线很快赶上并超越了打字机,打字机变成了过去时。
我相信,我们正处在一个类似的语言技术曲线上,正在等待一个新的时代的到来。
不需要程序员的编程语言
为了从系统中彻底淘汰程序员(中间人),我们需要让编程平台自身去“理解”问题,而不再需要编写代码。
这个想法并不是我首创的。1963年,IvanSutherland在《Sketchpad》中就描述了这样一个系统,它可以解决给定的若干已定义约束的问题。Prolog(1972年),一种声明性编程语言就是为了解决给定的一系列逻辑规则问题而创建的。它虽然依然是一种需要程序员的编程语言,并且并没有被广泛使用,但是它没有完全消失。比如,它以及其他语言一起成就了IBM著名的超级计算机沃森(Watson)。
对于不需要程序员的编程语言,最伟大的例子是自然语言,如英语。从二进制代码到汇编,从C到Python,编程语言趋向于越来越类似自然语言。并且作为现在一种推崇的方式,越来越多的程序员正在试图让他们的代码尽可能地接近于白话英文,以便于其他程序员和未来自己的理解。那么这个融合的限制是什么?
NLP
现在的自然语言处理(naturallanguageprocessing,NLP)系统能够理解文本中的单词角色以及它们之间的相互关系。下面是来自斯坦福大学CoreNLP输出的一个例子:
我们可以发现,仅通过分析文本,该程序就能够识别同一个人的联合引用,并识别单词的角色。
下面说一个更有趣的,例如,此简单的业务规则:
注意CoreNLP是如何识别条件(if–buy)和对象(buy–iPhones)的。那么现在将这些翻译成计算机程序还有什么难的吗?
有越来越多的新闻文章是由机器人写的。最近如Apple、Google、Microsoft和亚马逊等公司已经相继开发出基于语音识别和自然语言处理的客户产品。这进一步加快了这一领域的研究。
如果你想亲自体验自然语言处理,那么我强烈建议Python的NLTK。
遗传编程
另一个有趣的研究领域是遗传算法。使用类似于自然选择的进程,遗传算法通过生产最佳的解决方案来解决问题。从设计喷气发动机到玩超级玛丽都是它的应用范围。
但是,遗传算法肯定不能生成程序代码,是吧?再好好想想。
一个名叫KoryBecker的开发人员,编写了一个可以生成Brainfuck代码来解决简单问题的程序。当然,这款软件的实用性非常有限,但这仅仅是个开始。正如他所说,更复杂的问题需要更多的计算能力,来找出最适合的解决方案。
例如,下面的代码,完全是由程序写的,可打印hello。

+-+-+>-+++++<+++]>[-[—.–[[-.++++[+++..].+]],]<-+[[.,],+<.+-<,–+.]],+]
[[[.+.,,+].-

该字段称为遗传编程,并且也不是什么新生事物:
对遗传和进化的研究需要结合查找的基因和生存价值标准。(AlanTuring,《IntelligentMachinery》,1948年)
结合NLP和GP,我们就可以建立能理解用自然语言写的约束的系统,并实施可解决这些带有约束的问题的程序。
享受这段美好时光吧
我相信不是所有的编程工作都会被机器人取代,至少不会很快。
比如说,那些需要高度优化的代码或使用高级算法的编程任务。其他的还有领域过于复杂的情况。不过,我也相信,大量的程序员将会在未来几年被取代。我的预测是,这将急剧减少对程序员的需求,抵消对软件创造的不断增加的需求,并最终结束程序员的高薪时代。
这是否令你很难过?享受这段美好时光吧,至少我们比货车司机和医生要幸运得多,并且有机会参与到这场革命中。
“我自己是一名从事了多年开发的Python老程序员,辞职目前在做自己的Python私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的Python学习干货,从最基础的到各种框架都有整理,送给每一位喜欢Python小伙伴,想要获取的可以转发文章并关注我的头条号。在后台私信我:01,即可免费获取。”

主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/16970.html

(0)
上一篇 2023年3月10日 上午7:58
下一篇 2023年3月10日 上午8:05

相关推荐

  • 锈迹斑斑用英语怎么说

    锈迹斑斑用英语怎么说 锈迹斑斑用英语怎么说清除1.15kb这些车辆无一例外地破旧、锈迹斑斑且有撞痕。Thevehiclesarewithoutexceptionold,rustyanddented.《柯林斯英汉双解大词典》2.27kb这是在泰国清迈火车站附近的公园,锈迹斑斑格栅中的树丛的倒影。Thisisthereflectionoftreesinarust…

  • 近万个Python开源项目中精选Top34!

    近万个Python开源项目中精选Top34! 【导语】踏着人工智能、区块链的东风,近年来一路“横冲直撞”的Python在实现了从小众语言到主流的完美转身后,一头扎进了2019,依旧没有透出丝毫停下来的架势,反倒有些越烧越热的味道。本文将为你介绍2019年最值得关注的34个Python开源项目——Let’sgo!在过去的一年里,Mybridge比较…

    RUST资讯 2023年2月28日
    30
  • 硬核观察 #778 Linux 内核 6.0 正式发布,但更期待 6.1

    硬核观察 #778 Linux 内核 6.0 正式发布,但更期待 6.1 没有遇到意外,LinusTorvalds于今天推出了Linux6.0稳定版。不过,虽然是新的大版本号,但是LinusTorvalds一如既往地重申,“希望每个人都清楚,主要版本号的变化更多是因为我手指头已经数不过来了,而不是任何重大的根本性变化。”这个版本号的前一个版本号是5.19,曾…

  • 新生代公链再攻「不可能三角」

    新生代公链再攻「不可能三角」 从加密行业的历史发展来看,熊市总是酝酿新公链的时机,2022年的加密熊市也不例外,一批新兴公链正在赶来的路上。7月25日,新生公链Aptos宣布完成1.5亿美元融资,由FTXVentures、JumpCrypto加密资本领投,CircleVentures、Superscrypt等机构参投。这不是Aptos第一次融资,早在今年3月…

  • 《腐蚀》主机版即将发售 已完成ESRB分级

    《腐蚀》主机版即将发售 已完成ESRB分级 Facepunch工作室推出的《腐蚀(Rust)》最近迎来了第二春,玩家期待已久的主机版(PS4/XboxOne)也刚刚获得了ESRB的评级。ESRB分级总结提到这款游戏即将登陆PS4和XboxOne,没有提到次世代主机,只不过这款游戏可能会支持通过向下兼容游玩。考虑到一般来说,一款游戏评级出炉后就会马上发售,因此…

    RUST资讯 2023年2月13日
    90
  • TIOBE 10月排行:15 年里排名前8的编程语言十分稳定

    TIOBE 10月排行:15 年里排名前8的编程语言十分稳定 TIOBE编程语言排行榜10月份的榜单已公布,这期的标题比较有趣——“Top8oftheTIOBEindexquitestableforthelast15years”,意思就是排名前8的编程语言在这15年里一直都十分稳定。有多稳定呢?根据TIOBE统计的数据,虽然每年都会诞生新的编程语言,并且日渐…

    RUST资讯 2023年2月22日
    60
  • 用英语拒绝他人的方式

    用英语拒绝他人的方式 做人都要讲究情面没错,但有时候正是由于我们自己太爱面子所以答应了本不想答应的事,接受了本不该接受的东西,从而导致了满足了别人却难受了自己。学会说不也是情商高的一种体现!今天就跟Z君复习一下拒绝他人的高频英语句式!DirectRejection(直接拒绝)▼Noway!没门!Impossible!不可能!Absolutelynot!绝不可…

    RUST资讯 2023年3月10日
    20
  • Rust用vector存储数据

    Rust用vector存储数据 我们将要研究的第一个集合类型是矢量Vec,也称为矢量。向量使您可以在单个数据结构中存储多个值,该结构将所有值彼此相邻放置在内存中。向量只能存储相同类型的值。当您具有项目列表时,例如文件中的文本行或购物车中项目的价格时,它们很有用。要创建一个新的空向量,我们可以调用该Vec::new函数,如清单8-1所示。清单8-1:创建一个新…

    RUST资讯 2023年2月21日
    50
  • 跃昉科技基于RISC-V的工业级NB2,落地多场景应用

    跃昉科技基于RISC-V的工业级NB2,落地多场景应用   【哔哥哔特导读】跃昉科技NB2作为目前业内第一款基于RISC-V架构的边缘智能高端处理器产品,已在智慧能源、智慧物流、智能制造、智慧城市等领域实现应用落地。  8月16日,跃昉科技“跃昉智慧物联芯,助力双碳新基建”新品发布会暨媒体沟通会上,正式发布全球首款可量产的基于12nmRISC-V的工业级高性…

    RUST资讯 2023年3月10日
    20
  • 面试Python工程师会问哪些问题?需要准备什么?

    面试Python工程师会问哪些问题?需要准备什么? 随着互联网的发展,python语言现在变得越来越火爆,Python程序员越来越受到大家的青睐!那么想进入Python行业,面试时需要注意些什么问题呢?我们在参加Python开发岗位面试的时候都要做哪些准备?一般Python技术方面的面试会问哪些问题?今天,我们从2位面试官的角度来看看,参加Python开发岗…

关注微信