GitHub2022年十大热门编程语言榜单

250次阅读
没有评论

共计 9816 个字符,预计需要花费 25 分钟才能阅读完成。

全球知名代码托管平台 GitHub 发布的 2022 年 GitHub Octoverse年度报告 公布了全球最流行的十大编程语言,其中 JavaScript 蝉联第一,Python 位列次席。

编程是技术革新的核心,对于所有的编程开发人员来说,对世界范围内编程语言发展和趋势保持关注非常重要。本文根据 2022 年 GitHub Octoverse 年度报告列出的十大编程语言名单,详细介绍了十大编程语言的基本定义、优缺点对照和主要适用场景,希望可以给予开发者一定的参考方向。GitHub2022 年十大热门编程语言榜单如下:

·Javascript
·Python
·Java
·Typescript
·C#
·C++
·PHP
·shell
·C
·Ruby

下面我们将逐个进行介绍。
GitHub2022 年十大热门编程语言榜单

1. Javascript

JavaScript 的定义

JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端 Web 开发的脚本语言,常用来给 HTML 网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的 Brendan Eich 设计,是一种动态、弱类型、基于原型的语言,内置支持类。

JavaScript 的优点:

1)JavaScript 减少网络传输。

在 JavaScript 这样的用户端脚本语言出现之前,传统的数据提交和验证工作均由用户端浏览器通过网络传输到服务器上进行。如果数据量很大,这对于网络和服务器的资源来说实在是一种无形的浪费。而使用 JavaScript 就可以在客户端进行数据验证。

2)JavaScript 方便操纵 HTML 对象。

JavaScript 可以方便地操纵各种页面中的对象,用户可以使用 JavaScript 来控制页面中各个元素的外观、状态甚至运行方式,JavaScript 可以根据用户的需要“定制”浏览器,从而使网页更加友好。

3)JavaScript 支持分布式运算。

JavaScript 可以使多种任务仅在用户端就可以完成,而不需要网络和服务器的参与,从而支持分布式的运算和处理。

JavaScript 的缺点:

1)安全性低,容易受到攻击;

可用于在用户的计算机上执行恶意代码;

2)JS 代码段相当大,且各浏览器厂商对 JavaScript 支持程度不同,在不同的设备上会以不同的方式呈现,从而导致展示效果不一致。

主要应用场景

javascript 主要应用的方面包括:网站前端开发、服务端开发、命令行工具开发(Node.js)、桌面应用开发、移动开发、插件开发、游戏开发 (cocos2d-js) 等。

2. Python

python 的创始人为吉多·范罗苏姆(Guido van Rossum)。1989 年的圣诞节期间,Guido 开始写能够解释 Python 语言语法的解释器。Python 这个名字,来自 Guido 所挚爱的电视剧 Monty Python’s Flying Circus。他希望这个新的叫做 Python 的语言,能符合他的理想:创造一种 C 和 shell 之间,功能全面,易学易用,可拓展的语言。

Python 提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

Python 优点:

1)优雅”、“明确”、“简单”

Python 程序看上去总是简单易懂,初学者学 Python,不但入门容易,而且将来深入下去,可以编写那些非常复杂的程序。

2)开发效率非常高

Python 有非常强大的第三方库,基本上我们想通过计算机实现的任何功能,Python 官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。

3)是一门高级语言

当我们用 Python 语言编写程序时,无需考虑诸如如何管理程序使用的内存一类的底层细节。

4)具备可移植性

由于它的开源本质,Python 可以通过改动被移植在不同平台进行工作。如果我们避免使用依赖于系统的特性,那么所写 Python 程序无需修改就几乎可以在市场上所有的系统平台上运行。

5)具备可扩展性

如果需要使一段关键代码运行得更快或者希望某些算法不公开,可以把该部分程序代码用 C 或 C ++ 编写,然后在 Python 程序中使用它们。

6)具备可嵌入性

