史上最全编程语言列表,你掌握了哪些?

简介: 计算机编程语言可用于将指令传达给计算机。下面可能是史上最全编程语言列表,我将它们分为以下几类,你掌握了哪些?
计算机编程语言可用于将指令传达给计算机。下面可能是史上最全编程语言列表,我将它们分为以下几类,你掌握了哪些?
  • 解释型编程语言
  • 函数式编程语言
  • 编译型编程语言
  • 过程式编程语言
  • 脚本编程语言
  • 标记编程语言
  • 基于逻辑的编程语言
  • 并发编程语言
  • 面向对象编程语言
解释型编程语言
解释型语言是这样一种编程语言,其大部分实现直接执行指令,而无需先将程序编译成机器语言指令。解释器直接执行程序,它会将每个语句翻译成已编译成了机器代码的一个或多个子程序的序列。(维基百科)
  • APL
APL 以《编程语言(A Programming Language)》一书命名(Iverson,Kenneth E.,1962),它是一种数组编程语言。它可以在多个数据阵列上同时工作。 它是一种解释型、可交互和函数式的编程语言。
  • AutoIt
它是自由软件,是一种用于 Microsoft Windows 的自动化语言。 主要目的是创建可用于在 Windows 上执行某些重复任务的自动化脚本。
  • BASIC
于1964年由约翰·乔治·凯米尼(John George Kemeny)和托特·尤金·库尔茨(Thomas Eugene Kurtz)在达特茅斯(Dartmouth)开发,它是初学者多用符号指令代码(Beginner’s All-purpose Symbolic Instruction Code)的缩写。它的目的是为非科学人士提供一个使用电脑的途径。
  • Eiffel
它是一种被 ISO 标准化了的面向对象编程语言,用于开发可扩展和可重复使用的软件。它是一个可面向许多行业的开发平台,如金融,航空航天和视频游戏。
  • Forth
它是一种结构化的命令式编程语言,其实现基于堆栈。它支持交互式的命令执行以及对命令序列的编译。
  • Frink
由 Alan Eliasen 开发,以 John Frink 教授命名——他是一位颇受欢迎的虚构人物。它基于 Java 虚拟机,专注于科学和工程领域。其突出特点是能通过所有的能让数量包含其测量单位的计算,来对测量单位进行跟踪。
  • Game Maker 语言
它是一种解释型的计算机编程语言,旨在与 Game Maker 配合使用—— Game Maker 是一种游戏制作应用程序。荷兰计算机科学家马克·奥马斯(Mark Overmars)设计了这种语言。
  • ICI
ICI 是由 Tim Long 于1992年设计的,它是一种通用的解释型计算机编程语言。它支持动态输入,灵活的数据类型以及其它的一些类似于 C 的语言结构。
  • J
Ken Iverson 和 Roger Hui 开发了这个只需要使用基础 ASCII 字符集的编程语言。它是一种数组编程语言,适用于数学和统计操作。
  • Lisp
Lisp是如今正在被广泛使用的第二古老的高级编程语言。其名称 Lisp 派生自“列表处理语言(List Processing Language)”。Lisp 支持的重要数据结构之一是链表。 Lisp 程序会将源代码当做是数据结构。
  • Lua
计算机图形技术组的成员在1993年开发出了 Lua。它被设计成为脚本语言,是一种不可获取的过程式编程语言,以简单而强大而闻名。
  • M
M 是 MUMPS 的缩写,它是为医疗保健行业而创建的一种编程语言。M 语言是由医学信息技术的创始人 Neil Pappalardo 以及他的同事开发出来的。
  • Pascal
它是一种过程式编程语言,旨在利用上数据结构化和结构化编程的概念。瑞士计算机科学家 Niklaus Wirth 设计了这种语言,是以法国数学家和哲学家 Blaise Pascal 来命名的。
  • PCASTL
