2020年02月编程语言排行榜

2020年02月编程语言排行榜

最新 TIOBE 编程语言排行榜,关注编程语言动态

February Headline: Objective-C on its way out
Objective-C lost this month another 7 positions in the TIOBE index, thus being on the brink of slipping out of the top 20. Actually this drop took much longer than expected. In 2014 Apple announced the new programming language Swift to be the successor of Objective-C. At that moment Objective-C was at position #3 in the TIOBE index and development of mobile apps for iPhones and iPads was booming. After the announcement Objective-C dropped from 12% market share in 2014 to 1% market share in 2016. Suprisingly Swift grew from 1% to only 2% at that same time. The other 10% was consumed by other programming languages that appeared to be compilable for multiple mobile platforms. One might conclude that Apple made a mistake to insult iOS programmers by bluntly replacing Objective-C by Swift, but actually they hadn’t got a choice. Objective-C was outdated as a programming language and definitely needed a redesign. In my view it would have been better to extend Objective-C with modern features step by step. Just like languages such as Java, C++ and C# survived by making small changes every new release. Now Apple lost 10% of its programming language market share by making this move. Having said this, Swift is now at position #10 of the TIOBE index.

编程语言排行榜 TOP 50 榜单

排名 程编语言 流行度 对比上月 年度明星语言
1 Java 17.358% 0.462% 2015, 2005
2 C 16.766% 0.993% 2017, 2008, 2019
3 Python 9.345% 0.359% 2010, 2007, 2018
4 C++ 6.164% 0.59% 2003
5 C# 5.927% 0.578%
6 Visual Basic .NET 5.862% 0.575%
7 JavaScript 2.060% 0.391% 2014
8 PHP 2.018% 0.387% 2004
9 SQL 1.526% 0.022%
10 Swift 1.460% 0.335%
11 Go 1.131% 0.231% 2016, 2009
12 Assembly language 1.111% 0.234%
13 R 1.005% 0.197%
14 D 0.917% 0.092%
15 Ruby 0.844% 0.219% 2006
16 MATLAB 0.794% 0.057%
17 PL/SQL 0.764% 0.189%
18 Delphi/Object Pascal 0.748% 0.249%
19 Perl 0.697% 0.049%
20 Objective-C 0.688% 0.241% 2012, 2011
21 SAS 0.656% 0.052%
22 Visual Basic 0.603% 0.228%
23 Dart 0.553% 0.082%
24 Scratch 0.532% 0.042%
25 Scala 0.450% 0.072%
26 Groovy 0.413% 0.195%
27 Transact-SQL 0.379% 0.032% 2013
28 F# 0.352% 0.12%
29 Rust 0.346% 0.049%
30 COBOL 0.339% 0.043%
31 ABAP 0.309% 0.055%
32 Lisp 0.294% 0.104%
33 Kotlin 0.267% 0.027%
34 Logo 0.253% 0.161%
35 RPG 0.240% 0.157%
36 Lua 0.235% 0.009%
37 Fortran 0.229% 0.084%
38 PowerShell 0.209% 新上榜
39 Ada 0.206% 0.056%
40 LabVIEW 0.176% 0.024%
41 Erlang 0.174% 新上榜
42 Julia 0.170% 0.014%
43 ML 0.169% 0.105%
44 Scheme 0.169% 0.028%
45 Haskell 0.160% 0.035%
46 TypeScript 0.155% 0.025%
47 OpenEdge ABL 0.150% 0.068%
48 LiveCode 0.146% 0.131%
49 PostScript 0.144% 新上榜
50 ActionScript 0.142% 0.07%

C++ 项目

  1. modern-cpp-features link.
    该项目介绍了现代 C++(C++11 以及之后的版本)语言和库的新特性。它能够帮助大家更快地入手新时代的 C++

  2. CPlusPlusThings link.
    这是一个适合 C++ 初学者从入门到进阶的教程。解决了面试者想要深入 C++ 及如何入坑 C++ 的问题。除此之外,该仓库拓展了更加深入的语法分析、多线程并发等的知识,是一个比较全面的 C++ 从入门学习到进阶提升的项目

