Подтвердить что ты не робот

В чем разница между языком и каркасом?

Может ли кто-нибудь дать мне четкое, четкое определение разницы между языком программирования и каркасом? Я просмотрел Интернет и не смог найти адекватное определение.

Для дополнительного кредита, возможно ли, что язык и структура становятся настолько неразрывно связанными, что нет никакой разницы, или существует ли между ними четкая линия, что это невозможно?

4b9b3361

Ответ 1

Язык - это синтаксис, грамматика, семантика (и, возможно, основная библиотека), которую разработчики должны поддерживать. Структура представляет собой сплоченный набор библиотечного кода, который вместе упрощает программирование на любом заданном языке.

Ответ 2


Структура приложений - это организационная структура любого прикладного кода, включая выбор условных обозначений в файлах/папках, классах/функциях и т.д.

Продукт продукта приложения - это любой инструмент, который помогает генерировать фреймворк для приложения.

Шаблон проектирования - это любой концептуальный подход для организации кода на уровне приложения.

Язык - это языковой инструмент, который может использоваться для создания приложений, утилит, библиотек, фреймворков и т.д.

A библиотека - любое расширение функциональности для встроенных функций языка.

Стандартная библиотека - это библиотека, упакованная с самим языковым продуктом.

Внешняя библиотека представляет собой библиотеку вне самого языкового продукта и либо называется удаленно, либо локально установлена.

A генератор кода - это любой инструмент, который динамически генерирует постоянный код времени выполнения на основе входа разработчика.


Ответ 3

Что касается четкой линии между языком и каркасом, я полагаю, что вы можете считать DSL (Domain Specific Languages) конструкциями, которые являются как языком, так и Framework (так как это Framework на исходном языке, на котором он основан).

Lisp - единственный язык, о котором я могу думать сейчас, который может размыть такое различие:

"Имя LISP происходит от" LISt Processing ". Связанные списки являются одной из основных структур данных LISP languages, а исходный код LISP сам состоит из списков. В результате LISP программы могут манипулировать исходным кодом как структурой данных, создавая макросистемы, которые позволяют программистам создавать новый синтаксис или даже новые языки, относящиеся к домену, встроенные в Lisp".

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

Ответ 4

Надеюсь, я смогу объяснить пример.

Точечная сеть - это структура, которая состоит из больших библиотек и поддерживает многие языки программирования.. С# - это язык программирования, через который вы можете дать инструкция для машины в основном компьютер. Теперь, если ваш исходный код находится в С# вы можете использовать библиотеки Dot net framework и исходный код, который написан в другом языки..

Ответ 5

На мой взгляд, язык программирования выглядит как куча материала (синтаксис, грамматика, семантика и т.д.), которые люди уже объединяют в один из удобных, более полезных, простых в использовании и более приятных - фреймворк и Я люблю иметь структуру перед началом создания программы.

Я знаю некоторые языки программирования, такие как C, PHP, ASP, Python, Java и некоторые фреймворки, такие как Yii, Zend, Pygame, Struts. Все, что я вижу, может быть много фреймворков, построенных на языке программирования, но структура построена только на языке программирования.

Ответ 6

Давайте возьмем пример. Веб-приложение для управления сотрудниками.

Инструменты Frontend будут включать html, javascript.

Для backend Python или Ruby и базы данных MySql.

Некоторые из основных функциональных возможностей бэкэнд включают:

  • Обработка запросов и ответ
  • Подключение к базе данных и запрос
  • Файл конфигурации/настроек
  • Signin/Registration/CRUD (создание, чтение, обновление, удаление)

Если бы я использовал python для этого, мне, возможно, придется потратить больше времени на их создание, и даже тогда я не могу быть уверенным во многих аспектах, так как он должен пройти тщательное тестирование, прежде чем он начнет жить.

Вот необходимость в Framework. В этом случае инфраструктура веб-приложения (пример Django - A python framework) поставляется со всеми плагинами/обертками/API-интерфейсами, которые решают многие общие функции, такие как Обработка запросов, подключение к базе данных и sigining/registrationup и многое другое.

Аналогичным образом, существуют различные рамки для разных вариантов использования. Например, Hadoop для больших данных, Django для веб-разработки, AngularJS (не Angular 4) для интерфейса. Он решает основные потребности, и, следовательно, разработка приложения упрощается, поэтому вы можете потратить время на разработку остальных функций, которые будут иметь ваше приложение. В этом смысле язык программирования является необработанным.

Ответ 7

Язык программирования - это стандартный, стандартизированный метод связи между программистом и компьютером (на современных языках, технически он между программистом и компилятором, который "интерпретирует" ваш код в более простые инструкции, с которыми может работать компьютер). Это чистая абстракция, которая определяет его структуру, синтаксис и семантику; реализация языка обычно рассматривается как часть среды, в которой программист разрабатывает и включает компилятор и любую реализацию виртуальной машины.

Структура представляет собой стандартизованный набор предварительно написанных кодовых библиотек, предназначенных для использования и использования их разработчиками, и снова привязана к окружающей среде. Среда - это пересечение языка, рамки, виртуальной машины или среды выполнения (уровень абстракции, в котором управляемый или интерпретируемый код переводится из машино-независимой формы в собственный код) и машины (аппаратный уровень, на котором исполняются нативные инструкции).