programming-languages - 有哪些不同的编程语言概念以及哪些语言以纯粹的方式展示它们

标签 programming-languages paradigms

我不是语言专家,但我最近开始研究语言并试图了解主要概念和“他们的”语言。这类似于 another question about books .首先,主要的编程语言概念是什么,例如

  • 结构化
  • 程序
  • 面向对象
  • 面向对象 - 基于原型(prototype)(例如 Java 脚本)
  • 功能性(例如 Haskell)
  • 面向逻辑(例如 Prolog)
  • 元(如果是它自己的纯概念?)
  • 基于堆栈(例如 Forth)
  • 基于数学/面向数组(例如 APL)
  • 声明性
  • 连接(例如 PostScript)
  • (绝对不完整的列表...)

  • 其次,为了更好地理解这些概念,最自然、最纯粹基于/实现其核心概念的编程语言是什么?
  • 例如,Java 是 OO,但它不是一个很好的例子,因为由于原子,它不是纯 OO。
  • Lisp 是一种众所周知的函数式语言,但它是多范式的,所以它不是纯粹的。但是 Lisp 可能是“基于列表”的纯粹实现(如果它算作概念的话)。
  • 是否存在结构化(没有 GOTO)但不是程序性的语言? (可能是 XSLT v1.x)
  • 最佳答案

    您在这里寻找的术语是“编程范式”,有 a whole lot of them在那里。您可以从该 Wikipedia 页面及其后续链接中获取支持每种语言的列表。

    对于其中任何一个的“纯”演绎,这更难,因为它取决于您正在寻找的纯度水平。

  • 对于纯结构化(在此处对“纯”的任何足够松散的定义),您可以查看,例如,Modula-2 .
  • 对于纯面向对象,您主要查看 Smalltalk如果您绝对希望对所有内容进行统一处理(在最常见的定义下实际上不是必需的!),或者您正在查看像 Java 这样的语言和 Eiffel如果您接受该标题下的原始类型。
  • 对于功能,您最有可能查看 Haskell .
  • 对于逻辑编程,原型(prototype)语言是 Prolog ,但它并不是真正纯粹的。我所知道的唯一(大部分)纯逻辑语言是 Mercury ,并且仅当您将其功能 block 视为与其逻辑 block 基本兼容时。

  • ...等等等等。你明白了。

    关于programming-languages - 有哪些不同的编程语言概念以及哪些语言以纯粹的方式展示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4082177/

    相关文章:

    programming-languages - 这些天如何创建一种语言?

    programming-languages - "Hello World"之后的第一个应用程序

    functional-programming - 努力使用纯函数式编程来解决日常问题

    functional-programming - 什么是执行顺序以及它如何影响代码?

    ruby-on-rails - redis 数据库的大小(2N 或 N^2)

    c - 在主函数内部静态分配大量内存

    ruby - 为什么 Ruby 的项目似乎比其他编程语言少?

    ruby - 在 Ruby 中用队列代替方法链,用规则代替条件

    programming-languages - 什么是面向数据的编程?

    programming-languages - 除 C++ 外,哪些编程语言支持运算符重载?