现在如何做游戏开发发什么技术比较主流

游戏开发需要学图形引擎声喑引擎,物理引擎游戏引擎,人工智能或游戏逻辑游戏GUI界面(菜单),如何做游戏开发发工具支持局域网对战的网络引擎开发,支持互联网对战的网络引擎开发

于游戏开发人员来说,在开发游戏时候选择一个好的游戏服务器也是很重要的。游戏服务器开发使鼡的技术取决于bai游戏的类型不同的游戏类型,需要的游戏环境不一样所使用的技术也不一样。但是在本质上都是一样的都是面对数據,处理数据

现在游戏行业是个非常有前景的朝阳行业,做这个行业的人du目前在我们国家的薪水都是顶级的,而这方面的人才却很稀尐大学里也很少开设这种游戏制作的课程,即便是有很多老师的水平基本上也就是理论派,没什么干货zhi

选择培训学习如何做游戏开發发课程,还可以学到深入的图dao形学课程讲解包括OpenGL渲染管线,着色器高光计算、菲尼尔色散、雾方程式等高阶课程。对于从事过Unity如何莋游戏开发发的人员也具有相当的学习价

如何做游戏开发发需要学:游戏规则及玩法、视觉艺术、编程、产品化、声效、编剧、游戏角色、道具、场景、界面等等元素。

1、游戏概述 Photoshop平面软件及像素美术 3dsmax软件基础及效果图制作 游戏程序设计基础及游戏制作原理 游戏策划、淛作、测试及运营实践游戏行业规划及职业素质

2、扎实的算法知识。主要有:树或图的搜索算法、A*算法、碰撞检测算法、BSP树、人工智能

3、相关图形处理b893e5b19e61知识。比如:Direct X编程、OpenGL编程、图形学的相关知识(三维图形的形体、纹理、贴图、照明还有三维对象的消隐算法比如油画算法,Z缓存)和动画处理知识如果想深入还要学会几种三维引擎比如OGRE。

4、扎实的程序语言功底主要代表为VC、DELPHI和J***A。其中VC使用最广现在仳较大的游戏也由此开发;DELPHI功能也很强,很多网游:比如网金、传奇都用到了DELPHI;J***A用于开发手机游戏

5、从事如何做游戏开发发的人一定有凊怀。有情怀没什么了不起谁都可以有一腔热情,但能力必须支撑自己的情怀做出足够好的东西。

有的时候发现市面上没有出现希朢的东西,不是因为行业没有情怀而是有情怀的人没有这个能力,有能力的人没有这个情怀只有同时具备这两点,才能既做出真正的獨立游戏也能把这件事情做好。

 游戏开发需要学习:基础公共课、专业技能课、游戏程序方向

游戏bai概述duPhotoshop平面软件及像素美术3DMAX软件基础忣效果图制作,游戏程序设计基础及游戏制作原理、游zhi戏策划、制作、测试及运营实践、游戏行业规划及职业素质

手机2D如何做游戏开发發dao、2D如何做游戏开发发技术实战、C++语言及算法基础、WIN32程序开发及MFC基础 2D如何做游戏开发发实践、行业规划及职业素质。

2D网络如何做游戏开发發主要学习内容有:网络游戏程序设计、网络游戏算法设计、2D网络游戏平台设计以及商业实战项目训练包含C++、数据结构、算法基础、Windows API使用、MFC原理及其应用、2D图形渲染技术、界面设计与应用。

Direct 3D程序开发基础、3D如何做游戏开发发技术实战、游戏引擎的修改与使用网络通讯、数据库及游戏服务器、行业规划及职业素质、游戏综合项目实战训练、基地顶岗项目实训

较流行的如何做游戏开发发主要分为2D游戏和3D遊戏,2D游戏通常是为手机开发的一般使用的开发工具是Cocos2dx

语言是C++。3D游戏一般使用的如何做游戏开发发工具是Unity3d使用的开发语言是c#

javascript。所以想要开发哪种游戏,就必须知道需要用到哪些开发知识

先需要学习C++,然后还要了解

再说下3D游戏的开发。3D游戏用的比较

unity3d开发用的是C#(javascript吔用,但用的比较少)所以我们先要学会C#。

象的编程语言相比c++也是相对简单的,学会C#之后接着就需要学会unity3d引擎的使用了而且这个也昰非常重要的一个学习过程。学习没有捷径就是需要自己一步一步的去学,一项一项的熟悉 【推荐教程:C++教程】

数,线代c语言,数據结构这四门课

,最重要最重要。再次一点的网络,

系统数据库。还有其他的计算机科学与技术

下载百度知道APP抢鲜体验

使用百喥知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的***。

做如何做游戏开发发需要哪些技术呢 [问题点数:50分,结帖人supermanyes]

确认一键查看最优***

本功能为VIP专享,开通VIP获取***速率将提升10倍哦!

做一半的单机如何做游戏开发发鈈知需要哪些技术语言,还有数据库如果有大神路过,请给予指点

flash是很常用的 很多网站上的小游戏都是flash的。 网上游戏也有用J***A的

flash是很瑺用的, 很多网站上的小游戏都是flash的 网上游戏也有用J***A的。

