多亏了人工智能(AI),软件将在未来自行编写。至少,这就是谷歌首席执行官桑达尔·皮查伊(Sundar
Pichai)对软件开发未来的看法。他是对的!这并不能使软件开发人员变得多余 - 恰恰相反。

人工智能会在不久的将来取代计算机程序员吗?是否有可能完全取代程序员?可能只有当我们能够创造所谓的强人工智能(人工通用智能)时,也就是说,它满足了某些形式的人工智能具有人类思维可用的所有属性的假设。

答案很简单:不。相反,“计算机程序员”将成为“AI程序员”。

没有人怀疑人工智能每天都在编程方面做得更好。事实上,人工智能驱动的工具最终将比编程人员好得多。但是机器不会那么快地独立于人类,并且能够创建跨越几行以上的有用且实用的代码需要接近着名奇点的智能水平。

程序员不再手工编写代码。他们已经在使用各种智能工具,使他们能够自动执行编译工作。这就是人工智能的作用:它支持程序员。但是,人工智能将能够做出所有正确的决策,从头开始开发软件或解释每个功能的商业价值的未来仍然非常遥远。

相反,大多数新的基于AI的工具通过机器学习来提高其准确性和性能。得益于广泛的试错法,您的神经网络架构可帮助您更好、更精确地自动执行任务。

在那里,他们比人类更好:发现并修复错误。但是他们不够自主,可能永远不会有自己的“意见”,关于哪一个是解决问题或生成新功能的最佳方法。

最终,人们将远离“程序员”的工作,只是学会“驱动”他们的机器学习工具,以更有效地支持他们。由于人工智能自动化了以前需要非常特殊知识的复杂任务,因此开发人员有更多的时间专注于他们工作的“人性化”方面。

人们总是需要填补机器中永远缺乏的空白,例如与其他开发人员互动,研究已知问题的新的,大胆的解决方案,或者只是实现他们的创造力。

经典软件开发的拥护者可能会正确地说,好的软件比代码更重要:用户友好的结构,例如,有效的测试数据和实际的测试环境,以及与其他应用程序的接口。

现在可以说,所有这些都必须由一个有思想的人放在一起,从逻辑上看待,并且具有丰富的经验,以便最终对程序进行编码。这意味着,即使是最智能的人工智能也需要一个人的规格。

人工智能如何简化人类工作?

框架作为开发框架或具有定义的库已经自然地简化了软件开发人员的工作。容器化或无服务器概念等发展也朝着这个方向发展。

开发人员负责应用程序的核心,而运行时环境则由其他人提供。或多或少令人讨厌的外围任务,例如硬件的实现和配置,流量的管理等,不再需要。

现在,框架绝不仅仅是静态的。他们优化代码,建议完成Google搜索,并将图形创建的模板转换为源代码。因此,有人不再需要成为开发人员来告诉AI应用程序应该是什么样子的想法可能并不那么牵强。

举个例子:一个有创意的网页设计师将来可以将他的模型交给AI,然后AI从中创建HTML代码。人工智能需要的所有规则和所有知识都很容易教它。

更重要的是:从用户数据或其他可用数据来看,人工智能不仅可以优化程序代码,还可以优化程序本身。例如,在网站上,网站上图像的最佳位置在哪里?

有多少在线用户不想滚动或只在旅途中看到Web内容?冲浪者是否发现微妙的颜色更令人愉快,或者您是否通过明亮的设计更好地达到目标群体?有了这些数据或类似的数据,人工智能可以了解目标用户最喜欢的是什么,并相应地优化网站。

这种系统的特殊优势:它们可以快速计算,识别模式,并且可以在条件发生变化时适应整体概念。在这一点上,真正的智能开始是一个更哲学的问题。所以回到开头:人工智能是否只和一个人的规格和他提供给系统的数据一样好?

人工智能将如何影响编程工作?

事实似乎也将从根本上改变软件开发人员的工作。神经网络或人工智能将有助于改善数字工作,但在可预见的未来,它们几乎不会取代开发人员。