Go 项目

  1. 7days-golang link.
    用 Go 在 7 天时间内实现 Web 框架、分布式缓存等应用的实战教程

  2. cli link.
    GitHub 官方基于 Go 语言开发的命令行 GitHub 工具。用它可以在终端中执行 GitHub 的常用的管理 Issue、切分支、Clone 等操作
    cli

Java 项目

  1. FXGLGames link.
    此项目包含 FXGL 框架构建的游戏示例。该游戏框架无需安装或设置开箱即用,游戏可以轻松打包到单个可执行文件.jar。示例代码:

public class BasicGameApp extends GameApplication {
@Override
protected void initSettings(GameSettings settings) {
settings.setWidth(800);
settings.setHeight(600);
settings.setTitle(“Basic Game App”);
}

public static void main(String[] args) {
    launch(args);
}

}

FXGLGames
6. quarkus-quickstarts link.
Quarkus 开源的 Java 多种框架 demo 项目集合。这些示例项目可以快速启动、结构清晰,初学者可用作 Java 的实战项目,老手可以当作项目脚手架。启动示例:

mvn quarkus:dev
mvn clean package -Pnative
./target/amqp-quickstart-1.0-SNAPSHOT-runner

JavaScript 项目

  1. showdoc link.
    一款基于 JavaScript 实现的开源在线文档工具。支持:多端编辑查看、权限管理、文档导出、Markdown 语法等,功能虽不多但已足够用了。推荐自建自用、小团队内部使用
    showdoc

  2. qier-progress link.
    这是一个用于缓解用户焦虑,给予用户请求回馈的顶部进度条。该项目使用 ts 重构了万星 star 的 nprogress 项目,打包体积更小、且支持了多彩模式、自定义高度和颜色等,最重要的是有良好的类型注解。该项目结构简单、代码量也比较少,非常利于学习 ts 相关用法和作为实战项目。示例代码:

const qprogress = new QProgress()
qprogress.start()
qprogress.finish()

qier-progress
9. image-compress-without-backend link.
一个纯前端在线图片压缩小工具。即无需上传照片到服务器,一切都在浏览器端完成,快速而高效。非常适用于图片压缩后质量要求不是很高的场景,比如:移动端图片展示等
image-compress-without-backend

  1. breathe-relaxer link.
    一个在线放松网站的项目。带上耳机,点开网站然后深呼吸
    breathe-relaxer

  2. wx-promise-pro link.
    支持 finnaly、typescript 的微信小程序异步解决方案。特性:

方便集成:一处引用,处处使用
把微信小程序所有异步 API promise 化并挂在到 wx.pro 对象下
支持 ES2018 finally 特性
支持 TypeScript 开发
import { promisifyAll, promisify } from ‘wx-promise-pro’
// promisify all wx‘s api
promisifyAll()
// promisify single api
promisify(wx.getSystemInfo)().then(console.log)

Objective-C 项目

  1. simplenote-macos link.
    一款 macOS 上免费开源的记事本应用
    simplenote-macos

PHP 项目

  1. clean-code-php link.
    PHP 代码的整洁之道,整理了一系列整洁代码实操。小到变量细道 SOLID 都有涉猎,中文译版

  2. ext-collections link.
    一个 C 语言实现的 PHP 扩展库。提供了类似 Java stream API 和 kotlin.collections 的一系列库函数,方便开发者优雅、快速地操作 PHP 数组。