单机版的想暴力摩托之类的,能用c#吗


flash是很常用的 很多网站上的小游戏都是flash嘚。 网上游戏也有用J***A的

单机版的,想暴力摩托之类的能用c#吗

综合:C++、Lua、DirectX API(OPENGL),不一定要多么精通但也不能太菜,基本上就哦了

flash是很瑺用的 很多网站上的小游戏都是flash的。 网上游戏也有用J***A的

单机版的,想暴力摩托之类的能用c#吗

android上基于c#的游戏还是很多滴,代表作神庙逃亡

匿名用户不能发表回复!

整理 |弯月责编 | 郭芮

头图 | CSDN 下载自視觉中国

这篇报告将重点介绍六大方面的主题,其中每个主题部分都包含可视化图表通过数据为开发人员社区提供对未来趋势的分析和見解。

1、编程语言社区:通常编程语言是构成强力社区的核心但也是最富争议的主题。该报告统计了活跃在各种主流编程语言上的软件開发人员数量数据覆盖到了全球所有类型的程序员。

2、为开源软件做贡献:在开发人员的世界中开源软件无处不在,但并非每个开发囚员都是开源人员该报告探讨了哪些开发人员为开源软件做过贡献,他们愿意做贡献的原因以及他们希望从各个公司获得哪些开源支歭。

3、开发运维的参与和采用:开发运维改变了软件构建的方式但是,并非所有的开发人员和组织都经历了这种文化转变该报告统计叻有多少开发人员在使用CI/CD工具(这是开发运维流程的核心技术)。此外还分析了哪些开发人员正在使用这些工具、他们的工作经验、所茬公司规模以及技术背景。

4、机器学习开发人员通过哪些方式运行代码对于某些数据科学家和机器学习开发人员而言,他们的工作并不僅仅是纯粹的模型开发实际上,他们的工作重点已经转移到与推理性能、扩展、负载平衡等问题相关的实际生产场景这些都需要计算能力,而在过去这一直是机器学习开发人员面临的巨大难题该报告将探讨机器学习开发人员通过何种方式运行应用程序或项目的代码,鉯及他们应用机器学习/ AI的方式有何不同他们的使用目的是什么,此外他们使用的算法和框架又有哪些

5、增强现实与虚拟现实:增强现實(AR)和虚拟现实(VR)是两个不断发展的领域,且随着近年来技术的成熟以及越来越多的设备支持AR和VR功能而迅速普及该报告将探讨AR和VR开發人员以及非开发人员的概况,重点介绍他们在其他领域的参与度他们的技术和设备选择以及他们构建的产品。

6、新兴技术:该报告从噺兴技术的发展出发讨论过去一年中哪些技术的普及程度有所提高或下降。

JavaScript仍然是目前流行度最高的编程语言全球超过1200万开发人员都茬使用JavaScript。

2018年Python净增了220万开发人员并且在受欢迎程度方面超过Java。如今从整体来看Python拥有第二大编程语言社区。

Kotlin是增长最快的语言社区在过詓的两年中,它的规模几乎翻了一番

五分之三的开发人员曾为开源软件贡献代码。

开发人员最有动力为开源项目做出贡献这是因为他們可以借此提高编程技术力(29%),而且他们相信开源带来的好处(26%)

将近一半的开源贡献者都希望各大公司能够支持开源社区并为之做絀贡献。

使用CI / CD工具的开发人员成为专业开发人员的比例要高出20%

58%的使用CI / CD工具的开发人员在员工超过10人的公司任职。

尽管业余人员不如专业嘚机器学习开发人员那般熟悉云计算基础架构但是他们在CPU以外的硬件上运行代码的比例更高。

使用大数据和深度学习框架的机器学习开發人员更倾向于在混合云和多个云上部署他们的代码

从事数据提取的机器学习开发人员更倾向于在私有云和本地服务器上运行代码,而從事模型部署的机器学习开发人员更倾向于使用公共云来部署机器学习解决方案

增强现实(AR)和虚拟现实(VR)的工作人员大多拥有广泛嘚兴趣和技术爱好。

大多数AR和VR爱好者(57%)都在兼任其他领域(至少一个)的专业工作

22%的AR和VR非开发人员在学习编程,他们最喜爱的编程语訁包括Java、C++和C#

大多数开发人员(59%)的工作都涉及开发运维,其中27%目前正在从事涉及开发运维的项目

在过去的12个月中,雾计算/边缘计算在參与度和采用率方面呈现了最高的增长

编程语言的选择对开发人员来说非常重要,因为开发人员都希望自己的技术力能够跟得上市场的朂新需求编程语言是最富争议性的热门话题,也是一部分强大的开发人员社区的核心另外,编程语言对于工具的开发商也至关重要洇为他们需要确保提供最有用的SDK。

评估某种编程语言的使用范围非常困难Tiobe、Redmonk、Stack Overflow的年度调查以及Github Octoverse都是不错的数据来源,但在大多数情况下怹们只提供了语言之间的相对比较因此我们无法了解各个社区的规模。此外常见的调查报告可能会因为地理区域产生偏见,或偏向软件开发的某些领域或偏向开源开发人员。

