Что подразумевается под фреймворком, языком программирования и языком сценариев?

Что подразумевается под фреймворком, языком программирования и языком сценариев?


person nicky    schedule 03.10.2009    source источник
comment
К сказанному другими я добавляю следующее: Парадигма программирования.   -  person Cristina    schedule 03.10.2009
comment
вау, лучший вопрос и только один голос? Ну же, ребята!   -  person IAdapter    schedule 03.10.2009
comment
Едва ли лучший вопрос, когда он дублирует stackoverflow.com/questions/101055/, stackoverflow.com/questions/914941/, stackoverflow.com/questions/724438 /, stackoverflow.com/questions/148747/ и stackoverflow.com/questions/1514266/   -  person dmckee --- ex-moderator kitten    schedule 04.10.2009


Ответы (4)


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

В языках программирования, таких как C и C ++, раньше был этап компиляции и компоновки, на котором исходный код преобразовывался в машинно-языковую форму, которая запускалась операционной системой.

Языки сценариев, такие как оболочка Unix Bourne, Korn и C, не были скомпилированы или связаны, как C и C ++. (Благодаря исправлению Дэниела Прайдена и цитированию языков сценариев Unix.)

Поскольку виртуальные машины стали настолько распространены в таких языках, как Java, Python и C #, различие между написанием сценариев и программированием стало размытым.

Что касается различия между библиотеками и фреймворками: ваш код связывает библиотеки и вызывает их. Это отличается от фреймворка, потому что ваш код включен в фреймворк. Это известно как принцип Голливуда: «Не звоните нам, мы вам позвоним».

person duffymo    schedule 03.10.2009
comment
Вы правы (и я тоже за вас), но я не согласен с вашей характеристикой Python как языка сценариев. Это определенно один из размытых языков. Лучшим примером настоящего языка сценариев может служить Bourne Shell. Он был предназначен только для автоматизации и / или объединения других программ в сценарий. Кроме того, Bourne Shell интерпретируется напрямую, без промежуточного байт-кода. - person Daniel Pryden; 03.10.2009
comment
Я согласен с твоим несогласием, Дэниел. 8) Я достиг Python. Ваш пример оболочки Bourne точно на высоте. - person duffymo; 03.10.2009

Различие между языками программирования и языки сценариев не определены. На мой взгляд, нам следует отказаться от термина «язык сценариев» и просто называть их всеми языками программирования.

С другой стороны, framework представляет собой набор кода, который использует инверсию управления механизм, который поможет вам структурировать код. Фреймворки похожи на библиотеки в том, что они предоставляют строительные блоки, которые вы можете использовать для создания более крупной системы.

person Daniel Pryden    schedule 03.10.2009
comment
Прямо в точку! Люди используют термин «создание сценариев» для обозначения другой деятельности, связанной с программированием, но они просто обманывают себя. - person MaD70; 17.10.2009

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

Язык программирования - это надмножество языка сценариев, включающее все, что вы сами пишете, что заставляет компьютер что-то делать.

Языки сценариев традиционно интерпретируются, что означает, что они полезны для более мелких и легких целей, но это определение становится более расплывчатым, поскольку JavaScript - например, «язык сценариев» не так часто интерпретируется в наши дни.

person Scott Evernden    schedule 03.10.2009
comment
Как вы сказали, фреймворк имеет структуру и позволяет создавать что-то поверх нее, предлагая точки расширения. Это большая разница с библиотекой. Другими словами, Framework! = Библиотека - person Pascal Thivent; 03.10.2009

  • Framework - это комбинация библиотек классов и среды выполнения для выполнения кода независимо от операционной системы. Он размещен в операционной системе, маскирует функциональные возможности ОС.
  • Язык сценариев - это язык, в нем нет сценария, кроме поддержки другого языка, который не используется отдельно, например, JavaScript, сценарии на стороне сервера asp.net, все они поддерживают и подсказывают другие языки, например JavaScript дает подсказку к html.
  • Язык программирования - это инструкция для компьютера, а затем компьютер выполняет ее.
person Venkat    schedule 16.09.2012