programming-languages - 编程语言的显着特点

标签 programming-languages syntax

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




除了每种语言的语法(例如 print 与 echo)之外,还有哪些关键的独特特征需要注意以区分编程语言?

作为编程的初学者,我仍然对每种编程语言的优缺点以及如何在常见 native 函数的别名之外区分它们感到困惑。我认为根据一组独特的特征对语言进行分类要容易得多,例如OOP诉功能。

最佳答案

定义 PL 的东西有很多,这里我将列出一些:

  • 它是程序性的、面向对象的、势在必行的吗?
  • 它是否具有强类型检查(C#、C++、Delphi)或动态(PHP、Pythong、JS)
  • 引用是如何处理的? (它是否像 C# 一样隐藏指针?)
  • 它是否需要运行时(C#、Java)或者它是操作系统(C、C++)原生的吗
  • 它是否支持线程(例如 Eiffel 需要额外的库)

  • 可能还有其他的,比如垃圾收集器的存在,参数的处理等。 Eiffel 语言有一个有趣的特性,即 Design By Contract,我还没有在任何其他语言上看到这个(我认为 C# 4.0 现在有) ,但如果使用得当,它会非常有用。

    我建议您查看 Bertrand Meyer 的工作,以更深入地了解 PL 的工作方式以及定义它们的事物。可以定义 PL 的另一件事是与系统的交互级别,这就是低级语言和高级语言之间的区别。

    希望我能帮上忙

    关于programming-languages - 编程语言的显着特点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4231479/

    相关文章:

    image-processing - 图像处理语言/环境

    java - 需要对此 Java 语法的解释

    javascript - IIFE 前的分号有什么用?

    c - 是否有命令告诉编译器打印其版本?

    git - 当我执行 git commit --verbose 时,将语法设置为 diff in sublime text 2

    haskell - 语法 Haskell 中的 @ 是什么?

    compiler-construction - 是否存在带有本地化编程语言版本的编译器?

    performance - 内存管理的90/10规则?

    programming-languages - 如何实现 C++0x 原始字符串文字?

    c# - 需要 "delegate"的简洁定义