该报告统计了活跃在各种主流编程语言上的软件开发人员数量数据覆盖到了全球所有类型的程序员。报告主要基于两个数据首先,对全球软件开发人员的数量进行独立估算预计到2019年底,全球活跃的软件开发人员高达2040万其次,通过每六个月对开发人员进行一次大规模、低偏差的调查该报告收集了十个开发领域中开发人员使用编程语言的情况,并总结出了哪些人在何种情况下使用每种编程语言的可靠信息

图:2019年第四季度全球活跃的软件开发人员

目前,JavaScript仍然是最受欢迎的编程语言全球约有1200哆万开发人员在使用这种编程语言。而JavaScript社区也是增长最快的社区之一从2017年第四季度至2019年第四季度期间,超过300万的发人员加入了该社区這是绝对数量增长最快的编程语言。不仅新手开发人员认为JavaScript的入门非常简单而且经验丰富的开发人员也愿意尝试这种技术。因此如今超过半数的Web应用程序、云服务或第三方生态系统的扩展开发人员都在使用JavaScript。

还有两种因快速持续增长脱颖而出的编程语言:Python和Java在过去两姩中,两者新增的开发人员加起来高达400万

2018年,Python新增了220万开发人员并且在受欢迎程度方面超过了Java。尽管2019年Python的增长没有那么迅速但从整體来看Python仍然是第二大编程语言。其流行度的增加主要来源于数据科学和机器学习的兴起最令人惊讶的是75%的机器学习开发人员和数据科学镓都在使用Python,而只有不足20%的人在使用R

Java在移动生态系统(Android应用程序)和后端开发中非常流行。尽管Java已有二十多年的历史了但其在开发人員中的吸引力一直在稳定增长。自2017年底以来每年都有超过50万的开发人员加入Java社区,如今Java开发人员总规模已超过800万

从百分比来看,增长朂快的语言社区是Kotlin在过去两年中,Kotlin的规模几乎翻了一番从2017年第四季度的110万开发人员增长到2019年第四季度的200万。鉴于Google推荐Kotlin作为Android开发的首选語言预期这种增长会持续下去,并且Kotlin会成为移动开发的核心语言

就社区规模而言,C#和PHP非常接近分别拥有580万和570万活跃的软件开发人员。在过去的一年中两者似乎都停止了增长。详细来看的话2019年C#损失了大约100万开发人员。C#在AR / VR(Hololens)以及如何做游戏开发发人员的生态系统中占有一席之地但其在桌面开发的优势已无可挽回,可能是由于基于Web技术的跨平台工具的出现PHP的整体采用率并未出现明显的下降趋势,數据表明该语言在Web开发人员中的流行度逐渐没落(尽管它仍然是仅次于JavaScript的第二大广泛采用的编程语言)。

2018年使用C和C++的开发人员社区增長了15%(从550万增长到630万),但此后规模并未增加到2019年底,约有540万开发人员使用C++而使用C的开发人员约为320万。这两种语言在物联网项目中(對于设备级和应用程序级编程而言)都很重要因为在这些项目中性能和底层访问至关重要。

其他相对小众编程语言的开发人员数量未出現明显的增长苹果社区非常重视Swift和Objective-C,然而使用这两种编程语言的开发人员数量却在下降Ruby和Lua的开发人员似乎正在大面积流失。最后Go和Rust嘚社区仍然相对较小(不到150万开发人员)。

开源软件是开发世界的重中之重不仅每种开发工具都有相应的开源方案,而且某些领域完全甴开源产品主导此外,开源社区的协作本质体现了共享代码、知识和最佳实践的价值而这是开发人员文化的核心。

在开发人员的世界Φ开源软件无处不在,但并非每个开发人员都是开源人员该报告探讨了哪些开发人员为开源软件做过贡献,他们愿意做贡献的原因鉯及他们希望从各个公司获得哪些开源支持。

图:59%的开发人员曾为开源软件做贡献

59%这个数字本身就让很多人非常吃惊这代表了在数百万開发人员中,只有五分之二没有为开源软件做过贡献下面让我们来看看为开源做出过贡献的开发人员与那些没有做出贡献的开发人员之間有什么区别。

总体来看开源贡献者比非贡献者更年轻。为开源做出过贡献的开发人员中三分之一(33%)的人不到24岁,而非贡献者中只囿26%但并不是说他们都是没有经验的程序员。41%的开源贡献者拥有1-5年的开发经验甚至比非贡献者高4%。

然而出人意料的是开源贡献者不一萣是专业人员。实际上他们与非贡献者一样都是业余爱好者。即便是非软件行业的从业者也可以参与开源软件的开发并为之做出贡献。

开源贡献者涉猎多个开发领域的比例高于非贡献者但是,开源贡献者更倾向于参与新兴领域例如机器学习/AI以及AR / VR,这些领域的创新主偠由开源工具推动

最后,我们可以通过开源托管网站Github上的活动洞悉开发人员对开源软件做出贡献的可能性。这种关联性非常明显在非贡献者之中,有三分之二(67%)没有个人公开的Github代码库而近一半的贡献者(48%)拥有两个或多个公共代码库。我们通过Stack Overflow也发现了相似的关聯性非贡献者中不使用该网站的比例更高,或虽然访问该网站却没有账号另一方面,在开源贡献者中至少获得了一枚奖章的开发人員是非贡献者的两倍(30%与15%)。从事开源项目有助于推动开发人员积极地通过问答网站与同行互动

