语言和框架有什么区别?

发布于 2024-09-24 16:39:50 字数 130 浏览 0 评论 0原文

有人能给我一个关于编程语言和框架之间区别的清晰、简洁的定义吗?我在网上搜索过,但找不到合适的定义。

额外加分的是,一种语言和一个框架是否有可能变得如此密不可分,以至于没有区别,或者它们之间是否有如此清晰的界限,以至于这是不可能的?

Can someone give me a clear, concise definition of the difference between a programming language and a framework? I have scoured the web and been unable to find an adequate definition.

For extra credit, is it possible for a language and a framework to become so inextricably linked that there IS no difference, or is there such a clear line between them that this isn't possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

简单气质女生网名 2024-10-01 16:39:50

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

A language is syntax, grammar, semantics (and perhaps a core library) that implementers are required to support. A framework is a cohesive set of library code that together simplifies programming in any given language.

半暖夏伤 2024-10-01 16:39:50

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

应用程序框架产品是帮助生成应用程序的框架。

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

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

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

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

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

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



An application framework is the organizational structure of any application's code, including choices for conventions in files/folders, classes/functions, etc.

An application framework product is any tool that helps generate the framework for an application.

An application design pattern is any conceptual approach for organizing code at the application level.

An software language is a language-based tool that can be used to build applications, utilities, libraries, frameworks, etc.

A library is any extension in functionality to the native compiled functionality of a language.

A standard library is a library packaged with the language product itself.

An external library is a library outside of the language product itself and is either called remotely or installed locally.

A code-generator is any tool that dynamically generates permanent runtime code based on the developer's input.


柠北森屋 2024-10-01 16:39:50

关于语言和框架之间的明确界限,我想您可以将 DSL(领域特定语言)视为既是语言又是框架的构造(因为它是其所构建的原始语言中的框架)。

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

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

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

Regarding the clear line between language and framework, i suppose you can count DSLs (Domain Specific Languages) as constructs that are both a Language and a Framework ( as it is a Framework in the original Language it is build upon).

Lisp is the only language i can think of now that may blur such distinction:

"The name LISP derives from "LISt Processing". Linked lists are one of Lisp languages' major data structures, and Lisp source code is itself made up of lists. As a result, Lisp programs can manipulate source code as a data structure, giving rise to the macro systems that allow programmers to create new syntax or even new domain-specific languages embedded in Lisp."

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

笨笨の傻瓜 2024-10-01 16:39:50

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

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

I hope i can explain using an example.

Dot net is a framework which consists of large libraries and supports many
programming languages.. C# is a programming language through which you can give
instruction to a machine mainly computer.. Now if your source code is in C#
you can use Dot net framework libraries and the source code which is written in other
languages..

只是一片海 2024-10-01 16:39:50

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

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

At my point, a programming language looks like bunch of stuff (syntax,grammar, semantics etc.) which people are already combine them into one more convenient, more useful, easier to use, and more enjoyable - a framework, and I love to have a framework before start making a program.

I know some programming languages like C, PHP, ASP, Python, Java, and some frameworks like Yii, Zend, Pygame, Struts. All I see is there can be many frameworks built from a programming language, but a framework is built from only on programming language.

写给空气的情书 2024-10-01 16:39:50

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

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

A programming language is a specified, standardized method of communication between the programmer and computer (in modern languages, technically it's between programmer and compiler, which "interprets" your code into simpler instructions the computer can work with). It is a pure abstraction that specifies its structure, syntax and semantics; implementations of the language are generally considered part of the environment in which the programmer develops, and incorporate the compiler and any virtual machine implementation.

A framework is a standardized set of pre-written code libraries designed to be used and reused by developers, and is again tied more to the environment. An environment is the intersection of the language, framework, virtual machine or runtime (an abstraction layer in which managed or interpreted code is translated from a machine-independent form into native code) and machine (the hardware layer on which native instructions are executed).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文