它是 Parent and Childset Accessible Syntax Tree Language(可访问父和子集语法树语言)的缩写,是由 Philippe Choquette 开发出来的高级语言,属于解释型的计算机编程语言类型。 它是专门为自修改代码而设计的。
  • Perl
Perl 是一种支持动态编程的高级解释型编程语言。它是由 Larry Wall 开发的,而 Larry Wall 则是 NASA 的系统管理员。它为程序员提供了文本处理的能力,并融合了 C、Lisp 还有 Awk 等各种语言的功能特性。
  • PostScript
它主要在桌面出版领域中使用,被称为页面描述语言。它是一种基于堆栈的动态编程语言,由美国计算机科学家 John Warnock 和计算机科学领域著名人物 Charles Geschke 开发。这些开发人员后来一起创立了非常着名的 Adobe Systems 公司。
  • Python
它是一种支持强制命令,面向对象和函数式编程样式的高级编程语言。它与 Perl 在动态类型系统和自动内存管理方面有相似之处。Python 最初于1991年由荷兰计算机程序员 Guido van Rossum 发布,它是一种基于社区的开放性语言,其开发由 Python Software Foundation 来进行管理。
  • REXX
Restructured Extended Executor(重构扩展执行器)的简称,它是由 IBM 开发的解释型语言。它被设计出来的目的是成为一种易于学习和阅读的语言。 NetRexx 是 IBM 提供的基于 REXX 的面向对象编程实现。Object REXX 是基于 REXX 的面向对象脚本语言。
  • Ruby
在20世纪90年代,日本兴起了要开发这样一种语言的动力。它具有与 Perl 类似的动态类型系统和自动内存管理功能。它支持多种编程样式,是一种动态的面向对象语言。
  • S-Lang
S-Lang 一开始是作为一种基于堆栈的语言来而开发出来,而现在已经演变为一种类似于 C 的语言。它是由 John E. Davis 开发出来的。
  • Spin
Spin 是一种多任务且面向对象的编程语言,其编译器会将代码转换为字节码。多个 Spin 代码线程可以在同时运行,从而实现多任务处理。Spin 是由 Parallax 的 Chip Gracey 开发出来的。

函数式编程语言
函数式编程语言 定义每次的计算作为数学求值。他们把焦点集中在函数的应用。大量的函数编程语言被绑定在数学计算上。
  • Charity
它是一种纯净的函数式,非图灵完备语言,这意味着所有的程序都可以被保证能终止。Charity 是由加拿大的一所公立大学 —— Calgary 大学设计的。
  • Clean
它是一种纯净的函数式编程语言,拥有跨平台能力,自动垃圾收集机制,多数据结构和引用透明性,这些能力意味着一个函数,只要给它一个输入将总是会有一个输出。
  • Curry
它是一种函数逻辑编程语言,实现了函数式与逻辑编程,还有约束式编程。在约束式编程方法中,变量之间的关系是以约束的形式表示的。
  • Erlang
它是一种并发编程语言,包含了一系列支持函数式编程的子集。爱立信将 Erlang 作为一种分布式软实时与容错语言来进行开发,并于1998年将其作为一种开放源代码的计算机编程语言发布,是最常用的函数式编程语言之一。
  • F#
它是面向 .NET Framework 的一种编程语言,同时支持函数式以及命令式的面向对象编程。微软研究院的 Don Syme 开发了这种语言,他现在正在 Microsoft 开发部门进行参与开发工作。它被称作 F Sharp ,被集成到 .NET Framework 和 Visual Studio 中。
  • Haskell
Haskell 是以 Haskell Curry ——一个逻辑学家——来命名的,是一中标准化的纯函数式语言。它支持模式匹配,可定义运算符、单个赋值、代数数据类型以及递归函数。
  • Joy
它是一种基于函数组合的纯函数式语言。澳大利亚 La Trobe 大学的 Manfred von Thun 开发出了这种语言。
  • Kite