以上我们分析了为开源软件项目做出了貢献的开发人员。下面我们来深入探讨这些开发人员为开源做贡献的原因

三分之一的开发人员致力于开源软件是为了提高编程技术

推动開发人员为开源项目做出贡献的最大动力在于提高编程技术(29%),以及相信开源带来的好处(26%)

此外,22%的开发人员为开源软件做贡献是洇为觉得开源项目很有趣或者是为了解决开源软件项目现有的问题,例如修复bug或创建新功能

相比之下,金钱上的资助是最不重要的动機:只有3%的开发人员可以通过开源项目的工作而获得报酬事实证明,开发人员更倾向于通过开源项目建立自己的口碑(14%)或培养人际关系(11%)而不是直接获得经济收益。此外与在其他原因的推动下为开源做贡献的开发人员相比,以获得报酬为目标的开发人员认为开源囿趣的比例低了20%通过开源获得报酬的开发人员在意识形态上也不太相信开源是自由之源。

通常开发人员为开源做贡献的动机并不唯一,他们往往会受到多种因素的激励例如,在为开源代码做出贡献的目的是为了提高编程技术的开发人员之中有一半的人也认为这项工莋很有趣;同时为了培养人际关系的贡献者之中,56%的人还认为这项工作让他们有归属感

图:29%的开发人员为开源软件贡献代码的目的是为叻提高编程技术

将近一半的开源贡献者希望各个公司支持开源社区并为之做贡献

该报告还询问开发人员他们希望各个公司提供哪些开源支歭。在没有为开源软件做出过贡献的开发人员中有33%的人对各个公司没有任何期望,而在开源贡献者之中只有15%的人不抱期望尽管如此,彡分之二的非贡献者仍然认为各个公司应当参与其中并为开源软件运动提供支持。他们明白开源的重要性并相信各大公司都应该参与開源。

另一方面44%的开源贡献者希望各个公司支持开源社区并为之做出贡献。另外希望为解决实际问题做贡献的开发人员比例高达55%。

许哆贡献者(44%)希望获得有关如何在公司产品或服务上使用开源软件的完整文档这对于通过开源获得报酬的开发人员来说尤为重要(53%)。

囿趣的是开源开发人员并不一定希望公司基于开源软件来构建产品和服务(39%)。就对开源软件的支持而言开发人员在这方面对各个公司的期望最低。

开源软件贡献者的构成包含形形***的人群他们的贡献动机非常广泛,包括学习、享受乐趣、建立口碑以及培养人际关系总而言之,开发人员为开源做贡献的理由各种各样而且他们希望各个公司能够提供支持。

开发运维重新定义了软件开发的流程让整个行业进入了一个迭代过程,同时也让软件开发更具弹性和灵活性尽管开发运维是软件开发革命的新篇章,且已经获得了广泛的关注但仍然算不上标准的开发制度中的一部分。

在过去的三年半中我们追踪了移动、桌面和Web开发人员使用持续集成和交付(CI / CD)工具以及服務的情况。尽管从技术上讲开发运维是一种文化而不是一套工具,但CI / CD是运营和开发人员之间协作的核心这些工具实现了向这种新文化轉变的主要优势。如下图所示大多数开发人员都没有使用这些工具,而且使用率也没有增长

尽管许多研究表明许多公司都在采用开发運维,但数据表明这种文化转变并非贯穿所有的组织。CI / CD工具的使用是否在开发人员中间得到了普及或者还存在一定的市场障碍?

图:迻动、桌面和Web开发人员使用CI/CD的情况

与未使用CI / CD开发人员相比使用CI / CD的开发人员可以提供更多有关为什么使用率达不到预期的见解。通常使鼡CI / CD工具的开发人员都是在拥有较大开发团队的公司里工作的专业人员,与未使用CI / CD的开发人员相比他们的经验更丰富。

最近的一次调查数據显示与没有使用CI / CD工具的开发人员相比,使用CI / CD工具的开发人员是专业开发人员的比例更高——就Web开发人员而言使用CI / CD的人员是专业开发囚员的比例比不使用CI/CD工具的人高20%。对于移动和桌面开发人员而言这种差异分别为22%和18%。

图:CI/CD用户详细信息

最新调查还显示使用CI / CD工具的开發人员中,58%就职于员工数超过10人的组织相比之下,不使用CI / CD的开发人员就职于员工数超过10人组织的只有43%CI / CD用户在较小的开发人员团队中工莋的比例较小,这种情况表明小型公司的需求较低这可能是由于不太复杂的开发操作对于自动化、对于IT与开发结合的需求也较低。

图:軟件开发人员就职的公司规模

采用CI/CD的开发运维规模

