常见编程语言

编程语言排行榜

TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
链接:https://www.tiobe.com/tiobe-index/

2019年3月排行榜

常见编程语言

历年年度编程语言

常见编程语言

非主流编程语言介绍

Go

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新语言来取代C++, 这就是Golang。出现在21世纪的GO语言,虽然不能如愿对C++取而代之,但是其近C的执行性能和近解析型语言的开发效率以及近乎于完美的编译速度,已经风靡全球。特别是在云项目中,大部分都使用了Golang来开发。
Go 文化的主要支柱是保持简单实用的代码,而不会产生多余的抽象,并且非常重视代码的可维护性。能够把大量时间用在实现业务代码上,而不是用来修改工具和配置环境,这也是文化的一部分。Go 也可以总结为“应该只有一个方法来完成一件事情”。

GO语言的关键特性主要包括以下几方面:
语言级别支持协程(微线程)并发,基于消息传递的协程间通信方式
重度依赖于静态代码分析,包括用于文档的 godoc,用于代码格式化的 gofmt,用于代码风格检查的 golint,以及许多其他的例子。
丰富实用的内置数据类型
丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大。
支持函数多返回值
Go 提供了一个内置的测试和性能分析框架,旨在简化和高效。
defer延时处理机制,这种机制非常适合善后逻辑处理
是强类型的编译型语言,但是提供了Any类型(interface{})和强大的类型反射(reflect)能力,二者相结合,开发的灵活性上已经很接近解析型语言
在语言级别自带HTTP/TCP/UDP高性能服务器
有一套标准的工程管理规范
编程规范强制集成在语言中
可直接编译成机器码,不依赖其他库;编写的Go代码不包含cgo可以跨平台编译
内置runtime,支持垃圾回收,不过,还不太完善
内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。

GO语言的缺点
Go 语言没有一个主要的框架。
Go 语言的软件包管理绝对不是完美的。默认情况下,它没有办法制定特定版本的依赖库。

GO语言适合用途
服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
分布式系统,数据库代理器等。
网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。

Objective-C

Objective-C是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OPENSTEP中它更是基本语言。(注:NeXTSTEP和OPENSTEP是基于Unix OS内核,并遵循OpenStep的API规范的操作系统)
GCC与Clang含Objective-C的编译器,Objective-C可以在GCC以及Clang(编译器)运作的系统上编译。

Perl

Perl即“实用报表提取语言”(Practical Extraction and Report Language),是一种具有高级语言(如C)的强大能力和灵活性的解释型语言。
它借取了C、sed、awk、shell 脚本语言以及很多其他程序语言的特性,其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。被称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。
perl的前身是Unix系统管理的一个工具,被用在无数的小任务里。后逐渐发展成为一种功能强大的程序设计语言,用作Web编程、数据库处理、XML处理以及系统管理;在完成这些工作时,同时仍能处理日常细小工作,这是它的设计初衷。Perl特别适合系统管理和Web编程。
Perl运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。实际上已经被用在所有Unix(包括Linux)捆绑在一起作为标准部件发布,同时也用于Microsoft Windows和几乎所有操作系统。

R

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
R是集统计分析与图形显示于一体的。
它的特点有:
R是自由软件。
R是一种可编程的语言。
所有R的函数和数据集是保存在程序包里面的。
R具有很强的互动性。除了图形输出是在另外的窗口处,它的输入输出窗口都是在同一个窗口进行的。
如果加入R的帮助邮件列表,每天都可能会收到几十份关于R的邮件资讯。可以和全球一流的统计计算方面的专家讨论各种问题,可以说是全世界最大、最前沿的统计学家思维的聚集地。

Groovy

Groovy是一种基于JVM(Java虚拟机)的敏捷的动态语言,也是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。(注:动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化,类型的检查是在运行时做的)
它构建在强大的Java语言之上并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征,例如动态类型转换、闭包和元编程(metaprogramming)支持。
它在设计时充分考虑了Java集成,这使 Groovy 与 Java 代码的互操作很容易。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。

Swift

Swift是苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于编写 iOS 和 macOS 应用。
Swift 结合了 C 和 Objective-C 的优点并且不受C兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活。
Swift在应用开发上比Objective-C具有更新更好的特性,但是不能胜任所有方面,例如底层和Framework的开发。

Delphi/Object Pascal

Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。
Object Pascal指Pascal的面向对象的衍生分支,以Delphi的主要编程语言著称。
Object Pascal 是一种高级编译语言,具有强类型特性,支持结构化和面向对象编程。它的优点包括代码的易读性、快速编译,以及支持多个单元文件从而实现模块化编程。