它于2006年推出,带有一个由面向对象和函数式编程功能特性混合组成的功能集合。这是一种可快速运行的语言。有趣的是,Kite 使用管道字符来进行函数式调用,而不像使用其他语言那样使用点或者箭头字符。
  • ML
爱丁堡大学的罗宾·米尔纳(Robin Milner)及其同事在七十年代推出了 ML 。因为它支持命令式编程,所以并非一种纯粹的函数式语言。标准 ML 在编译器编写者群体中很受欢迎,是一种模块化的函数式编程语言。Alice 是标准 ML 的方言,支持分布式计算,多线程和约束式编程。Caml 是 ML 的另一种方言,是一种支持自动内存管理的静态类型语言。Ocaml 是作为开源项目开发出来的 Caml 实现。 JoCaml 是基于连接演算模式的 Ocaml 版本。
  • Nemerle
它是专为 .NET 平台设计的一种静态类型编程语言。 Nemerle 中的程序会被编译成中间语言字节码。它支持函数式,命令式以及面向对象编程。
  • OPAL
该名称表示的是 Optimized Applicative Language (优化应用语言),是由柏林技术大学开发出来的函数式编程语言。
  • OPS5
它是一种基于规则的生产系统计算机语言,已经成为在专业系统中使用的首选语言。
  • Q
之所以被称为 Q ,因为它是一种等式(equational)编程语言。它是由德国美因茨大学 Albert Graf 设计出来的一种解释型函数式语言。它可以被描述为用于对表达式进行计算的一组方程式。

编译型编程语言
编译型语言是典型的通过编译器(将源代码生成机器码的翻译工具)而不是解释器(一步步执行源码,不会在运行前发生转换)实现的编程语言。(维基百科)
  • Ada
它是一种基于 Pascal 的静态类型、结构化、命令式的编程语言。Jean Ichbiah 带领的 CII Honeywell Bull 团队开发了 Ada。Ada 编译器由关键任务系统验证,它是符合国际标准的计算机编程语言。
  • ALGOL
它的名称就表明了它是一种算法语言。实际上它是在20世纪50年代中期开发出来的一系列命令式编程语言。它被证明可用于创建像 BCPL、B 和 C 这样的编程语言。位于 Oslo 的挪威计算机中心的 Ole-Johan Dahl 和 Kristen Nygaard 在它的基础上创造了 Simula。
  • C
贝尔电脑实验室的 Dennis Ritchie 开发了 C 用于 Unix 平台。它是通用、跨平台、过程化、命令式的编程语言。它用于实现系统软件和应用软件,是当今使用最广泛的计算机编程语言之一。C++ 和 C# 都是基于 C 发展而来。
  • C++
它由高级语言和低级语言相结合,因此被认为是一个中级编程语言。贝尔实验室的 Bjarne Stoustrup 开发了 C++,把它作为 C 语言的扩展。它最初被称为“含有类的C”,直到 1983 年才被称为 C++。它是一种支持过程化编程、泛型编程、面向对象编程和数据抽象的多样化语言。
[译者注:multi-paradigm 中的 paradigm 指形式,常见的编程形式包括:命令式(imperative)、函数式(functional)、申明式(declarative)、面向对象(object-oriented)、过程化(procedural)、逻辑化(logic)、风格化(symbolic)——参考维基百科]
  • C#
C Sharp 也是一种多样化语言,支持命令式、泛型和面向对象编程。它是 Microsoft .NET 框架 的一部分。它的面向对象语法与 C++ 相似。它还受到 Java 和 Delphi 的影响。
  • CLEO
它被称为 Clear Language for Expressing Orders (清楚表达命令的语言),是用于 LEO 计算机的计算机语言。
  • COBOL
其名称代表了 Common Business-Oriented Language (面向商业的通用语言),被设计用于商业和金融领域。COLBOL 2002 标准支持面向对象编程。它是一个非常古老的编程语言,但仍然在使用。
  • Cobra