与未使用CI/CD的开发人员相比使用CI / CD的开发人员更有经验。在使用CI / CD的Web开发人员中44%拥有6年以仩的经验,而没有使用CI / CD的开发人员中只有28%在桌面开发人员中,我们看到了相同的趋势——使用CI / CD的开发人员中49%拥有6年以上的工作经验相仳之下,只有34%的未使用CI/CD的开发人员拥有丰富的经验使用CI / CD的移动开发人员经验略少,但总体趋势依然相同49%的使用CI / CD的开发人员拥有3年以上嘚经验,比未使用CI / CD的开发人员高17%

采用开发运维文化是为了提高成功的几率,开发人员应该对整个开发过程有所了解越是经验丰富的开發人员,越容易管理开发运维

尽管有些人会不适应,但有些开发人员已经完全接受了向开发运维的转变并掌握了各种技能,还成功地掌握了开发运维专家的角色

开发运维专家在推动开发运维文化方面起着重要作用,而且他们往往都是带头的人这样的专家相对少见,茬我们的调查中只有5%的开发人员拥有这份工作缺乏推广的专家可能是限制整个组织文化转变的重要因素。

寻找拥有各项技术的专业人员來担任这些职务可能是导致开发运维专家人数减少的原因成功实施开发运维的关键之一就是文化的融合,因此推动流程改进的专业人员必须清楚和理解IT以及开发人员的工作方式这一点很重要。

开发运维专家是一个多元化的群体他们在组织中除了开发运维专家之外还担任着其他职责。开发运维专家可以是架构师、管理员(数据和系统)、工程师和测试人员这些技术在开发运维的实施中起着重要作用。開发运维伴随着迭***发过程的每个步骤需要架构师来实现流程自动化,需要管理员来管理发布时间表另外还需要测试人员和QA工程师來测试软件。

图:开发运维专家还承担了哪些工作

在深入研究开发运维专家的技术栈之后我们还发现,除了开发运维专家本身之外许哆人还承担着多项工作。如下表所示我们可以看到这些开发人员承担的各色职责。开发运维专家中23%的人既是程序员又是系统管理员27%是程序员和架构师。拥有开发技术力以及理解管理和设计系统是引领开发运维策略的基本要求

图:开发运维专家承担的其他职责

机器学习開发人员通过哪些方式运行代码

机器学习(ML)为我们日常使用的越来越多的应用程序和服务提供了动力。对于有些组织和数据科学家而言机器学习不仅仅是获取业务洞察或训练预测模型。他们的工作实际上已从纯粹的模型开发转移到了涉及推理性能、扩展、负载平衡、训練时间、可再现性以及可见性等问题的实际生产场景这都需要计算能力,而在过去计算能力一直是机器学习开发人员巨大的难题。

从茬笔记本和台式机上运行代码到云计算解决方案的转变

在2019年中期至年底之间在笔记本电脑或台式计算机上编写应用或项目代码的机器学***开发人员的比例从61%降至56%。

尽管5%的下降幅度很大但大多数开发人员仍在本地运行代码。业余爱好者更加倾向于在本地运行代码他们与專业机器学习发人员在本地运行代码的比例分别为65%和51%。

相比之下在同一时期,我们发现在公共云或大型计算机上部署代码的开发人员所占比例略有增加在本次调查中,针对问题:"您通过何种方式运行应用程序/项目的代码",我们加入了多云(multi cloud)作为其中一个备选***目的是为了确认在一个项目中使用多个公共云的开发人员。

结果发现19%的机器学习发人员使用多云解决方案来部署代码。由于加入了这个備选项我们可能低估了运行代码的公共云使用量的实际增长;有些开发人员可能选择了多云代替公共云。也就是说启动多个实例并在其上运行机器学习模型变得越来越容易,也变得越来越便宜实际上,大多数领先的云托管解决方案都提供免费的Jupyter notebook环境无需设置即可完铨在云中运行代码。例如Google Colab预先***了大多数机器学习库,是用户克服依赖性和计算能力难题、随时随构建机器学习解决方案的理想场所

尽管业余爱好者利用云计算基础架构的倾向性不如专业开发人员高,但与专业人士一样他们也可以在CPU以外的硬件上运行代码。正如稍後的分析超过三分之一的机器学习爱好者在大型数据集上训练深度学习模型时,会使用GPU、TPU之类的硬件架构来运行资源密集型代码

图:機器学习开发人员将代码部署到了何处

使用大数据和深度学习框架的开发人员更喜欢在混合以及多云环境中部署代码

从事ML / AI研究的开发人员茬本地计算机上运行代码的比例(60%)超出了其他ML开发人员(54%),主要是因为他们大多需要使用较小的数据集另一方面,负责部署由其他團队成员构建的模型的开发人员或负责构建机器学习框架的开发人员更倾向于在云托管解决方案上运行代码

ML / AI或数据科学方面的老师使用雲解决方案的比例超过了一般人,更具体地说是混合云或多云应当指出的是,在讲授ML / AI的开发人员中有很大一部分还以不同的方式参与叻数据科学和ML / AI。 例如41%的人使用第三方API,而37%的人在应用或项目中训练和部署ML算法他们不一定将混合和多云架构作为教学活动的一部分。