提供了丰富的 PHP 数组操作函数,有助于提高开发效率和代码的可读性
使用 C 语言实现,比同类 PHP 实现性能更高
初学者可以通过阅读此项目代码帮助自己入门 PHP 扩展开发
$employees = [
[‘name’ => ‘Alice’, ‘sex’ => ‘female’, ‘age’ => 35],
[‘name’ => ‘Bob’, ‘sex’ => ‘male’, ‘age’ => 29],
[‘name’ => ‘David’, ‘sex’ => ‘male’, ‘age’ => 40],
[‘name’ => ‘Benjamin’, ‘sex’ => ‘male’, ‘age’ => 32]
];
// Trying to get an array of names of male employees,
// sorted by the descending order of their age.
n a m e s = C o l l e c t i o n : : i n i t ( names = Collection::init( names=Collection::init(employees)
->filter(function ($value) {
return KaTeX parse error: Expected 'EOF', got '}' at position 29: …== 'male'; }̲) ->sortedB…value) {
return KaTeX parse error: Expected 'EOF', got '}' at position 19: …ue['age']; }̲) ->map(fun…value) {
return $value[‘name’];
})
->toArray();
// You got $names == [‘David’, ‘Benjamin’, ‘Bob’].

Python 项目

  1. wttr.in link.
    一个 Python 实现的命令行查看天气工具
    wttr.in

  2. activitywatch link.
    一个记录你的时间都花在那的 Python 项目。支持 Web 可视化,效果如下
    activitywatch

  3. akshare link.
    一款基于 Python 的开源金融数据接口库。提供了股票、期货、期权、基金、数字货币等金融产品的基本数据、实时和历史行情数据、衍生数据,包含数据采集、数据清洗、到数据落地的一套开源工具。满足了金融数据科学家、数据科学爱好者在金融数据获取方面的需求。示例代码:

import akshare as ak
bond_df = ak.bond_spot_deal()
print(bond_df)

债券简称 成交净价(元) 最新收益率(%) 涨跌(BP) 加权收益率(%) 交易量(亿)
0 19国开15 98.97 3.5750 1.00 3.5826 None
1 19附息国债03 99.82 2.7714 0.14 2.7772 None
2 19附息国债11 99.87 2.8000 0.25 2.7963 None
3 19附息国债04 100.82 2.9832 -1.54 2.9747 None
4 15附息国债05 102.95 3.0359 -1.41 3.0359 None

  1. repoll link.
    基于 Django 开发的 redis 集群管理、监控工具。功能包括:标准化申请流程、管理配置、监控接口等,减轻了运维人员的痛苦
    repoll

Swift 项目

  1. Mos link.
    一个用于在 macOS 上平滑鼠标滚动效果或单独设置滚动方向的小工具。让你的滚轮爽如触控板般丝滑
    Mos

其它

  1. devops-exercises link.
    这个仓库包含了 DevOps(开发运维)常见、流行服务相关的面试问题和回答,推荐给从事运维的同学

  2. book link.
    《Rust 编程语言》这是官方出品的关于 Rust 的入门书籍

  3. OnlineToolsBook link.
    该项目收集了一些有趣、实用的在线工具网站,点开即用

  4. my-mac-os link.
    该项目罗列了作者自用、收集的 macOS 上实用、炫酷的软件。我从中找到好几个炫酷、实用提高工作的工具,你也赶快来挑挑吧
    my-mac-os

  5. structured-text-tools link.
    用于处理结构化文本数据(日志、JSON、YAML 等)的命令行工具列表

  6. incubator-apisix link.
    一个云原生、高性能、可扩展的微服务 API 网关。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,适合微服务体系下的 API 管理
    incubator-apisix

  7. app-ideas link.
    该收集了各类应用的想法,并按照易学程度把应用进行划分。你可以通过这个项目提高编程技术、学习新技术

开源书籍

  1. cookbook-2nd link.
    《IPython Cookbook 第二版》
    cookbook-2nd

机器学习

  1. google-research link.
    非官方整理的 Google AI Research 集合项目

  2. Retinanet-Pytorch link.
    一个以 Pytorch 深度学习库实现的 retinanet 目标检测模型。项目拥有清晰的结构、完善的注释以及详细的使用说明。适用于有些许深度学习基础的初学者进行学习或在实际的目标检测项目中使用

以上内容为转载,搬运不易,希望对大家有所帮助,一起进步
文章网站:https://hellogithub.com/report/tiobe/?url=/periodical/volume/

你可能感兴趣的:(编程语言,java,python,php,javascript)