Programming languages 什么是不同的编程语言概念,哪些语言以纯粹的方式显示它们
我不是语言专家,但我最近进入了语言领域,试图对主要概念和“它们的”语言进行概述。这类似于。那么首先,什么是主要的编程语言概念,例如Programming languages 什么是不同的编程语言概念,哪些语言以纯粹的方式显示它们,programming-languages,paradigms,Programming Languages,Paradigms,我不是语言专家,但我最近进入了语言领域,试图对主要概念和“它们的”语言进行概述。这类似于。那么首先,什么是主要的编程语言概念,例如 结构化 程序性 面向对象 面向对象-基于原型(例如Java脚本) 功能性(如Haskell) 逻辑导向(如Prolog) meta(如果是它自己的纯概念?) 基于堆栈的(例如,Forth) 基于数学/面向数组(例如APL) 声明的 连接的(例如PostScript) (绝对不完整的列表…) 其次,为了更好地理解这些概念,最自然、最纯粹的基于/实现其核心概念的编程
- 结构化
- 程序性
- 面向对象
- 面向对象-基于原型(例如Java脚本)
- 功能性(如Haskell)
- 逻辑导向(如Prolog)
- meta(如果是它自己的纯概念?)
- 基于堆栈的(例如,Forth)
- 基于数学/面向数组(例如APL)
- 声明的
- 连接的(例如PostScript)
- (绝对不完整的列表…)
- 例如,Java是OO,但它不是一个好例子,因为它不是纯粹的OO,因为原子
- Lisp是一种众所周知的函数式语言,但它是一种多范式语言,所以它并不纯粹。但Lisp可能是“基于列表”的纯实现(如果它算作概念的话)
- 有没有一种语言是结构化的(没有GOTO)而不是程序化的?(可能是XSLT v1.x)
- 例如,对于纯结构化(在这里“纯”的定义非常宽松)您可以查看
- 对于纯对象定向,如果您希望绝对统一地对待所有事物(在最常见的定义下实际上不需要!),或者您正在研究类似于和的语言,如果您愿意在该标题下接受基本类型,那么您主要关注的是它及其同类李>
- 对于你最有可能看到的功能李>
- 对于逻辑编程来说,典型的语言是,但它并不纯粹。我所知道的唯一(大部分)纯逻辑语言是,只有当你认为它的功能块与它的逻辑块在本质上是兼容的
……等等等等。你明白了。我认为Pascal是规范的过程语言 我还认为Lisp(讽刺的是不是ML)是标准的“元”语言 首先,宏是一个程序片段,它修改了表示程序片段的数据结构——因此您可以使用该语言来调整该语言。其次,编写自托管解释器(传统上称为元循环评估器)被认为是常见的做法:它们是编写程序并运行它们的程序 当然,任何其他语言都可以做到这一点。在Python中,您可以访问Python编译器,PyPy是Python中的Python实现。但我认为Lisp有着这样做的最强大的传统 但我是一个口齿不清的局外人,所以我知道什么希望这有帮助;-) 多亏了我正确的意见,我的方向才正确。我将列出迄今为止我发现的范例及其纯语言:
- 命令
- 非结构化---早期基本、组装
- 结构化--李>
- 程序性--
- 模——模A-2,可能是帕斯卡
- 面向对象
- 基于类的——Smalltalk
- 基于原型——自我,可能是Java脚本,Lua
- 声明性---SQL、正则表达式、CSS
- 逻辑——水星,也许是序言
- 功能性——方案,Haskell
- 默契/无分
- 连接词——快乐,猫
- 默契/无分
- 标量——它们中的大多数
- 数组--APL
- 基于堆栈的--Forth,Postscript