ML開发人员使用的ML框架或库的类型是在云计算体系结构上运行代码的另一个体现当前正在使用大数据框架(例如Hadoop,尤其是Apache Spark)的开发人员更傾向于使用公共云和混合云Spark开发人员还会大量使用私有云来部署他们的代码(40%,而其他ML开发人员为31%)或使用本地服务器(36%,而其他ML开發人员为30%)

相比使用其他机器学习框架/库(例如流行的Scikit-learn python库)的开发人员,深度学习开发人员更倾向于在云实例或本地服务器上运行代码

然而,使用Keras和TensorFlow(最流行、最易访问的python深度学习库)的开发人员与使用Torch、DeepLearning4j或Caffe的开发人员之间存在明显的区别前者大多喜欢在他们的笔记夲电脑或台式机上运行代码,而后者则倾向于使用混合和多云、本地服务器和大型机这些差异主要是由于开发人员在机器学习开发方面嘚经验造成的。例如只有19%的TensorFlow用户拥有3年以上的经验,而Torch和DeepLearning4j开发人员拥有3年以上经验的比例分别为25%和35%Torch非常适合关心效率的ML开发人员,因為它拥有简单快速的脚本语言以及LuaJIT和底层C

ML开发人员在语音识别、网络安全、机器人移动和生物工程等领域使用硬件体系结构的比例较高。这些开发人员更倾向于使用生成对抗网络等高级算法而且他们需要处理大型数据集,因此需要额外的计算机功能同样,当前正在使鼡C++机器学习库的开发人员也会大量使用除CPU(38%其他开发人员为31%)和大型机以外的硬件体系结构,大概是因为他们非常在意性能

最后,ML开發人员运行代码的方式与他们从事机器学习/数据科学哪个阶段的工作之间存在明显的联系参与数据提取的ML开发人员更倾向于在私有云和夲地服务器上运行代码,而参与模型部署的ML开发人员则更多地使用公共云来部署机器学习解决方案31%的开发人员参与了机器学习工作流程嘚所有阶段(端到端),而未能参与全过程的开发人员为26%他们也更倾向于在公共云和混合云上运行代码。

相比之下参与数据可视化或數据探索的开发人员倾向于在本地环境中运行其代码(分别为62%和60%),甚至比参与数据科学工作流其他阶段的ML开发人员(54%)还要多

增强现實(AR)和虚拟现实(VR)实现了数十年来人类的想象。从《星际迷航》中的Holodeck到《钢铁侠》中的抬头显示(HUD)AR和VR就是未来的代名词。然而朂近AR和VR处理已在智能手机上变得司空见惯,而且Oculus和Sony等公司已经发布了消费级的头盔该报告分析了AR和VR生态系统中的趋势,重点关注活跃于該领域的开发人员与非开发人员之间的主要差异

AR和VR是最小的软件开发领域

单独来看,增强现实和虚拟现实仍然是最小的软件领域(相对於移动、桌面、Web、游戏、后端、工业物联网、消费电子、数据科学和机器学习来说)即便将二者结合起来,AR和VR(AR / VR)也仅比第二小的消费電子产品领域略大仅有0.4%只从事AR或只从事VR领域的工作,其余的开发人员都在其他开发领域任职

在9%的从事AR或VR领域工作的人中,将近一半(46%)的人同时涉足AR和VR这表明这两个领域的工作所需的技术力有很大一部分是重复的。与AR(24%)相比仅涉足VR(31%)的人更多。AR的发展状况不如VR而且AR存在一些技术上的难题仍需解决,这也意味着AR产品的市场较小因此技术也不够成熟。结果表明与VR相比,AR的门槛较高因此涉足嘚人数更少。

图:46%的开发人员同时涉足AR和VR

涉足AR和VR的开发人员大多出自兴趣爱好

从事AR和VR工作的人员的特征之一是他们也兼任各色开发领域的笁作如前所述,仅参与AR和VR的人数很少实际上,其中许多人还涉足多个开发领域在从事AR和VR工作的人员,超过60%都涉足5个以上的行业而茬未曾涉足AR或VR工作的开发人员之中,只有9%涉足5个以上的行业两个群体之间形成了鲜明的对比。

涉足AR和VR的开发人员大多出自兴趣爱好而鈈仅仅是从事这方面工作的人。与未曾涉足AR或VR工作的人员相比这些人对工作之外的技术领域感兴趣的倾向性更大。他们都是技术爱好者喜欢在自己的专业职责范围之外进行实验,而且目前正在尝试使用AR与VR他们希望在现有的开发项目中应用AR与VR的技术。

从另一方面来看28%嘚VR专业人员也是这方面的爱好者。在AR专业人士中24%的人利用业余爱好时间从事AR项目。这比其他大多数部门都高机器学习以26%名列第二,其佽是游戏(25%)这表明,从事AR和VR工作的人对该行业充满热情对个人的业余项目充满热情。

我们还看到从事AR和VR工作的人所担任的职业类型也很多样化。由于AR和VR的工作兼具艺术和技术因此专业人员常常需要兼顾多个职责(技术和非技术角色)。实际上35%的AR从业者担任着多個职责。与其他行业的人员相比从事AR / VR的人员不太可能是"纯开发人员"(仅担任开发工作的人员)。在仅从事VR或从事AR和VR工作的人中间这种差异尤为明显,分别只有34%和38%仅担任开发人员的工作而在仅从事AR工作的人员当中,只有50%是纯开发人员

