会写代码的人工智能来了。人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。
人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与 思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。
人工智能技术是编码开发的结果,而如今,程序代码又成了人工智能的造物。
人工智能技术是编码开发的结果,而如今,程序代码又成了人工智能的造物。
越来越多的企业乃至编程人员,开始利用AI辅助软件开发流程——软件开发人员能够利用AI工具,编写并审查代码、检测bug、测试软件甚至优化开发项目;而凭借这些强有力的技术支持,企业不仅能够高效部署新的软件与应用,同时也能引导新一代开发人员更轻松掌握编码技能。
以上观点来自德勤公司发布的一份最新报告。该报告的两位作者David Schatsky与Sourabh Bumb,长期关注AI辅助软件开发领域,他们在报告中剖析了过去一年半以来,多家企业陆续推出的数十种AI驱动型软件开发工具。可以肯定的是,此类辅助开发软件市场正在蓬勃发展,当中的一些初创企业在截至2019年9月的一年周期之内筹集到7.04亿美元资金。有鉴于此,德勤方面做出预测称,随着企业客户对于软件方案的需求不断增长,基于AI技术的开发工具也将发挥愈发重要的辅助性作用。
AI辅助编码具有一系列天然优势,其中最受企业青睐的当属「效率层面的提升」。目前,大部分基于AI技术的新型工具基本延续着以往拼写检查与语法检查器的功能,且已经能够将编程人员的键盘敲击次数降低50%左右。此外,这些工具还能在代码编写过程中及时发现bug,自动执行约半数测试步骤,从而有效保障软件质量。据德勤报告强调,我们正生活在一个日益依赖于开源代码的时代,因此这种软件质量保障手段将越来越重要,并有望最终解决开源项目中广泛存在的bug横行以及优化水平不高等难题。
当然,对于企业来说,在开发过程中大量引入AI技术也在员工群体中引发了不小的骚乱。人们难免要担心,自己的编程岗位最终会不会被自动化取代。德勤公司David Schatsky表示,这种情况不太可能出现,AI驱动型开发体现的实际是技术“民主化”进程,而且给从业者们带来的更多是助益——而非威胁。
他在采访中表示,“在大多数情况下,这类AI工具是在帮助并增强人类,而不是要彻底取代人类。这些工具正在推动编程与软件开发的民主化,意味着,没有接受过编程培训的个人也能快速掌握这方面新技能,并有效填补业务层面的人才空缺。另外,AI驱动型代码审查同样重要,甚至能够在代码实际运行之前就发现问题,以保障编程产出质量。”
IDC最新报告预测称,全球定制化应用程序开发服务市场规模将从2018年的470亿美元增长至2023年的610亿美元。这一增长,在很大程度上将受到AI驱动型软件开发业务的并行支持与推动。重要的是,这种新兴开发手段不仅能够实现自动代码编写与bug检测,同时也能在软件开发项目的自动组织与部署层面发挥积极作用。以法国电信企业Orange为例,该公司近来开始尝试利用AI驱动型项目管理工具自动处理以往只能依靠手动更新的项目时间表。
Schatsky指出,“AI技术将在整个软件开发生命周期之内,为人类提供全面支持。与大多数自动化方案一样,AI技术将显著加快工作速度。具体来讲,AI虽然能够消除部分操作需求,但整体流程仍然需要人类的介入。很多企业正在引入「低代码开发」工具,这类工具的存在将使得未经编程培训的人员也能开发出部分应用程序。总结来讲,AI发挥的仍然是辅助作用,应用程序的构建还是离不开人这个核心因素。”
人的意义除了体现在应用程序的创建与监督之外,同时也体现在学习这个基本面上。Schatsky强调,AI技术有望帮助新一代编程人员从同样的软件开发过程中汲取到更多经验与知识。他指出,“AI技术能够在编程过程中为人类提供指导,发现潜在的bug并推荐特定的任务解决方法——这一切,都将给新手程序员带来巨大助力。”
2018年Forrester公司发布的一项研究结果显示,参与软件开发的企业中已经有37%在采取AI驱动型编程工具。如今,随着Tara、DeepCode、Kite、Functionize以及Deep TabNine等厂商陆续发布自己的自动化编程服务,这一比例无疑又增长到了新的水平,且提升势头将继续保持下去。在David Schatsky看来,在编码中运用AI技术终将带来效率更高、整体性更好的软件开发成果。
他总结道,“通过采用这类AI工具,不少企业除了有效降低开发成本与时间周期之外,也实现了最终产品的质量改进。由于质量更高,工具本身的水平也将有所提升,从而更快、更准确地检测bug,并以更为全面的方式在整个开发过程内实现产品测试。最终,我们的软件产品将运行得更好、而且使用门槛更低。这将形成一套值得期待良性循环。”
从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、 模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java 中 strip 函数的效率究竟如何?(Java strip函数的效率怎样)
- 在 Java 中如何编写结束程序的代码?(java中结束程序代码怎么写)
- Java 中如何给空数组进行赋值?(java怎么给空数组赋值)
- Java 中 final 的具体功能有哪些?(java中final的功能有哪些)
- 如何加强 Java CronTriggerBean 的安全性?(Java CronTriggerBean安全性怎样加强)
- Java 如何实现调用外部接口?(java怎么调用外部接口)
- Java 中 java.lang.String 类的使用方法有哪些?(java.lang.String类如何使用)
- Java 注解的创新应用有哪些?(Java注解有何创新应用)
- Java Socket 编程在跨平台环境下的表现究竟如何?(java socket编程在跨平台中表现如何)
- 掌握Ruby加密解密:如何进行有效的测试