它是一个运行于 .NET 框架和 Mono 框架的面向对象编程语言,由 Chunk Esterbrook 开发。它的设计受 Python 和 C# 的影响。它支持静态和动态类型,适用于单元测试。现在它是一个开源项目。
  • D
它最初被设计为 C++ 的增强,受 Java、Eiffel 和 C# 的影响。它是面向对象、命令式、多样化的系统编程语言,由 Digital Mars 的 Walter Bright 开发。
  • DASL
它是 Distributed Application Specification Language (分布式应用程序描述语言) 的缩写,是由 Sun 公司开发的一款高级、强类型的编程语言。创建它是为了用来开发 Web 应用。
  • DIBOL
DIBOL 是 Digital Interactive Business Oriented Language(面向商业的数字互动语言)的简写,它是通用过程命令式的编程语言。它和 COBOL 很像,适用于管理信息系统的开发。
  • Fortran
这是过程化、命令式的通用计算机编程语言,适用于科学计算和数值运算。自 IBM 于 20 世纪 50 年代开发出来,它迅速走红。它是结构化的编译型编程语言,在高性能计算领域非常流行。它是 Fortran95 的子集。Fortran 的修订版本,Fortran 2003 支持面向对象编程。
  • Java
它是通用计算机编程语言,并发,基于类,面向对象并专门针对尽可能少的依赖来进行设计。编译后的 Java 代码可以不需要再次编译就运行于各种支持 Java 的平台。是现代非常流行的语言。
  • JOVIAL
它是类似 ALGOL 的高阶计算机编程语言。它适用于嵌入式系统的设计和开发。
  • Objective-C
它是一种反射式面向对象程序编程语言,在 C 的基础上添加了消息服务。
  • SMALL
它的名称表示 Small Machine Algol-like Language (类似 Glgol 的小型机器语言)。它的代码与 ALGOL 类似,用于在小型机上编程。
  • Smalltalk
它是反射式的面向对象编程语言,支持动态类型。 Alan Kay、Adele Goldberg、Dan Ingalls、Scott Wallace、Ted Kaehler 和他们在 Xerox PARC 的同事开发了 Smalltalk。他们为教育用途设计了 Smalltalk,之后它就流行起来了。VisualWorks 是 Samlltalk 的优秀实现。Squeak 是 Smalltalk 的一种实现形式。Scratch 是基于 Squeak 的可视化编程语言。
  • Turing
它于 1982 年由加拿大多伦多大学的 Ric Holt 和 James Cordy 开发出来。它的名字是为了纪念英国计算机科学家 Alan Turing(艾兰·图灵)。它很像 Pascal,从 2007 年开始免费。
  • Visual Basic
这是一个事件驱动的编程语言,通过集成开发环境打包。它从 BASIC 继承了很多特性。它的图形化开发特性使初学者学习起来非常容易。
  • Visual FoxPro
它是面向对象和过程化编程语言,来源于 FoxPro。它自身集成了关系型数据库系统,不再需要额外的编程环境。它支持动态编程。
  • XL
它的诞生是为了支持概念编程,这是一种致力于将程序员脑中的概念转化为代码的编程形式。程序可以重新配置 XL 的语法和语义。

过程式编程语言
过程式(命令式)编程 意味着需指定程序应该达到预期状态的步骤。过程是可以通过过程调用引用的一组语句。 过程有助于代码中庸。 过程式编程使程序结构化,易于追踪程序流程。
  • Bliss
它是一种系统编程语言,是在 C 语言出现之前最知名的语言之一。卡内基梅隆大学的 W.A.Wolf、D.B. Russell 和 A.N. Habermann 发明了 Bliss 。它包括异常处理机制、协程和宏,但并不包括 goto 语句。
  • ChucK
它是可以在 Mac OS X、Linux 以及 Microsoft Windows 上运行的并发和强音频定时的编程语言。 它特别以其为程序员提供在运行程序中做一些修改的能力而著称。
  • CLIST
