有人能给我一个清晰、简明的定义,说明编程语言和框架之间的区别吗?我已经搜索了整个网络,但找不到足够的定义。
额外加分题:一个语言和一个框架是否可以变得如此密不可分,以至于它们之间没有区别,或者它们之间是否有如此明显的界限,使得这种情况不可能发生?
有人能给我一个清晰、简明的定义,说明编程语言和框架之间的区别吗?我已经搜索了整个网络,但找不到足够的定义。
额外加分题:一个语言和一个框架是否可以变得如此密不可分,以至于它们之间没有区别,或者它们之间是否有如此明显的界限,使得这种情况不可能发生?
一种语言是指实现者要支持的语法、语法规则、语义(以及可能的核心库)。一个框架是指由一组有机结合的库代码组成,可以在任何给定的语言中简化编程。
我希望能够通过一个例子来解释。
Dot net是一个框架,它由大量的库组成,并支持许多编程语言。C#是一种编程语言,通过它你可以向机器(主要是计算机)发出指令。如果你的源代码是用C#编写的,那么你可以使用Dot net框架库和其他语言编写的源代码。
在我看来,编程语言就像一堆东西(语法、语义等),人们已经将它们结合成一个更方便、更有用、更易于使用和更愉悦的框架,而在开始制作程序之前,我喜欢有一个框架。
我知道一些编程语言,如C、PHP、ASP、Python、Java,以及一些框架,如Yii、Zend、Pygame、Struts。我所看到的是,可以从一个编程语言构建许多框架,但一个框架只能由一种编程语言构建。