图:从事AR和VR工作的人员常常身兼多職

与仅从事AR工作的非开发人员相比,仅从事VR或从事VR和AR的工作人员担任非开发工作的比例是两倍以上这表明非开发人员倾向于以某种身份從事VR工作。

深入研究角色我们看到49%的AR从业者同时兼任程序员或软件工程师的工作,而VR从业者以及同时从事VR和AR工作的人分别只有37%和32%许多AR從业人员也参与了Web和移动开发以及机器学习的工作。这表明这些程序员对AR这项技术很感兴趣,希望通过使用最先进的技术挑战自己或在項目中实现AR

另一方面,VR从业人员以及参与AR和VR的人员成为游戏设计师或产品经理的比例是AR从业人员的两倍以上这些职责的普及反映了游戲市场对VR的迅速接受——从新兴技术到创收。

AR和VR开发人员中使用3D动画软件的人与使用IDE的人一样多

虽然从事VR工作的开发人员和非开发人员使用的部分技术相同,但是这些技术无法同时吸引这两种人Oculus技术套件是最适合开发人员和非开发人员使用的平台,35%的VR从业人员都在使用該平台Playstation VR、Windows 10 Mixed Reality和Google Daydream都吸引了大量的非开发人员(分别为36%、28%和26%),但未能吸引VR开发人员这种情况对于愿意扩大受众的技术供应来说是一个很好嘚机会,因为统一的技术栈可以通过统一其他工具和平台提供巨大的优势简化培训需求,并减少使用的工具种类

图:oculus在所有从业者中處于领先地位,但PlayStation VR在非开发人员中同样受欢迎

Unity Mobile AR、AR Core和AR Kit在AR产品的软件工具包中占据领导地位但所有这些工具在开发人员中的受欢迎程度远远超过了非开发人员。这表明AR软件市场还存在很大空间为非开发人员提供一种能够轻松地实现创造力的工具。

图:与非开发人员相比AR软件工具对AR开发人员的吸引力更大

超过半数的开发人员使用游戏引擎,而48%的开发人员使用3D建模和渲染软件这些技术在AR / VR开发人员中的广泛采鼡证明了他们提供的抽象技术可带来巨大的效率提升,而且很适合AR(尤其是VR)开发游戏

我们看到,同时兼任开发人员和非开发人员角色(混合开发人员)的从业人员在AR和VR工作中占了非常大的比例而且这一点也体现在了AR和VR开发人员使用的技术中——3D动画软件(39%)和设计工具(30%)。事实上使用3D动画软件的AR和VR开发人员甚至与使用IDE的开发人员几乎一样多。

使用后端即服务、ML API和应用商店分析的AR和VR开发人员不足15%AR囷VR开发人员使用应用商店分析的比例比如何做游戏开发发人员低3%,比移动开发人员低10%这表明AR / VR开发人员比较注重基础技术,而并非通过应鼡的营销渠道获取最大价值

我们看到非开发人员使用的工具也很类似:49%使用3D建模和渲染软件,43%使用游戏引擎42%使用3D动画软件。鉴于严格來讲这些人并不是开发人员因此越先进的技术被使用的概率越高。

22%的AR/VR非开发人员在学习编程

在从事AR和VR工作的非开发人员中有15%的人对编程一无所知,而17%的人积极地通过编程完成工作虽然AR/VR从业人员涉及的技术种类繁多,但很多人都在努力尝试学习编程其中22%的AR/VR非开发人员茬学习编程。

这表明虽然无代码工具对完成任务很有用,但并不能满足五分之一以上的AR和VR从业者的需求他们正在学习编程以克服这些限制。尽管工具开发商付出了巨大的努力而且市场将有这样的定位:将无代码工具作为非编程人员进入AR和VR的解决方案,而不必担心编写玳码但是该领域的从业人员还是决定通过学习编程技巧来实现他们的愿景。对于希望吸引非编程人员的平台来说这是一个机会,他们鈳以在这些工具中创建更多功能以吸引这一部分的手中。

在希望提高编程技术的非开发人员中最受欢迎的语言是Java(28%)、C++(26%)、C#(25%)以忣JavaScript(22%)。17%的AR / VR项目人员不需要编写代码而15%的人使用可视化开发工具。这表明非开发人员的AR和VR工作者明白掌握编程技术的价值但是他们仍然想在学习的同时创建产品。

图:非开发人员正在积极学习Java、C++和C#

游戏是开发人员和非开发人员最喜欢的应用类别

AR和VR的从业者主要致力于創建娱乐和服务产品但开发人员和非开发人员的侧重点有所不同。77%的AR / VR开发人员在构建服务类的产品(例如业务物流产品)而只有67%的非開发人员在构建这类的产品。

AR和VR从业者最喜欢的应用类别是游戏和玩具其中52%的开发人员和44%的非开发人员在开发这个类别的产品。对于其怹娱乐产品(如移动和动画)情况有所不同,其中有65%的非开发人员在开发此类应用而只有47%的开发人员在从事此类工作。这表明开发人員在利用他们的编程经验通过AR和VR来尝试和创建游戏而非开发人员则受到了其他用例的启发。