它是一种使用命令集合的形式表示的过程式编程语言,这些命令集合需要像批处理文件一样顺序执行。
  • HyperTalk
它是一种高级编程语言,旨在给程序员的初学者使用。 这种计算机语言的程序员被称为作者,编写程序的行为被称为脚本。HyperTalk 由 Dan Winker 于 1987 年设计,结构上类似于 Pascal 。
  • Modula-2
它是1978年由 Niklaus Wirth 在 ETH 创立的通用过程式语言。它与 Pascal 类似,具有系统编程和多重编程功能。
  • Oberon
Niklaus Wirth、Pascal和 Modula 背后的人,在 1986 年提出了 Oberon ,它被设计为 Oberon 操作系统的一部分。它类似于 Modula-2 ,但比它小得多。
  • Component Pascal
这是一种看上去似乎与 Pascal 相关的编程语言,但实际上与它不兼容。它实际上是 Oberon-2 的一个变种。Lagoona 是一种实验性编程语言,支持面向组件的编程、将系统分解为逻辑或功能组件的范式。 Niklaus Wirth 的学生 Michael Franz 发明了 Lagoona 。 Seneca,以 Oberon-2 著称,是 Oberon 编程语言的扩展。
  • MATLAB
它是一种数值计算环境和一种能够进行矩阵计算、功能绘图和算法实现的编程语言。 它也可以用于创建用户界面。 MathWorks 创建了 MATLAB 。
  • Occam
这是由 David May 和他的同事们在 INMOS 发明的一项命令式程序性语言。 它类似于 Pascal 。Occam-pi 是 Occam 的一种变体,已经扩展到包括嵌套协议、递归、协议继承、数组构造函数和运行时进程创建。
  • PL/C
它被发明之后用于教授编程知识。它是在20世纪70年代在康奈尔大学创建的。
  • PL/I
它是针对科研和工程应用的必需的计算机编程语言。主要用于执行数据处理,它还支持结构化编程和递归。
  • Rapira
它是一种在苏联学校教授计算机程序设计的过程式编程语言。苏联开发的这种语言最初是基于俄语的关键词。随后才加入的英文关键词。
  • RPG
此编程语言用于业务应用程序中。它可以与 IBM 的 System I 中间件计算机一起使用。

脚本语言
脚本语言是用来控制应用程序的编程语言。脚本可以独立于其它任何应用程序执行。它们多数时候嵌入在应用程序中,用于控制或用于执行频繁执行的自动任务,比如与外部程序通信的任务。
  • AppleScript
它是 Mac OS 内建的脚本语言。
  • Awk
Awk 于上世纪70年代诞生于贝尔实验室。它使用字符串数据类型、数组和正则表达式来处理数据流和文件中基于文本的数据。
  • BeanShell
它是 Java 脚本语言,其语法与 Java 相似,是在 Java 运行环境中运行的脚本命令和语法。
  • ColdFusion
它是应用服务器和软件开发框架,带有一个被称为 ColdFusion Markup Language (ColdFusion 标记语言) 的脚本语言。它被称为 CFML,其语法与 HTML 类似。
  • F-Script
它是一种面向对象的脚本语言,与 Smalltalk 非常接近,但增加了数组编程的特性。
  • JASS
它是一个事件驱动的脚本语言,为程序提供了广泛的 API。
  • Maya Embedded Language
它是 Maya 软件中处理任务的脚本语言,缩写为 MEL。它的语法类似 Perl。
  • Mondrian
这个脚本语言为 Internet 应用而生,它可以看作是 Haskell 和 Java 的结合。
  • PHP
PHP 是一种普遍使用的脚本语言。它用于创建动态网页,同时也支持命令行接口。
  • Revolution
它是基于 HyperTalk 的快速应用程序开发语言。它跨平台,支持动态类型。
  • Tcl
它被认为是一种容易学习的脚本语言。它用于嵌入式系统的快速原型开发。
  • VBScript