可以把 Python 嵌入 C 或 C ++ 程序,从而向程序用户提供脚本功能。

7)跨平台特性

像其他高级语言一样,python 语言也具备一处开发,处处运行的跨平台特性。

Python 缺点:

1)速度较 C 语言慢

Python 运行速度相比 C 语言确实慢很多,跟 JAVA 相比也要慢一些。

2)代码不能加密

因为 PYTHON 是解释性语言,所以它的源码都是以明文形式存放的。

3)线程不能利用多 CPU 问题

这是 Python 被人诟病最多的一个缺点,GIL 即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python 的线程是操作系统的原生线程。在 Linux 上为 pthread,在 Windows 上为 Win thread,完全由操作系统调度线程的执行。一个 python 解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核 CPU 平台上,由于 GIL 的存在,也会禁止多线程的并行执行。

Python 应用场景:

Python 的应用场景十分广泛,包括 Web 应用开发、网络爬虫、数据分析和挖掘、人工智能、自动化运维、云计算开发、自动化测试、桌面软件、游戏引擎、多媒体应用、图形处理和办公自动化等众多领域。

3. Java

java 是一门面向对象编程语言,不仅吸收了 C ++ 语言的各种优点,还摒弃了 C ++ 里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。

“write once,run anywhere.”“一次编写,随处运行”,java 可以一份代码在各个平台运行起来, 这种跨平台性是 java 最独特的地方。

Java 的优点

1)简单性

是 C ++ 语法的纯净版。没有头文件,指针运算,结构,联合,操作重戴,虚基类等等。法基于 C。因此学习起来完全不费力。

2)面向对象

面向对象是一种程序设计技术,他将重点放在数据 (即对象) 和对象之间的接口上。

3)可移植性(跨平台性)

这是 JAVA 的一个重要的优势。JAVA 代码或者说字节码、二进制码可以跨平台的移植、而不用管具体的操作系统和硬件环境。JAVA 本身就是面向网络的,只有在网络环境中才能显示出优势。

4)多线程

多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是 Java 成为主流服务器端开发语言的主要原因之一。

5)安全性

Java 适合于网络 / 分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使 Java 可以构建防病毒,防篡改的系统。

6)健壮性

Java 是一种健壮的语言,吸收了 C /C++ 语言的优点,但去掉了其影响程序健壮性的部分(如: 指针、内存的申请与释放等)。

Java 的缺点

1)运行速度相对较慢、性能相对较低

由于 java 程序编译成字节码后需要解释成机器码,在 JVM 解释的过程中需要额外的抽象动作以及消耗更多的内存,这就降低了运行速度和性能。

2)GUI 外观及体验不佳

尽管 java 处理许多图形界面工具如:Swing,SWT,JavaFX,JSF 等但是它们都不适合用于复杂的 UI。

3)代码不够简洁

Java 代码是冗长的,即是有许多单词和许多长而复杂的句子,难以阅读和理解。

主要应用场景:

java 广泛的使用于各个应用场景,能极大的满足用户所需要的安全和稳定。在现实生活中有很多地方使用到了 Java,例如:嵌入式领域、大数据技术、软件工具、网站应用、金融服务行业的服务器应用、交易系统、J2MEApps、高频交易领域、科学应用、安卓 Apps 等。

4. Typescript

TypeScript 起源于使用 JavaScript 开发的大型项目。由于 JavaScript 语言本身的局限性,难以胜任大型项目的开发和维护。因此微软开发了 TypeScript,使得其能够胜任大型项目的开发。

它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。TypeScript 通过 TypeScript 编译器或 Babel 转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。

Typescript 优点:

1)提供可选的强静态类型

既然叫 TypeScript,那它的最大亮点自然就是提供静态类型(type)。我们可以对变量设置类型,比如你给 count 变量设置为数字类型(number),如果你从 input 元素提取 value(string 类型)赋予给 count,如果你忘记将其转换为数字,编译是不会通过的。

