计算机编程语言可用于将指令传达给计算机。它们基于某些句法和语义规则,定义了编程语言中每种结构的含义。
现在我得到了一个凡是可以找得到的每种编程语言的列表。我将它们分为以下几类:
解释型编程语言
函数式编程语言
编译型编程语言
过程式编程语言
脚本编程语言
标记编程语言
基于逻辑的编程语言
并发编程语言
面向对象编程语言
函数式编程语言 定义每次的计算作为数学求值。他们把焦点集中在函数的应用。大量的函数编程语言被绑定在数学计算上。
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 的挪威计算机中心的 OleJohan Dahl 和 Kristen Nygaard 在它的基础上创造了 Simula。
C
贝尔电脑实验室的 Dennis Ritchie 开发了 C 用于 Unix 平台。它是通用、跨平台、过程化、命令式的编程语言。它用于实现系统软件和应用软件,是当今使用最广泛的计算机编程语言之一。C++ 和 C# 都是基于 C 发展而来。
C++
它由高级语言和低级语言相结合,因此被认为是一个中级编程语言。贝尔实验室的 Bjarne Stoustrup 开发了 C++,把它作为 C 语言的扩展。它最初被称为“含有类的C”,直到 1983 年才被称为 C++。它是一种支持过程化编程、泛型编程、面向对象编程和数据抽象的多样化语言。(笔者也是一名C/C++的工程师,对学习C/C++有兴趣的小伙伴可以关注一下哦!)
过程式(命令式)编程 意味着需指定程序应该达到预期状态的步骤。过程是可以通过过程调用引用的一组语句。 过程有助于代码中庸。 过程式编程使程序结构化,易于追踪程序流程。
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 。
Modula2
它是1978年由 Niklaus Wirth 在 ETH 创立的通用过程式语言。它与 Pascal 类似,具有系统编程和多重编程功能。
Oberon
Niklaus Wirth、Pascal和 Modula 背后的人,在 1986 年提出了 Oberon ,它被设计为 Oberon 操作系统的一部分。它类似于 Modula2 ,但比它小得多。
Component Pascal
这是一种看上去似乎与 Pascal 相关的编程语言,但实际上与它不兼容。它实际上是 Oberon2 的一个变种。Lagoona 是一种实验性编程语言,支持面向组件的编程、将系统分解为逻辑或功能组件的范式。 Niklaus Wirth 的学生 Michael Franz 发明了 Lagoona 。 Seneca,以 Oberon2 著称,是 Oberon 编程语言的扩展。
MATLAB
它是一种数值计算环境和一种能够进行矩阵计算、功能绘图和算法实现的编程语言。 它也可以用于创建用户界面。 MathWorks 创建了 MATLAB 。
Occam
这是由 David May 和他的同事们在 INMOS 发明的一项命令式程序性语言。 它类似于 Pascal 。Occampi 是 Occam 的一种变体,已经扩展到包括嵌套协议、递归、协议继承、数组构造函数和运行时进程创建。
PL/C
它被发明之后用于教授编程知识。它是在20世纪70年代在康奈尔大学创建的。
PL/I
它是针对科研和工程应用的必需的计算机编程语言。主要用于执行数据处理,它还支持结构化编程和递归。
Rapira
它是一种在苏联学校教授计算机程序设计的过程式编程语言。苏联开发的这种语言最初是基于俄语的关键词。随后才加入的英文关键词。
RPG
此编程语言用于业务应用程序中。它可以与 IBM 的 System I 中间件计算机一起使用。
标记编程语言 是一种人造语言,它使用文本注释来定义这些文本的显示方式。
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 文档允许自动处理数据。
并发编程 是一种计算机编程技术,可以让操作并行执行——在单计算机或者跨越多台计算机上都可以实现,而在后一种情况下,使用术语分布式计算。(维基百科)
ABCL
它是基于 Actor 的并行语言(Actorbased 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 中,计算机程序是根据对象与对象之间的交互来设计的。
Agora
这是一种基于原型的面向对象编程语言,具有消息传递机制。
BETA
它是一种面向对象的编程语言,其类和过程围绕相同的概念,而且类被定义为对象的属性。它具有很强的抽象机制。BETA 还支持嵌套类。
Cecil
这是由 Craig Chambers 在华盛顿大学创建的一种面向对象编程语言。它与 ObjectiveC 和 Modula3 非常相似。
Lava
Lava 是一种解释性的可视化面向对象编程语言。
Lisaac
这是基于原型概念的首款编译性面向对象编程语言。它还支持系统编程。
MOO
这是一种基于动态类型原型的编程语言,支持面向对象编程。它支持异常处理机制和循环结构。
Moto
这是开源的服务器端编程语言,拥有状态和会话管理对象以及数据库连接。
ObjectZ
这个语言由澳大利亚的 Queensland 大学开发。它扩展了 Z 编程语言,为其添加了面向对象的特性。
Obliq
这是一种提供面向对象编程特性的解释性计算机编程语言。它支持无类型变量,被设计用于分布式和多线程计算机。
Oxygene
Oxygene 是一种基于 Object Pascal 的面向对象编程语言,拥有丰富的功能集。它以前被称为 ‘Chrome’。
Pliant
它基于动态编译器,具有独特的能力来支持低级指令列表,同时也支持高级表达式。
Prograph
它是可视化的面向对象语言,支持多种样式,使用符号来表示数据上的操作。
REBOL
REBOL 由 Relative expression based Object Language 的首字母组成。它被设计用于分布式平台和网络通信。
Scala
Scala 名称表示它是可扩展的语言。它是一种多范型编程语言,提供了面向对象及函数式编程能力。
Self
这是基于原型的面向对象编程语言。Newtonscript 在很大程序上受 Self 影响,它用于为 Apple Newton 编写程序。
Slate
这个面向对象编程语言也是基于原型概念的。它有一些特性来自 Smalltalk 和 Self 语言。Slate 设计出来的目的是为程序员提供一个像操作系统的样的环境。
XOTcl
它是从 Tool Command Language [译者注:可能叫 Tcl 更容易认出来] 扩展而来,支持元类、动态类和方法。
IO
这是纯面向对象编程语言,拥有基于原型对象的模型。它体积不大,可以在小型便携式虚拟机上运行。
以上就是我们今天向大家介绍的编程语言,希望大家认可话可以支持下哦!
免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报