【发布时间】:2011-04-15 08:25:37
【问题描述】:
有人可以给我一个清晰、简洁的编程语言和框架之间区别的定义吗?我在网上搜索过,但找不到合适的定义。
为了额外的荣誉,语言和框架是否有可能变得如此紧密相连以至于没有区别,或者它们之间是否存在如此清晰的界限以至于这是不可能的?
【问题讨论】:
-
也许您的 EC 问题的一个示例是作为 Objective-C 一部分的 NextStep 框架。并非完全不可分割,但非常接近......
-
如果一种语言以任何方式与某个框架“密不可分”,那么根据定义,该框架就是该语言的一部分。
-
NeXTStep/OpenStep/Cocoa 可以用于多种语言:Objective-C++、Objective-Modula-2、Ruby、Nu、FScript ...... NeXTStep/OpenStep/可可。 Objective-C 和 NeXTStep 之间的关系类似于 C 和 POSIX 之间的关系:它们是一起发明的并且很好地集成,但是你可以在没有 C 的情况下使用 POSIX(例如,使用 C++、OCaml、Perl),你可以在没有 POSIX 的情况下使用 C(例如,使用 Win32、NeXTStep 或没有环境根本,例如在嵌入式设备上或在编写 OS 内核时。)
-
@Jorg,绝对的。根据定义,一种语言必须是独立的。然而,我唯一的观点是,在没有 NS 库的情况下编写 Objective-c 代码要困难几个数量级,因为它提供了许多核心数据抽象。
标签: frameworks programming-languages definition