我们已经在使用小规模的学习系统 -
从Google搜索中已经提到的自动完成到音乐流媒体服务提供商的播放列表,这些播放列表始终根据个人口味,当前情绪和一天中的时间提供正确的音乐。

对应用程序开发人员的需求已显著增加。数字化正在生活和工作的所有领域发生 - 毕竟,必须有人开发AI,控制它,设置框架和数据。


例如,开发人员可能会写越来越少的代码,甚至更少地审查或优化它。将来,他们将在数据科学或数字创新领域进行概念性的工作。



开发人员还必须确保AI不会留给自己的设备,并根据人类条件进行测试。这也可能意味着不是根据计算出的最佳值来设计网站,而是故意突破 - 简而言之,创造性地工作。

今天的程序员将成为明天的AI教练。

人工智能可以成为一个优秀的合作伙伴。例如,许多公司使用结对编程技术,其中来自不同领域的专家共同开发软件。每个人都会带来不同的经验和方法。结果显然是更加面向用户的应用程序。

当我们谈论软件2.0时,学习机是一个高质量的合作伙伴,它可以根据所学到的知识提出建议,并可以使用大量数据自动执行测试运行。然而,有创造力的人决定了整体结构朝着哪个方向发展,因为并不是每个优化建议都会导致实际目标
- 直观的软件。

必须认识到,人工智能仍然远远没有达到任何优秀开发人员所需的创造力。我们远非能够创建Facebook,集成图形章程或管理表单错误的AI。



而人工智能,在其“深度学习”版本中,如果没有“训练”,也就是说,面对无限的情境,这样它就可以自己学习,就无法发挥作用。这正是人类,程序员,将不得不改变他的职业的地方。



人工智能如何帮助程序员?

与此同时,在取代它们之前,人工智能开始与编程工具集成,以帮助开发人员提高代码质量并加快工作速度。因此,新的Visual Studio
2019集成了一个名为IntelliCode的AI,它有助于格式化代码并提供建议。Kite对Python编程也做了同样的事情。DeepCode
会扫描源代码中的漏洞。

同样,Yagaan的AI在整个开发阶段执行代码审计,以突出存在的安全风险。育碧开发了Commit
Assistant,这是一个从历史上犯下的编程错误中吸取教训的AI,并帮助开发人员停止犯这些错误。

谷歌还有一个错误预测AI。另一个例子,“ Sketch 2Code ”,是基于一个AI,它将手工制作的界面图转换为HTML代码。就其本身而言,
SmartBear已经开始将AI集成到其TestComplete测试自动化工具中。事实上,茄子似乎也做了同样的事情。

同时,人工智能也被调用来拯救“无代码/低代码”工具,以更好地帮助开发人员掌控这些环境并实现其应用。

Mendix及其Mendix Assist是最早看到AI作为发展辅助潜力的参与者之一。去年五月,Appian宣布其低代码平台使用“Appian
AI”,这是一个扩展,主要是为了简化认知服务在应用程序中的集成。

人工智能的未来是什么?

简而言之,人工智能还没有准备好取代程序员。但目前的项目表明,我们将能够在相对较短的将来要求他为自己编写代码。与此同时,它是“增强”开发人员运动的一部分,允许它更快地产生更少的错误和代码。

因此,软件开发人员无需担心。一些旧工作可能会被替换。然而,一个熟练的开发人员至少在未来一二十年内是无法被人工智能取代的。随时了解最新技术并发展您的技能。人工智能在这里只是为了帮助我们,而不是取代我们的工作。然而,人工智能将对世界产生比历史上任何其他创新更大的影响。

我希望你能从这篇文章中得到一些东西。如果您有任何疑问或疑问,请随时在评论部分询问他们(在一些机器人来填写评论部分之前这样做)。

如果您愿意分享这篇文章,我将不胜感激。这将鼓励我创建更多像这样的有用的文章。

祝您编码愉快!

 

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信