Primitive是我迄今为止在VR领域看到的最有趣的用例之一——它可以在VR中创建源代码的3D可视化,并实现协作探索和分析。它的创作者们认为,在原本平面的代码中引入空间理解,可以增强由分布式开发团队创建的复杂代码的开发过程。
HTC运营着Vive X基金,这是一家风险投资加速器,据该公司称,该基金是VR初创公司中最活跃的投资者,迄今已经进行了100项投资。Vive X定期举办活动,供投资公司与更广泛的投资社区展示和交流。
Primitive是本周在旧金山的Vive X活动中向投资者推销的几家公司之一。
在向一群投资者和媒体做演示时,Primitive创始人John Voorhees将他的推销理念围绕着“软件是21世纪的基石”这一观点进行了阐述;所有行业的公司都依赖软件来完成工作,而且目前大部分软件是由不在同一建筑物甚至不在同一国家的分布式团队创建的。从银行到零售再到基础设施,几乎所有方面都依赖很大、很老,而且复杂度还在增长的代码库。
为此,Voorhees主张,对所依赖的代码有最好理解的公司将比竞争对手占有优势。而鉴于如今大规模软件开发的分布式特性,很大一部分挑战就在于如何让所有人保持同一页面上,他说。当然,这就是Primitive的用武之地。
基于VR作为直观、沉浸式可视化的基础,Primitive已经开发了适用于Visual Studio和JetBrains工具等流行代码编写程序的插件,可以通过点击按钮将源代码映射到3D可视化中,展示出代码的结构。正如Voorhees所解释的那样,这种可视化揭示了“面向对象”代码如何相互交互以修改各种细节。用户可以选择任何代码部分并深入查看细节,包括源代码本身。
多个用户可以使用各种VR头戴设备连接到可视化中,实际上在同一虚拟空间中与其他人共同浏览和交互代码。利用空间音频和虚拟化身,用户可以共同讨论代码。
虽然我并非从事开发工作,只有一点编程经验,但通过这种方式将代码可视化,我发现它比查看原始源代码和层次结构更直观。不仅如此,”空间”因素还帮助我以空间记忆的方式牢记代码的底层结构(对于倾向于听觉/视觉类型的人来说非常重要)。
参阅:传统数据可视化的问题以及VR如何修复它的一切
Primitive不仅可视化代码的结构,还可以展示代码运行时的行为。可以在Primitive中回放代码的追踪,显示一条线(表示处理线程)在代码的不同部分之间跳转,展示出线程在执行各种指令时的情况以及”它将到哪里”。
多线程应用程序展示了多个彩色线条,以可视化并行运行的进程(这在传统方法中很难一目了然)。当线条在代码中跳动时,甚至可以清楚地看到哪些线程因为等待其他线程工作完成而未能充分利用。
彩色线条代表应用程序的四个线程。| Primitive示意图
为了更好地了解Primitive的实际用途,我与一位合格的程序员进行了对话,他在推销活动中也进行了演示。该开发人员告诉我,这种可视化方法对于理解多线程或复杂代码非常有用。对于需要快速了解陌生复杂代码库的新开发人员来说,Primitive非常有用。他们还表示,Primitive在理解和优化多线程程序方面非常有用,因为编写适合并行执行的代码并不直观。能够轻松可视化不同线程的活动甚至‘在代码中的位置’,可以揭示代码的优化程度,特别是在设计用于在数百或数千个GPU核心上运行的大规模并行进程的情况下。尽管Primitive目前还不能可视化GPU工作,但团队表示他们正在考虑这一点。
在本周的Vive X活动上,Voorhees表示Primitive迄今已经筹集了110万美元的种子资金,并且该软件已在少数公司中运行,并带来了25万美元的年度重复收入。目前,Primitive希望为其A轮融资筹集450万美元。
Primitive今年早些时候发布了其VR代码可视化程序的演示版,以及用于IDE的插件,两者都可以在公司的网站上找到。
0