语言和框架之间有什么区别?

时间:2010-09-21 17:54:33

标签: frameworks programming-languages definition

有人可以给我一个清晰,简洁的定义编程语言和框架之间的区别吗?我在网上搜索过,无法找到合适的定义。

对于额外的功劳,语言和框架是否可能变得如此密不可分,以至于没有区别,或者它们之间是否存在这样的明确界线,这是不可能的?

6 个答案:

答案 0 :(得分:25)

语言是实现者需要支持的语法,语法,语义(也许是核心库)。框架是一组内聚库代码,它们共同简化了任何给定语言的编程。

答案 1 :(得分:3)


应用程序框架是任何应用程序代码的组织结构,包括文件/文件夹,类/函数等中的约定选择。

应用程序框架产品是帮助为应用程序生成框架的任何工具。

应用程序设计模式是在应用程序级别组织代码的任何概念方法。

软件语言是一种基于语言的工具,可用于构建应用程序,实用程序,库,框架等。

是语言本机编译功能的任何功能扩展。

标准库是与语言产品本身一起打包的库。

外部库是语言产品本身之外的库,可以远程调用,也可以在本地安装。

代码生成器是根据开发人员的输入动态生成永久运行时代码的任何工具。


答案 2 :(得分:2)

关于语言和框架之间的界限,我想你可以将DSL(领域特定语言)统计为语言和框架的构造(因为它是构建在其上的原始语言中的框架)。

Lisp是我现在能想到的唯一可能模糊这种区别的语言:

“LISP这个名字源于”LISt Processing“。链接列表是Lisp语言的主要数据结构之一,Lisp源代码本身由列表组成。因此,Lisp程序可以将源代码作为数据进行操作结构,产生了允许程序员创建新语法的宏系统,甚至是嵌入在Lisp中的新的特定领域语言。“

http://en.wikipedia.org/wiki/Lisp_(programming_language)

答案 3 :(得分:1)

我希望我能用一个例子来解释。

Dot net是一个由大型库组成并支持许多库的框架 编程语言.. C#是一种编程语言,您可以通过它来提供 对机器的指令主要是计算机..现在如果您的源代码是在C#中 你可以使用Dot net框架库和其他编写的源代码 语言..

答案 4 :(得分:1)

在我看来,编程语言看起来像一堆东西(语法,语法,语义等),人们已经将它们组合成一个更方便,更有用,更易于使用,更有趣的框架,并且我喜欢在开始制作节目之前有一个框架。

我知道一些编程语言,如C,PHP,ASP,Python,Java,以及一些框架,如Yii,Zend,Pygame,Struts。我所看到的是,可以有许多基于编程语言构建的框架,但框架仅基于编程语言构建。

答案 5 :(得分:-2)

编程语言是程序员和计算机之间指定的标准化通信方法(在现代语言中,技术上是程序员和编译器之间,它将您的代码“解释”为计算机可以使用的简单指令)。它是一个纯抽象,指定了它的结构,语法和语义;语言的实现通常被认为是程序员开发的环境的一部分,并且包含编译器和任何虚拟机实现。

框架是一组标准化的预编写代码库,旨在供开发人员使用和重用,并且更多地与环境相关联。环境是语言,框架,虚拟机或运行时(其中托管或解释的代码从与机器无关的形式转换为本机代码的抽象层)和机器(执行本机指令的硬件层)的交集。