它是微软开发的 Visual Basic 的变体,非常活跃。VBScript 在微软 Windows 桌面系统中都作为默认组件存在。
  • Windows PowerShell
它是微软的命令行 shell 和脚本语言。它于 2006 年发布,可用于 Windows XP、Windows Vista 以及 Windows Server 2003 和 Windows Server 2008[译者注:还有更新一些的 Windows 版本]。它与 Microsoft .NET 框架合作,包括可执行程序、独立应用中的窗体、常规的 .NET 类等。Cmdlet 是特定的 .NET 类和脚本,或者由一些 Cmdlet 通过必要逻辑组合起来。

标记编程语言
标记编程语言 (Markup Languages) 是一种人造语言,它使用文本注释来定义这些文本的显示方式。
  • Curl
它是一种反射式的面向对象的编程语言。它是一种类似于 HTML 的标记语言。Curl 是支持多重继承的面向对象编程语言。
  • SGML
标准化通用标记语言(SGML)是来自 IBM 的通用标记语言。它是可以为文档定义标记语言的 ISO 标准元语言。它的目的是共享必须长期保留下来的大型项目机读文件。
  • HTML
超文本标记语言(缩写为 HTML )是用于网页的最著名的标记语言。它是用 HTML 标签的形式写成的,它们被尖括号所包围。HTML 标签描述了文档中的文本外观,并且可以嵌入到某些其他代码中以影响 Web 浏览器的行为。HTML 使用 SGML 的默认语法。
  • XML
这个名字代表可扩展标记语言(Extensible Markup Language)。它是可扩展的,因为它允许用户自定义 XML 元素。它支持通过互联网共享结构化数据以及数据的编码和序列化。它起源于 SGML 的一个子集。 XPath 是用于从 XML 文档中选择节点的 XML 路径语言。它支持值计算。XQuery 用于查询 XML 数据的集合。可扩展样式表语言转换(XSLT)是一种基于 XML 的语言,用于将 XML 文档转换为人类可读的格式。Apache Ant 是软件构建过程中的自动化工具。 它使用 XML 来描述构建过程。
  • XHTML
它是一种与 HTML 类似的标记语言,遵循 XML 语法。它是 HTML 和 XML 之间的过渡。 XHTML 文档允许自动处理数据。

基于逻辑的编程语言
逻辑编程是一种基于形式逻辑的编程范例。用逻辑编程语言编写的程序都是逻辑形式的一组句子,表达关于某些问题域的事实和规则。(维基百科)
  • ALF
代数逻辑函数式(Algebraic Logic Functional )编程语言是一种多范式的编程语言,它是功能编程和逻辑编程的组合。 ALF 程序语句会被编译成一种抽象机指令。用 C 编写的仿真器可以执行抽象机的程序。
  • Fril
Fril 语言是由 Trevor Martin 和 Jim Baldwin 于20世纪80年代在布里斯托大学的时候设计的。它主要面向一阶谓词演算,支持模糊集和元编程,基于 Prolog 的语法。
  • Janus
Janus 支持并发和约束式编程。
  • Leda
这种计算机编程语言是基于逻辑的,函数式,命令式和面向对象编程的混合体。因此,它是一种多范式语言。
  • Oz
它是一种多范式语言,支持函数式,基于逻辑的,命令式和面向对象编程。 Oz 还支持并发和分布式编程。支持约束式编程是 Oz 语言的优点之一。
  • Poplog
它是一个强大的多范式软件开发环境,其核心语言是 POP-11 。该开发环境的所有语言共享一个共同的语言编辑器,并且是增量编译的编程语言。
  • Prolog
它是一种支持逻辑编程的通用编程语言,通常可以连系到人工智能和计算语言学。语言是声明式的,程序逻辑则以关系的形式来表达。 Mercury 是基于 Prolog 的函数式逻辑编程语言。Strawberry Prolog 是 Prolog 的一种方言,被设计得易于使用。 Visual Prolog 是支持面向对象编程的 Prolog 强类型扩展。它是一种基于逻辑的编译型编程语言。
  • ROOP
