首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >程序设计语言的分类

程序设计语言的分类
EN

Stack Overflow用户
提问于 2009-10-23 15:21:00
回答 5查看 3.6K关注 0票数 2

到目前为止,我一直在使用Java、Prolog、SQL和C#语言。我知道Java和C#是命令式的,Prolog声明性语言和SQL某种程度上的声明性语言。Java和C#是面向对象的,您可以使用它们开发面向方面的程序.

这已经是某些语言可能适合或实现的四个不同特性:命令式、声明式、面向对象、面向方面,我还遇到了其他各种类别:函数式语言、汇编语言,可能还有很多我从未听说过的特性。

是否有某种一致和/或逻辑分类或多维分类,其中的编程语言可以在某种程度上一致的分类?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-23 15:24:18

您可以在维基百科的这篇同名文章中找到大量的编程范例。尤其是右边的那棵树是非常有用和全面的。

我担心,许多编程语言可能属于不止一个类别,例如,C#是结构化的、命令式的、面向对象的、事件驱动的、功能的。

  • 结构化的,因为它包含流控制语句。
  • 命令,因为你写了计算机应该做的事情。
  • 面向对象,因为您可以用类来建模问题。
  • 事件驱动,因为包含多播委托和事件直接在语言语法,使一些设计模式过时。
  • 函数,因为委托是作为一流对象的函数,允许您以函数的方式编写程序。

另一方面,Java只共享该列表的结构化、命令式和面向对象的特性,这使得它更像是一种“纯”OO语言,不受太多其他范式的影响。

注意:这些分类是从各个维基百科页面中提取的。

这些分类中的每一种都是相互正交的,上面提到的许多分类都是正交的。它们描述了如何处理语言、语法或执行的不同方面。

票数 14
EN

Stack Overflow用户

发布于 2009-10-23 23:49:55

这篇开创性的CS论文(早于OO,顺便说一句)是由Peter Landin撰写的的末尾有一个有趣的讨论,我们可以看到最基本的区别是祈使语言和声明语言。在基本级别上,类型系统类别提供了高级别的语言分组。语法的可扩展性是另一个相当高的层次和基本的分类。

我认为多维矩阵比层次结构更适合你的目标,我认为上面概述的三个维度是绝对基本的。

票数 4
EN

Stack Overflow用户

发布于 2009-10-24 01:37:29

虽然有点切分,但是O‘’Reilly在埃里克·莱韦内斯的原作的基础上做了一张很棒的海报,在他们的历史中追溯了主要的编程语言。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1614174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档