首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编程语言的显著特征

编程语言的显著特征
EN

Stack Overflow用户
提问于 2010-11-20 14:15:30
回答 8查看 2.5K关注 0票数 7

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

作为编程新手,我仍然困惑于每种编程语言的优缺点,以及如何区分它们,而不是常见本机函数的别名。我认为基于一组独特的特征对语言进行分类要容易得多,例如OOP和Functional。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-11-20 14:23:05

定义PL有很多东西,在这里我将列出几个:

  • 是过程式的,OO的,还是imperative?
  • Does的?它有强的类型检查(C#,C++,)或动态的(,Pythong,JS)
    • 是如何处理引用的?(它是否像C#一样隐藏指针?)
    • 是需要运行时(C#、Java)还是操作系统本身(C、C++)
    • 支持线程(例如,Eiffel需要额外的库)

可能还有其他的,比如垃圾收集器的预感,参数的处理等。Eiffel语言有一个有趣的特性,那就是契约式设计,我还没有在任何其他语言上看到过这个特性(我想C# 4.0现在已经有了),但是如果使用得当,它可以非常有用。

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

希望我能帮上忙

票数 6
EN

Stack Overflow用户

发布于 2010-11-20 14:23:44

在一个领域(命令式、函数式、连接式、术语重写)中,有时最好查看是否存在任何特定的功能集。例如,对于主流命令式。

类、原型继承或工具包中的并发数据的第一顺序收集(例如: functions

  • Closures

  • Built、Self/JavaScript、Lua/Perl)

  • Complex数据类型( array)

  • In-built concurrency primitives

  • Futures

  • Pass by
  1. 、pass by name、pass by reference或thereof
  2. Garbage收集的组合?基于kind?
  3. Event-based
  4. Interface的类型、基于类的类型或无用户类型(Go、Java、Lua)

票数 4
EN

Stack Overflow用户

发布于 2010-11-20 14:26:54

你可以考虑这样的事情:

  • 您是否可以调用函数?
  • 您是否可以将函数传递给其他函数?
  • 您是否可以创建新函数?(在C中可以将函数指针传递给函数,但不能创建新函数)
  • 您是否可以创建新的数据类型?
  • 您是否可以使用对其进行操作的函数来创建新的数据类型?( "OO“languages)
  • Can的典型基础是执行编译时不可用的代码(可能是使用eval函数)?运行时可用的compile-time?
  • Are类型必须知道
  • 的所有类型?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4231479

复制
相关文章

相似问题

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