它是一种基于 C++ 的多范式语言,推出目的是在与人工智能系统一起使用。其功能融合了函数式、逻辑和面向对象编程。

并发编程语言
并发编程 是一种计算机编程技术,可以让操作并行执行——在单计算机或者跨越多台计算机上都可以实现,而在后一种情况下,使用术语分布式计算。(维基百科)
  • ABCL
它是基于 Actor 的并行语言(Actor-Based Concurrent Language)的一个语言系列,是在日本于1980年代和90年代开发出来的。ABCL/1、ABCL/R 以及 ABCL/R2 就是 ABCL 系列的一些成员。
  • Afnix
它是一种多线程函数式编程语言。它的解释器是用 C++ 编写的。 其运行时引擎支持32位和64位平台。
  • Cilk
Cilk 是麻省理工学院实验室在1994年创建出来的,支持多线程并行编程。
  • Concurrent Pascal
美国丹麦裔计算机科学家 Per Brinch Hansen 创建了 Concurrent Pascal,用来编写操作系统和为实时系统编程。
  • E
它是一种支持分布式编程的面向对象编程语言。E 是在1997年由马克·米勒,丹·博恩斯坦与他们在电气社区的同事们一起开发出来的,其语法类似于 Java 。
  • Joule
Joule 出现在 E 编程语言之前,是一种并发数据流编程语言,可用于开发分布式应用程序。
  • Limbo
在贝尔实验室开发出来的 Limbo 可用于为分布式系统编写程序。它的显着特点就是其编译器能够生成独立于体系结构的目标代码。 Limbo 被用来开发在 Inferno 操作系统上运行的应用程序。最初作为 Plan 9 操作系统一部分的 Alex 就是 Limbo 的前身。
  • Pict
它是一种静态类型的编程语言,现在还处在实验阶段。
  • SALSA
Simple Actor Language System and Architecture(简单Actor语言系统和架构)的简称,SALSA 支持并行编程,消息传递和分布式计算。为了具备可移植性,它使用了 Java 代码。
  • SR
其名称 SR 是 Synchronizing Resources(同步资源)的首字母缩略词,是一种并行编程语言。

面向对象编程语言
面向对象编程 ( OOP) 是基于“对象”思想的编程规范,它包含数据,一般称为属性,表现为字段(field)的形式;还包含代码,一般称为方法,表现为程序的形式。在 OOP 中,计算机程序是根据对象与对象之间的交互来设计的。(Wikipedia)
  • Agora
这是一种基于原型的面向对象编程语言,具有消息传递机制。
  • BETA
它是一种面向对象的编程语言,其类和过程围绕相同的概念,而且类被定义为对象的属性。它具有很强的抽象机制。BETA 还支持嵌套类。
  • Cecil
这是由 Craig Chambers 在华盛顿大学创建的一种面向对象编程语言。它与 Objective-C 和 Modula-3 非常相似。
  • Lava
Lava 是一种解释性的可视化面向对象编程语言。
  • Lisaac
这是基于原型概念的首款编译性面向对象编程语言。它还支持系统编程。
  • MOO
这是一种基于动态类型原型的编程语言,支持面向对象编程。它支持异常处理机制和循环结构。
  • Moto
这是开源的服务器端编程语言,拥有状态和会话管理对象以及数据库连接。
  • Object-Z
这个语言由澳大利亚的 Queensland 大学开发。它扩展了 Z 编程语言,为其添加了面向对象的特性。
  • Obliq
这是一种提供面向对象编程特性的解释性计算机编程语言。它支持无类型变量,被设计用于分布式和多线程计算机。
  • Oxygene
Oxygene 是一种基于 Object Pascal 的面向对象编程语言,拥有丰富的功能集。它以前被称为 ‘Chrome’。
  • Pliant