当然类型不是强求设置的,为了兼容 JavaScript,你也可以设置为 any 类型。所谓 any 类型是一个特殊的类型,任何类型的的值都可以赋予给它。

2)更早发现 BUG

TypeScript 要编译后才能使用。所以我们的类型错误会在编译过程中被编译器发现,更早发现 BUG。

3)代码可预测

声明的变量一旦指定类型,它的类型就再也不能修改。这样变量就具有可预测性。

JavaScript 的变量可以赋予任何类型的值。有时候,我们会看到一个变量在执行的过程中变成各种各样的类型,一会是字符串,一会是对象,非常不好预测,尤其是有复杂条件判断的时候。这其实是并不是好的开发习惯。

但如果你用 TypeScript,就没有这个烦恼,它直接给你一刀切了,你别想将字符串值赋予给一个数字类型变量,一旦声明就再也无法修改。

当然为了兼容,你也是可以将其设置 any 类型,但智能提升就没有了。

4)丰富的 IDE 支持

因为使用了类型,所以检测某个变量是什么类型、可以使用哪些方法就变得容易,在开发体验上就可以进行改善了。

目前在绝大多数 IDE(集成开发环境)中已经支持 TypeScript 的 智能提示、自动补全、代码导航 等功能,并能在编写时实时反馈类型错误并提供准确的建议,比如可以指出传入函数的对象缺了哪些属性。

5)方便重构

重构时,如果函数的参数修改了,调用它时如果不对,TypeScript 会提示你。这对重构代码提供了坚实的后盾。有了 TypeScript,就放心做重构吧,前提你不要到处用 any。

6)提供面向对象的写法

面向对象语言在实践中已经被证实是优秀的设计,拥有极高的可读性、可维护性。TypeScript 支持接口、抽象类、枚举等面向对象语言的特性,支持你更好地实现一些设计模式。

TypeScript 缺点:

1)有一定的学习成本,需要理解接口,泛型,类,枚举类型等前端工程师可能不是很熟悉的概念。

2)短期内会增加开发成本,毕竟要多写一些类型的定义,不过对于一个需要长期维护的项目,Typescript 能够减少其维护成本。

3)集成到构建流程需要的一些工作量。

4)可能和一些库结合的不是很完美。

Typescript 应用场景:

Typescript 是由微软开发的自由和开源的编程语言,它设计的目标是开发大型应用,可以编译成纯 javascript,编译出来的 javascript 可以运行在任何浏览器上。

5.C#

C#是由 C 和 C ++ 衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承 C 和 C ++ 强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C# 综合了 VB 简单的可视化操作和 C ++ 的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。

C# 优点:

1)语法简洁。不允许直接操作内存,去掉了指针操作。

2)彻底面向对象设计。C# 具有面向对象语言所应有的一切特性:封装、继承和多态。

3)与 Web 紧密结合。C# 支持绝大多数的 Web 标椎,例如 HTML、XML、SOAP 等。

4)强大的安全性机制。可以消除软件开发中常见的错误(如语法错误),.NET 提供的垃圾回收器能够帮助开发者有效地管理内存资源。

5)兼容性。因为 C# 遵循.NET 的公共语言规范(CLS),从而保证能够与其他语言开发的组件兼容。

6)灵活的版本处理技术。因为 C# 语言本身内置了版本控制功能,使开发人员更加容易地开发和维护。

7)完善的错误、异常处理机制。C# 提供了完善的错误和异常处理机制,使程序在交付应用时能够更加健壮。

C# 缺点:

1.)底层和高性能不合适:不合适做时间性能很高 (高速算法) 或空间性能很灵活 (内存立即释放) 的程序,因为中间语言和编译过程,比 C /C++Native 类型的语言会慢一些,内存自动回收难以立即释放不需要的内存,不采用内联函数和析构函数(不建议)。

