0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入分析最热门语言流行的原因和应用

5RJg_mcuworld 来源:lq 2018-11-30 16:15 次阅读

作为全球知名开发者社区 GitHub,包括了 Google、Facebook、微软等众多技术巨头都会在这里安营扎寨,而每年 GitHub 都会发布一份Octoverse 报告,该报告总结了 GitHub 和开源社区的一些趋势和内部消息,以及来自 GitHub 数据科学团队的更多资料。

在 GitHub 上,每项技术的核心都是编程语言。今年的Octoverse报告(https://octoverse.github.com/projects)中,我们对 GitHub 上的编程语言的出镜率和趋势做了一个简单的分析。本文将深入分析最热门语言流行的原因和应用。

衡量编程语言的流行度有很多种途径。在这份报告中我们采用了公开和私有代码仓库中的主要语言的独立贡献者的数量。另外,我们还采用了主要语言的代码仓库的创建数量。

2008~2018 年编程语言排行榜,根据代码仓库创建数量排名

如今,使用 Java 创建的代码仓库超过了任何其他语言。过去十年内 JavaScript 创建的代码仓库数量稳定上升,从上图可以看出从 2011 年之后就有了稳定的上升趋势。在这个时间点,GitHub 的总代码仓库数量将近 100 万,而新的 JavaScript 服务器(如 2009 年发布的 Node.js)使得开发者可以在客户端和服务器开发中使用同一种语言。

编程语言排行榜,根据 2018 年 9 月 30 日时的贡献者数量排名

JavaScript 也是公开和私有代码仓库中拥有贡献者最多的语言。在世界上任何地方、任何大小组织中都是这样。但是,我们也看到了 GitHub 上新兴语言的成长。TypeScript 去年在所有区域的公开、私有和开源代码仓库中进入了前十名。而像 DefinitelyTyped(https://github.com/DefinitelyTyped/DefinitelyTyped)之类的项目能帮助人们在 TypeScript 中使用普通的 JavaScript 库,促进了 TypeScript 的接受程度。

我们也注意到一些语言的流行度在下降。Ruby 在过去几年的流行程度一直在下降。尽管 Ruby 的贡献者人数依然在上升,但 JavaScript、Python 等其他语言增长得更快。新的项目很少用 Ruby 写,特别是个人或小型组织的项目,这些项目更倾向于使用 JavaScript、Java 或 Python。

按照地理位置划分的流行程度,根据 2018 年 9 月 30 日时的贡献者数量排名

在过去 12 个月中,我们并没有看到不同区域中的语言使用情况有多少不同。但是,TypeScript 在南美和非洲的排名要高于在北美和欧洲的排名。原因可能是非洲和南美的开发者社区相对较新。去年非洲和南美的代码仓库平均要比北美和欧洲的代码仓库更年轻。这也许意味着开发者们更倾向于较新的开发技术。

增长最快的语言排行榜,根据 2018 年 9 月 30 日时的贡献者数量排名

许多大公司的项目都在使用 PowerShell,使得它排名上升。类似地,Go 也因为大型组织而进入了排名,而且在各种类型的代码仓库中都有增长,今年它在开源代码仓库中排名第九。我们也看到,趋势在朝着静态类型的方向发展,以增强类型安全性和互操作性。其中 Kotlin、TypeScript 和 Rust 增长最快。

2018 年为什么是这些编程语言流行?

那么,2018 年编程语言流行的原因是什么?下面是我们的观点。

类型安全

除了 Python 之外,我们看到了静态类型的崛起,很可能是因为它能为个人开发者和大型应用的开发团队带来安全性和效率。TypeScript 的可选静态类型增加了安全性,而 Kotlin 能提供巨大的交互性,同时还允许创建可信的类型安全的程序。

互操作性

TypeScript 在榜单中上升的部分原因是它能与 JavaScript 共存。Rust 和 Kotlin 也在上升榜中,两者分别吸引了 C 和 Java 的使用者。Python 的灵活性和互操作性也十分出色,比如开发者可以直接从 Swift 中调用 Python API(https://github.com/tensorflow/swift/blob/master/docs/DesignOverview.md#python-interoperability)。

互操作性不仅意味着语言可以建立在已有的社区上,还意味着语言可以与不同的社区融合并超越。比如,Kotlin 去年被认为是 Android 平台上的首选。

开源

当然,这些语言都是开源项目,且都在 GitHub 上维护。社区负责为 Kotlin 等新语言进行改进、回答问题并提供资源,帮助开发者选择这些语言,并在 2018 年以后继续使用这些语言。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2970

    浏览量

    104838
  • 编程语言
    +关注

    关注

    10

    文章

    1946

    浏览量

    34801
  • 开源代码
    +关注

    关注

    0

    文章

    36

    浏览量

    2990

原文标题:JavaScript凭借什么力压 Java、Python,横扫编程语言榜单?

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入分析LED电源损坏原因

     经常听到业内有人抱怨说每次LED灯具坏了一看又是电源坏了,所以LED灯具里最不可靠的是电源,可能他说的是事实。可是也还需要深入分析一下,LED电源损坏的原因
    发表于 04-20 13:45 3591次阅读

    12种最热门的开源项目,你都知道哪些?

    GitHub 上最热门的开源项目有哪些,又有哪些新的项目挤进热门榜单了呢,一起来看看。
    的头像 发表于 04-03 08:38 1.1w次阅读

    深入分析运放的作用

    深入分析了4-20mA的运放选型、A/D基准电压对测量精度影响等问题。
    的头像 发表于 01-15 13:47 3724次阅读
    <b class='flag-5'>深入分析</b>运放的作用

    Xilinx_FPGA_内部结构深入分析

    Xilinx_FPGA_内部结构深入分析存储单元存储单元可以配置为D触发器,就是我们常说的FF,Xilinx称之为FD;也可以配置为锁存器,Xilinx称之为LD。输出和三态通路各有一对寄存器外加一
    发表于 08-02 22:48

    uCOS任务堆栈的深入分析(转)

    uCOS任务堆栈的深入分析(转)
    发表于 08-24 23:30

    深入分析Windows和Linux动态库应用异同

    深入分析Windows和Linux动态库应用异同 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动
    发表于 10-22 11:36 1296次阅读

    笔记本的结构深入分析

    笔记本的结构深入分析  电脑技术的应用为我们的生活和工作带来了巨大改变,使我们的生活学习工作有了质的转变。普通的用户对电脑的了解一
    发表于 01-21 15:53 4295次阅读

    如何深入分析电源电路技巧(二):驾驭噪声电源

      随着现在对更高效、更低成本电源解决方案需求的强调,电子发烧友网整合《如何深入分析电源电路》系列文章,就各种电源管理课题提出一些对您有帮助的小技巧。该专栏面向各
    发表于 06-08 14:15 2602次阅读
    如何<b class='flag-5'>深入分析</b>电源电路技巧(二):驾驭噪声电源

    2017年最热门八大锂电新材料

    2017年锂电产业将持续升温,而最热门的锂电材料又有哪些呢?本文专门为大家盘点了2017年最热门锂电新材料。
    发表于 02-06 17:05 2528次阅读

    了解多线程并深入分析CreateThread与_beginthreadex本质区别

    本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质。
    的头像 发表于 01-09 17:08 4513次阅读
    了解多线程并<b class='flag-5'>深入分析</b>CreateThread与_beginthreadex本质区别

    深入分析MCU堆栈的作用 以及该如何设置堆栈大小

    深入分析MCU堆栈的作用,以及该如何设置堆栈大小
    的头像 发表于 03-01 14:13 5125次阅读
    <b class='flag-5'>深入分析</b>MCU堆栈的作用 以及该如何设置堆栈大小

    深入分析高频回路:头疼的噪声!资料下载

    电子发烧友网为你提供深入分析高频回路:头疼的噪声!资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-01 08:42 9次下载
    <b class='flag-5'>深入分析</b>高频回路:头疼的噪声!资料下载

    (转)深入分析STM32单片机的RAM和FLASH

    (转)深入分析STM32单片机的RAM和FLASH
    发表于 12-02 11:51 11次下载
    (转)<b class='flag-5'>深入分析</b>STM32单片机的RAM和FLASH

    最热门的十大绿色能源公司

    电子发烧友网站提供《最热门的十大绿色能源公司.doc》资料免费下载
    发表于 11-02 14:37 1次下载
    <b class='flag-5'>最热门</b>的十大绿色能源公司

    深入分析:大带宽竞争形势下同轴接入网的价值

    电子发烧友网站提供《深入分析:大带宽竞争形势下同轴接入网的价值.pdf》资料免费下载
    发表于 11-10 11:26 0次下载
    <b class='flag-5'>深入分析</b>:大带宽竞争形势下同轴接入网的价值