它基于动态编译器,具有独特的能力来支持低级指令列表,同时也支持高级表达式。
  • Prograph
它是可视化的面向对象语言,支持多种样式,使用符号来表示数据上的操作。
  • REBOL
REBOL 由 Relative Expression Based Object Language (基于对象的相关表达式语言) 的首字母组成。它被设计用于分布式平台和网络通信。
  • Scala
Scala 名称表示它是可扩展(Scalable)的语言。它是一种多范型编程语言,提供了面向对象及函数式编程能力。
  • Self
这是基于原型的面向对象编程语言。NewtonScript 在很大程序上受 Self 影响,它用于为 Apple Newton 编写程序。
  • Slate
这个面向对象编程语言也是基于原型概念的。它有一些特性来自 Smalltalk 和 Self 语言。Slate 设计出来的目的是为程序员提供一个像操作系统的样的环境。
  • XOTcl
它是从 Tool Command Language [译者注:可能叫 Tcl 更容易认出来] 扩展而来,支持元类、动态类和方法。
  • IO
这是纯面向对象编程语言,拥有基于原型对象的模型。它体积不大,可以在小型便携式虚拟机上运行。

云市场头条基础软件频道:https://yq.aliyun.com/teams/61/type_blog-cid_156
学语言,搭环境,就到云市场开发者专题:https://market.aliyun.com/developer

转载自阿里云合作媒体51CTO
相关文章
|
6月前
|
数据采集 XML 数据格式
Haskell网络爬虫:视频列表获取案例分析
Haskell网络爬虫:视频列表获取案例分析
|
4月前
|
机器学习/深度学习 数据采集 算法
Python编程语言进阶学习:深入探索与高级应用
【7月更文挑战第23天】Python的进阶学习是一个不断探索和实践的过程。通过深入学习高级数据结构、面向对象编程、并发编程、性能优化以及在实际项目中的应用,你将能够更加熟练地运用Python解决复杂问题,并在编程道路上走得更远。记住,理论知识只是基础,真正的成长来自于不断的实践和反思。
|
6月前
|
Java 编译器 Go
【字节跳动青训营】后端笔记整理-1 | Go语言入门指南:基础语法和常用特性解析(一)
本文主要梳理自第六届字节跳动青训营(后端组)-Go语言原理与实践第一节(王克纯老师主讲)。
178 1
|
6月前
|
存储 Go C++
【字节跳动青训营】后端笔记整理-1 | Go语言入门指南:基础语法和常用特性解析(二)
Go 语言中的复合数据类型包括数组、切片(slice)、映射(map)和结构体(struct)。
74 0
|
6月前
|
存储 JSON Java
【字节跳动青训营】后端笔记整理-1 | Go语言入门指南:基础语法和常用特性解析(三)
在 Go 语言里,符合语言习惯的做法是使用一个单独的返回值来传递错误信息。
77 0
|
6月前
|
编译器 测试技术 C++
【Python 基础教程 02】 数据类型全解析:从基础到高级,实用指南及详细使用案例
【Python 基础教程 02】 数据类型全解析:从基础到高级,实用指南及详细使用案例
244 0
|
6月前
|
Linux C语言 C++
C++编程语言简介及其应用
C++编程语言简介及其应用
88 0
|
6月前
|
存储 程序员 开发工具
Python 进阶指南(编程轻松进阶):十四、实践项目
Python 进阶指南(编程轻松进阶):十四、实践项目
52 0
|
6月前
|
存储 Shell 程序员
Python 进阶指南(编程轻松进阶):七、编程术语
Python 进阶指南(编程轻松进阶):七、编程术语
63 0
|
6月前
|
人工智能 程序员 开发者
【笔记】效率之门——Python中的函数式编程技巧
Python函数式编程 我的AI Studio项目:【笔记】LearnDL第三课:Python高级编程——抽象与封装 - 飞桨AI Studio (baidu.com)
44 0