2)Windows 平台以外支持有限:mono 不够成熟好用,window 以外 Java,Python 等是很强大和同样优秀的。

C# 应用场景:

C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。C# 应用领域广泛,主要包括:游戏软件开发、桌面应用系统开发、交互式系统开发、智能手机程序开发、多媒体系统开发、网络系统开发、RIA 应用程序(Silverlight)开发、操作系统平台开发、Web 应用开发等。

6.C++

C++ 是一种面向对象的计算机程序设计语言,作为 C 语言的继承,C++ 不仅能进行 C 语言的过程化程序设计,而且可进行以抽象数据类型为特点的基于对象的程序设计,还能进行基于过程的程序设计。C++ 是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它的设计风格支持数据抽象、面向对象程序设计、过程化程序设计、泛型程序设计等。

在 c 言语的基础,c++ 增加下面的内容:

·类型检查更加严格

·增加了面向对象机制

·增加了泛型编程的机制

·增加了函数重载和运算符重载。

·异常处理机制

·标准模板库 STL。

c++ 优点:

1)代码可读性好。

2)可重用性好。

3)可移植。

4)C++ 设计成无需复杂的程序设计环境

5)运行效率高,高效安全

6)语言简洁,编写风格自由。

7)提供了标准库 stl

8)面向对象机制

9)很多优秀的程序框架包括 Boost、Qt、MFC、OWL、wxWidgets、WTL 就是使用的 C ++。

C++ 缺点:

C++ 是在 C 语言基础上的发展,自然也比 C 语言更加复杂,这也是 C ++ 最大的缺点,由于语法知识比较复杂,一般人往往难以学精通,编写过程也比较难,即使能够使用编译器,也可能会存在大量问题,而且很难被发现。

C++ 应用场景

c++ 更适合大项目,在大项目中 c ++ 是其他言语不可比拟的。做较小的项目,性能可能比不上 java。

目前 C ++ 广泛应用于系统编程(如操作系统内核、驱动程序和系统工具游戏开发)、桌面应用程序开发、数值计算和科学计算、高性能计算(HPC)、音频和视频处理、设备驱动程序、嵌入式系统开发、网络编程、商业应用程序开发、金融应用程序开发、数据库编程等领域。

7.PHP

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于 Web 开发并可嵌入 HTML 中。PHP 语法学习了 C 语言,吸纳 Java 和 Perl 多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己。PHP 同时支持面向对象和面向过程的开发,使用上非常灵活。

PHP 最强大最显著的特性之一,是它支持很大范围的数据库。使用任何针对某数据库的扩展(例如 mysql)编写数据库支持的网页非常简单,或者使用抽象层如 PDO,或者通过 ODBC 扩展连接到任何支持 ODBC 标准的数据库。其它一些数据库也可能会用 cURL 或者 sockets,例如 CouchDB。

PHP 优点:

1)免费: PHP 是开源软件,可以免费使用。

2)功能强大: PHP 拥有丰富的内置函数,可以实现多种功能,如文件上传、图像处理、数据库操作等。

3)跨平台: PHP 可以在多种操作系统上运行,包括 Windows、Linux、Mac OS 等。

4)使用简单: PHP 的语法简单易学,适合初学者学习。

5)社区支持度高: PHP 有庞大的开发者社区,可以得到丰富的技术支持。

PHP 缺点:

1)性能比较差,因为毕竟是动态脚本,不适合做密集运算。

2)函数命名规范差。PHP 更讲究实用性,没有一些规范。一些函数的命名是很混乱的,所以每次必须去翻 PHP 的手册。

3)提供的数据结构和函数的接口粒度比较粗。PHP 只有一个 Array 数据结构,底层基于 HashTable。PHP 的 Array 集合了 Map,Set,Vector,Queue,Stack,Heap 等数据结构的功能。另外 PHP 有一个 SPL 提供了其他数据结构的类封装。

