生成式人工智能工具有望提高人类的生产力。本文介绍了使用人工智能配对程序员 GitHub Copilot 进行的一项受控实验的结果。招募的软件开发人员被要求尽快用 JavaScript 实现 HTTP 服务器。实验组可以使用人工智能配对程序员,完成任务的速度比对照组快 55.8%。观察到的异质效应表明,人工智能配对程序员有望帮助人们转型到软件开发职业。
量子计算机已从理论领域发展成为大规模实现的竞赛。这是由于革命性的加速前景,而实现这种加速需要设计一种利用量子力学来驾驭问题结构的算法。然而,当今许多量子编程语言都要求程序员在低级量子门电路上进行推理。这为尚未建立量子门语义直觉的程序员设置了重大的进入门槛,即使对已经建立量子门语义直觉的程序员来说,这也可能很乏味。在本文中,我们介绍了一种新的量子编程语言 Qwerty,它允许程序员比门更富有表现力地操纵量子位,将繁琐的门选择任务交给编译器。由于其新颖的基础类型和与 Python 的轻松互操作性,Qwerty 是一个强大的高级量子经典计算框架。
INL 的计算机程序员使用代码告诉计算机该做什么。程序员编写指令或代码,然后计算机执行这些指令或代码。计算机程序员通过创建代码来解决实际的文字问题,这些代码将分析问题并提供解决方案。我们一天中完成的几乎每一项任务都需要一系列步骤。无论是做花生酱和果冻三明治、刷牙还是喂狗,都有一些较小的步骤需要遵循才能完成任务。我们的大脑非常聪明,我们甚至不需要思考就可以完成这些步骤。计算机没有像我们一样的大脑。它们必须被告知要做什么。算法是需要发生的事情背后的思考。算法对计算机科学至关重要。然后,计算机程序员采用分步算法并将它们组合成程序。程序是提供给计算机以完成任务的指令。
背景:尽管教育和背景类似,但计划在功效方面仍可以表现出巨大的差异。研究确定了一些潜在的因素,例如编程经验和领域知识,但这些因素对程序员功效的影响尚不清楚。目的:我们旨在揭示功效(速度和正确性)与编程经验度量之间的关系。我们进一步研究了程序员疗效在阅读行为和认知载荷方面的相关性。方法:为此,我们使用脑电图(EEG)和眼科跟踪对37名参与者进行了对照实验。我们要求参与者最多理解32个Java源代码段,并观察他们的眼睛目光和认知负载的神经相关性。我们分析了参与者的功效与流行的编程经验指标的相关性。结果:我们发现具有高效率的程序员读取源代码更具针对性且认知负载较低。常用的经验水平不能很好地预测程序员的功效,但是自我估计和学习渴望的指标相当准确。含义:已确定的程序员功效的相关性可用于未来的研究和实践(例如招聘)。未来的研究还应将功效视为一种小组抽样方法,而不是使用简单的经验指标。
生成的AI和劳动生产力:关于编码Leonardo Gambacorta,Han Qiu,Shuo Shan和Daniel M. Rees*摘要的现场实验,我们研究了生成人工智能(Gen AI)对劳动生产力的影响。在2023年9月,Ant Group推出了CodeFuse,这是一种大型语言模型(LLM),旨在协助程序员团队进行编码。虽然一组程序员使用了它,但其他程序员团队没有被告知此LLM。利用此事件,我们对这两组程序员进行了实地实验。我们确定了使用CodeFuse作为治疗组的员工,并将他们与对照组中的可比员工配对,以评估AI对其生产率的影响。我们的发现表明,Gen AI的使用增加了代码的输出超过50%。但是,仅在入门级或初级员工中,生产力的提高在统计学上才有意义,而对更多高级员工的影响则不太明显。JEL代码:D22,G31,R30。关键字:人工智能,生产力,现场实验,大型技术。
上周,CDC 召开新闻发布会,正式宣布了他们的 6600 系统。据我所知,开发该系统的实验室只有 34 人,“包括管理员”。其中 14 人是工程师,4 人是程序员,只有一人拥有博士学位,是一个相对初级的程序员。在局外人看来,这个实验室似乎很注重成本,工作努力,积极性很高。
上周 CDC 召开新闻发布会,正式宣布了他们的 6600 系统。据我所知,开发这个系统的实验室只有 34 个人,“包括看门人”。其中 14 人是工程师,4 人是程序员,只有一人拥有博士学位。博士,一个相对初级的程序员。在局外人看来,这个实验室似乎很注重成本,工作努力,积极性很高。
正如从数十万个底层程序中产生了一组适应性强、变化多端的数千个元程序,从作为底层的元程序中也产生了其他东西——控制器、舵手、生物计算机中的程序员、自我元程序员。在组织良好的生物计算机中,至少有一个这样的关键控制元程序,当它作用于其他元程序时标记为“我”,当它被其他元程序作用时标记为“我”。我说“至少一个”是经过深思熟虑的。我们大多数人都有几个控制器、自我、自我元程序,它们在控制序列中以时间并行或时间序列的方式在它们之间划分控制权。正如我将在后面详细介绍的那样,自我发展的一种途径是将一个人的生物计算机的控制权集中在一个自我元程序员身上,使其他人成为有意识的执行者,服从于单个管理员,即单个超意识的自我元程序员。通过适当的方法,这种控制集中化,即基本的统一操作,对于许多(如果不是所有)生物计算机来说都是可实现的状态。
对于软件工程师和开发人员来说,CODEX、神经代码理解、CodeBERT、CodeGPT、AdaNet 和 DeepCoder 等代码生成模型有助于根据自然语言输入生成代码片段和整个程序,从而节省程序员的时间和精力。它们还可以针对特定的编程语言和任务进行微调,以生成更准确、更高效的代码。除了代码生成之外,这些模型还可用于错误检测和调试以及自动完成,以提供建议和自动完成代码片段,从而帮助程序员更高效地编写代码并降低出错的可能性。这些模型可用于审查和评估代码,提供有关编码风格、性能和潜在错误的反馈,并为代码生成文档、注释和解释,从而帮助程序员理解和维护复杂的代码库。
复杂性是软件质量的关键要素。本文探讨了测量代码复杂性的问题,并讨论了一项受控实验的结果,以比较测量代码复杂性的不同观点和方法。参与者(27 名程序员)被要求阅读并(尝试)理解一组程序,而这些程序的复杂性则通过不同的方法和视角进行评估:(a)经典的代码复杂性指标,如 McCabe 和 Halstead 指标,(b)基于评分代码构造的认知复杂性指标,(c)来自 SonarQube 等最先进工具的认知复杂性指标,(d)依赖于使用眼动追踪直接评估程序员行为特征(例如阅读时间和重访)的人本指标,以及(e)使用脑电图 (EEG) 评估的认知负荷/心理努力。以人为本的观点与参与者使用 NASA 任务负荷指数 (TLX) 对理解程序所需的心理努力的主观评估相得益彰。此外,代码复杂度的评估在程序级别和尽可能低的代码构造/代码区域级别上进行测量,以识别可能引发程序员对代码理解难度感知的复杂性激增的实际代码元素和代码上下文。使用 EEG 测量的程序员认知负荷被用作参考,以评估不同指标如何表达(人类)理解代码的难度。大量实验结果表明,流行的指标(如 V(g) 和 SonarSource 工具的复杂性指标)与程序员对代码复杂性的感知存在很大偏差,并且通常不会显示预期的单调行为。本文