В чем разница между языком и каркасом?
Может ли кто-нибудь дать мне четкое, четкое определение разницы между языком программирования и каркасом? Я просмотрел Интернет и не смог найти адекватное определение.
Для дополнительного кредита, возможно ли, что язык и структура становятся настолько неразрывно связанными, что нет никакой разницы, или существует ли между ними четкая линия, что это невозможно?
Ответы
Ответ 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
Язык программирования - это стандартный, стандартизированный метод связи между программистом и компьютером (на современных языках, технически он между программистом и компилятором, который "интерпретирует" ваш код в более простые инструкции, с которыми может работать компьютер). Это чистая абстракция, которая определяет его структуру, синтаксис и семантику; реализация языка обычно рассматривается как часть среды, в которой программист разрабатывает и включает компилятор и любую реализацию виртуальной машины.
Структура представляет собой стандартизованный набор предварительно написанных кодовых библиотек, предназначенных для использования и использования их разработчиками, и снова привязана к окружающей среде. Среда - это пересечение языка, рамки, виртуальной машины или среды выполнения (уровень абстракции, в котором управляемый или интерпретируемый код переводится из машино-независимой формы в собственный код) и машины (аппаратный уровень, на котором исполняются нативные инструкции).