PHP 应用场景:

PHP 脚本主要用于以下三个领域:

·服务端脚本。这是 PHP 最传统,也是最主要的目标领域。

·命令行脚本。可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。

·编写桌面应用程序。

8. Shell

SHELL 语言是指 UNIX 操作系统的命令语言,同时又是该命令语言的解释程序的简称。SHELL 作为语言来说,它既是终端上的用户与 UNIX 操作系统会话的语言,又可作为程序设计的语言,所以 Shell 是用户与系统之间的接口,而且是一种比较高级、易被用户理解和使用的程序设计语言,它为用户提供了使用方便、功能强、又容易扩充的程序设计环境。

Shell 是一种脚本语言,我们编写完源码后不用编译,直接运行源码即可。

SHELL 优点:

1)SHELL 语言非常适于编写小的 CGI 应用程序。UNIX 系统中的 SHELL 语言是功能非常强大的编程工具。

2)Windows NT 支持 POSIX 标准,这意味着大多数常用的 UNIX 工具 (例如 sh) 都可以在 NT 中运行。

3)使用 SHELL 语言编写的应用程序短小精干,运行时不会产生类似 Perl 语言解释器之类的开销,并且易于实现在不同系统之间的移植。

SHELL 语言缺点:

1)SHELL 语言没有象“真正”的编程语言那样,提供灵活且功能强大的控制结构。

2)在 SHELL 程序中常常需要不断地调用其它的工具(例如,grep、sed,甚至还有 Perl)。

Shell 应用场景:

Shell 脚本的优势在于处理偏操作系统底层的业务,例如,Linux 内部的很多应用(有的是应用的一部分)都是使用 Shell 脚本开发的。

对于一些常见的系统脚本,使用 Shell 开发会更简单、更快速,例如,让软件一键自动化安装、优化,监控报警脚本,软件启动脚本,日志分析脚本等,虽然 Python 也能做到这些,但是考虑到掌握难度、开发效率、开发习惯等因素,它们可能就不如 Shell 脚本流行以及有优势。对于一些常见的业务应用,使用 Shell 更符合 Linux 运维简单、易用、高效的三大原则。

总之 Shell 就是可以快速开发一个脚本简化开发流程,并不可以用来替代高级语言。

9.C 语言

C 语言是一门面向过程的计算机编程语言,与 C ++、C#、Java 等面向对象编程语言有所不同。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C 语言优点:

1)C 语言简洁、紧凑、灵活。C 语言的核心内容很少,只有 32 个关键字,9 种控制语句;程序书写格式自由,压缩了一切不必要的成分。

2)表达方式简练、实用。C 语言有一套强有力的运算符,达 44 种,可以构造出多种形式的表达式,用一个表达式就可以实现其它语言可能要用多条语句才能实现的功能。

3)具有丰富的数据类型。数据类型越多,数据的表达能力就越强。C 语言具有现代语言的各种数据类型,如:字符型、整型、实型、数组、指针、结构体和共用体等。可以实现诸如链表、堆栈、队列、树等各种复杂的数据结构。其中指针使参数的传递简单、迅速,节省内存。

4)具有低级语言的特点。具有与汇编语言相近的功能和描述方法,如地址运算、二进制数位运算等,对硬件端口等资源直接操作,可充分使用计算机资源。因此,C 语言既具有高级语言便于学习和掌握的特点,又具有机器语言或汇编语言对硬件的操作能力。所以,C 语言既可以作为系统描述语言, 又可以作为通用的程序设计语言。

5)是一种结构化语言,适合于大型程序的模块化设计。

6)各种版本的编译系统都提供了预处理命令和预处理程序。预处理扩展了 C 语言的功能,提高了程序的可移植性,为大型程序的调试提供了方便。

