2025-07-07 18:24
*本文内容源自Business Insider,欢迎点击此处查看完整文章
或许有人认为,编程语言是静态的——它们只是一串数字与字母的组合,供人类与机器及软件进行沟通。而来自城堡证券(Citadel Securities)的技术专家Herb Sutter则有着不同的观点。“所有被广泛使用的主流语言都是‘活语言’”,Sutter告诉我们,“正因如此,C++、Rust、C和Python等多种语言都在持续更新迭代。我们身处的环境不断在变化,因此紧跟这些更新迭代是非常重要的。”作为做市商,城堡证券需要随时做好准备,撮合买卖双方,并为全球的投资机构和个人投资者提供他们所需的流动性。公司专注C++语言,因为速度和执行力即是一切。在交易公司和交易所,C++被视为一种性能更高的编程语言。更好地掌握与使用C++,能够优化系统的响应速度,并减少代码错误。 2024年,Sutter从微软来到城堡证券,负责牵头C++语言的培训计划,这让C++在城堡证券的软件工程部门中得到了广泛应用。作为公司最资深的技术专家之一,Sutter的日常工作是紧跟编程语言的更新迭代,以确保这家由肯·格里芬创办的做市商能够从最新最优的编程语言中获益。即使是资历尚浅的工程师,通过熟悉C++新版本的新功能,也能有所收获。其中一个优势就是在城堡证券的面试中脱颖而出,获得相关工作机会。在以下问答环节,Sutter提到了城堡证券准备启用一个的全新的C++语言版本。这个新版本计划明年正式发布,目前尚未面世。此外,Sutter还提供了两个建议,希望助力软件工程师们脱颖而出。本文对相关内容进行了编辑与精简。不敢相信我加入城堡证券已经差不多有半年了,这半年过得非常棒,这里有大量令人振奋的工作可以开展,还能接触到许多新事物,令我如饮甘泉。我尤其欣赏的一点是,公司会采纳新标准中重要且可以立刻应用的功能,甚至在其正式发布前就已经开始启用。最令我期待的是即将在下一个标准中推出的C++异步编程框架,这大约会在一年后问世。C++的异步应用具有重大意义,因为我们越来越需要高效处理并发和并行任务。(编者注:“async”是“异步”的简称——指可以在后台运行而不会导致应用程序卡顿的代码。这是一个全新的框架,通过处理下载文件或计算数据等任务,帮助开发者编写更快、更流畅的程序,同时无需让用户等待。)
直到加入城堡证券,我才发现这一框架在公司内部已经得到了广泛运用,包括我们的美股交易业务。在城堡证券工作如同活在未来,因为我们早已先人一步,深入钻研那些终将被广泛应用的技术,这真的非常有趣。
并发(Concurrency)是指同时处理多项任务,这是我们在网络云环境中始终追求的能力,无论是等待云资源分配还是处理AI词元(token)请求,都需要通过并发机制提升效率。并行(Parallelism)则是指当面临庞大的计算任务时,将任务拆解并分散至多台机器中执行,从而更快速地获得结果。最让我印象深刻的是,包含了异步框架的2026版C++标准,能够同时驾驭这两种截然不同的机制——并发涉及了隐藏与等待的操作,而并行则需要执行多种不同计算,在同一框架内兼顾二者实属难得。
试想一下交易系统是怎样运作的。交易请求通过网络纷至沓来,我们无法预知客户何时想要买入和卖出,因此做市商必须时刻做好准备。这意味着交易系统需要具备极强的响应能力、极高的处理效率和极快的运行速度。交易执行至关重要,这也是为何我们要投资异步框架。
在城堡证券,我们如今使用的技术,可能在数月甚至数年之后才会被行业广泛采用——尤其是像异步框架这样的核心技术,这帮助我们积累了技术实力与先发优势。除此之外,我们还持续为语言标准提供反馈与优化建议,而这些建议正被逐步采纳。因为我们在实际运营中大范围地采用了新标准,所以我们能够参与到这一语言更新迭代的过程中,这非常有意义。
展示C++技能的一个简单方法是,谈谈你对2026版C++标准最大的期待、描述那些对你有帮助的功能,或是分享近期所学。我希望了解你是否具有强烈的好奇心,是否专注于持续学习——无论对于何种编程语言,这一点都至关重要。对于候选人而言,核心是展现出你对软件技术进步的好奇心与知识储备,同时说明你理解编程工具的多样性,并懂得如何融通使用。
我鼓励年轻的工程师们尽早多积累工作经验。我曾就读于加拿大滑铁卢大学,并从学校著名的带薪实习项目中受益良多,而类似的项目在其他高校中也有许多。积累工作经验十分关键,这样到毕业时,你已经在真实的职场环境中充分锻炼了自己的技能。我们在候选人中看到的最大差异,在于他们运用技术解决商业问题的能力。归根结底,掌握数据结构、编程语言等工具固然重要,但真正能让你脱颖而出的则是解决商业问题的能力。