无论是AR / VR开发人员和非开发人员都对工业应用(例如制造和建筑)不太感兴趣但是与非开发人员相比,开发人员在此类别中创建产品的比例更大随着AR和VR的成熟和稳定,商业应用的鈳行性增大我们有望在开发人员和非开发人员中看到工业领域的进一步创新,但是构建娱乐应用的吸引力仍然很大

图:AR和VR从业人员主偠侧重于创建娱乐和服务产品

随着人们对某项技术的兴趣日渐消逝,该技术的影响力也会不断下降面对新的挑战和机遇,昨日的热门话題很快就会烟消云散许多因素都会影响技术的影响力,了解开发人员喜欢使用和学习的新兴技术可以为我们提供有关这些新兴技术何時以及如何改变世界的宝贵见解。

在截至2019年第四季度的两年中我们通过四项调查跟踪了开发人员对不同技术的参与和采用情况。为衡量參与度和采用情况我们询问开发人员是否正在研究某种新兴技术,或是正在学习或者只是感兴趣或不感兴趣。为了方便分析"从事某項技术的开发人员"代表感兴趣、正在学习或正在研究该技术的开发人员。而采用率则表示使用某种技术并正在致力于该技术的开发人员比唎

图:开发人员大多涉足开发运维

图:各项技术的采用率各有不同

开发人员最常涉足的是开发运维活动,其中59%的开发人员对开发运维感興趣、了解或正在使用这一点不足为奇,因为随着公司在不断接纳CI / CD该领域在去年获得了极大的关注。与六个月前的60%相比该比例略囿下降,这表明开发运维可能已触及炒作曲线的顶点这就是说,了解开发运维的开发人员的比例(占参与开发人员的30%)大于当前正在研究开发运维的比例(27%)因此在该领域积累知识的开发人员队伍仍然很庞大。

图:开发运维和雾计算/边缘计算的采用率和参与度同比增长朂大

机器人技术和计算机视觉的参与度分别达到了54%和53%但是这种参与并不等价于采用率。

目前13%参与了该领域的开发人员正在使用计算机視觉,另有25%的人对此有所了解另一方面,8%参与了该领域的开发人员正在积极使用机器人技术另有21%的人对此有所了解。机器人技术的门檻比计算机视觉技术高很多这说明了采用率的差异,但机器人技术也具有很强的文化意义并且是技术领域中令人兴奋的领域,这就说奣了为什么大量开发人员被动地参与其中尽管如此,在过去的12个月中参与机器人技术的人员比例还是减少了2%,而计算机视觉的参与度卻增加了2%

量子计算和无人驾驶汽车也是如此。这两种技术都吸引了开发人员的高度参与其中46%的人感兴趣、正在学习或正在研究这些技術,但这种参与尚未转化为采用——仅有5%的开发人员正在从事自动驾驶汽车的开发而在量子计算中该比例为4%。这些新兴技术仍处于发展階段但进展很快,随着技术的发展采用率一定会上升。在过去的12个月中量子计算的采用率提高了2%;而对于无人驾驶汽车技术,在过詓6个月的使用率提高了1%

在那些开发人员参与度不高的技术中,不同技术的采用率也存在许多差异雾计算/边缘计算(32%)、加密货币(41%)囷5G(42%)都在在开发人员参与度方面排在最后,但背后的原因却不尽相同

2018年底比特币热潮带来的宣传浪潮促成了目前约2,500-3,000种加密货币的存在。相对较高的参与开发人员(35%)正在学习或正在研究加密货币但是,只有41%的开发人员参与其中这表明加密货币的疲软才刚刚开始。事實上参与度在过去六个月中下降了1%(尽管去年有所增加)。更多的开发人员正在参与加密货币以外的区块链应用我们看到45%的开发人员囸在参与其他区块链应用,其中32%的开发人员在积极地学习或投身于该技术

尽管就开发人员的参与度而言,雾计算/边缘计算和5G排在最后泹与量子计算和无人驾驶汽车等更具未来主义的技术相比,它们的采用率更高这些基础设施技术可能无法像科幻技术那样吸引公众的想潒,但是它们会更快进入公众的视野并且随着技术的成熟,其采用率也将增加在接受调查的所有技术中,雾计算/边缘计算的采用率(2%)和参与度(5%)是过去十二个月中增幅最大的技术(仅落后于开发运维)

许多因素决定了技术从兴起到采用的过程,其中最重要的是商業实用性开发运维和微型应用之类的技术可通过提高效率或打开新市场等方式立刻提供显著的价值,因此它们理所当然地获得了开发囚员的高度采用率和参与度。同样5G和雾计算 / 边缘计算将迅速证明其价值和投资回报,然后快速引发商业采用而那些更雄心勃勃长期发展的技术(例如量子计算和机器人技术)的门槛很高,其商业化还有很长的路要走尽管如此,它们依然吸引了各地开发人员尽管许多囚还没有参与涉及的技能或资源,但是当这些技术平民化时将会有大量热心的开发人员积极参与。

你点的每个"在看"我都认真当成了喜歡

参考资料

 

随机推荐