7)可移植性好。程序可以从一个环境不经改动或稍加改动就可移植到另一个完全不同的环境中运行。这是因为系统库函数和预处理程序将可能出现的与机器有关的因素与源程序隔开,这就容易在不同的 C 编译系统之间重新定义有关内容。

8)生成的目标代码质量高。由 C 源程序得到的目标代码的运行效率比用汇编语言写的也不过只低 10% 到 20%,可充分发挥机器的效率。

  1. C 语言语法限制不严,程序设计自由度大。

C 语言缺点:

1)危险性高

C 语言的缺点主要表现为数据的封装性弱,这一点使得 C 在数据的安全性上有很大缺陷,这也是 C 和 C ++ 的一大区别。

C 语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。

2)开发周期长

C 语言是面向过程的语言,面向过程语言的一个特点就是写大项目的时候很容易“崩溃”。当代码上到 10 万行的时候很容易崩溃,会出现各种各样莫名其妙的错误。这时候就需要用另外一种思想将整个程序的框架重新设计一下,即用面向对象的思想设计。这也是 C 语言现在没有 Java 流行的原因。

C 语言应用场景

实际上,C 语言几乎可以应用到程序开发的任何领域。下面列举几个主要的 C 语言应用领域:1)应用软件。Linux 操作系统中的应用软件都是使用 C 语言编写的,因此这样的应用软件安全性非常高。

2)对性能要求严格的领域。一般对性能有严格要求的地方都是用 C 语言编写的,比如网络程序的底层和网络服务器端底层、地图查询等。

3)系统软件和图形处理。

4)数字计算。相对于其他编程语言,C 语言是数字计算能力超强的高级语言。

5)嵌入式设备开发。手机、PDA 等时尚消费类电子产品相信大家都不陌生,其内部的应用软件、游戏等很多都是采用 C 语言进行嵌入式开发的。

6)游戏软件开发

10.Ruby

Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在 20 世纪 90 年代由日本人松本行弘 (Yukihiro Matsumoto) 开发,遵守 GPL 协议和 Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言,兼具函数式编程和命令式编程特色,松本行弘曾表示,他“试着让 Ruby 更自然,而不是更简单”,他还提到:“Ruby 就像人的身体一样,表面上看来简单,但是内部却相当复杂。”

Ruby 是一种跨平台、面向对象的动态类型编程语言。Ruby 体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。

Ruby 优点:

1)解释型执行,方便快捷

Ruby 是解释型语言,其程序无需编译即可执行

2)语法简单、优雅

语法比较简单,类似 Algol 语法

3)完全面向对象

Ruby 从一开始就被设计成纯粹的面向对象语言,因此所有东西都是对象,例如,整数等基本数据类型。

4)内置正则式引擎,适合文本处理 Ruby 支持功能强大的字符串操作和正则表达式检索功能,可以方便低对字符串进行处理。

5)自动垃圾收集具有垃圾回收 (Garbage Collect GC) 功能,能自动回收不再使用的对象不需要用户对内存进行管理。

6)跨平台和高度可移植性

Rubv 支持多平台,在 Windows,Unx,Linux,MacOS 上都可以运行。Rubv 程序的可移植性非常好,绝大多数程序可以不加修改的在各种平台上加以运行。

7)有优雅、完善的异常处理机制

Ruby 提供了一整套异常处理机制,可以很方便地处理代码各种异常。

8)拥有很多高级特性

Ruby 拥有很多高级的特性,例如 操作符重载,Mix-ins,特殊方法等待,通过他们可以很方便地完成各种强大的功能。

Ruby 缺点:

1)对于解释型语言,执行速度相对较慢;

2)静态检查比较少

静态检查: 是指在不运行程序的情况下分析代码。

Ruby 应用场景:

Ruby 主要用来做 web 应用,和 web 开发,其桌面级的应用也占有一定的市场。

正文完
 
lucky
版权声明:本站原创文章,由 lucky 2023-01-04发表,共计9816字。
转载说明:转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)