Чем язык программирования отличается от фреймворка?

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

Получается, что дело исключительно в том, что фреймворк более высокоуровневая сущнсть и все?
  • Вопрос задан
  • 5021 просмотр
Пригласить эксперта
Ответы на вопрос 5
@z777
Могу ошибаться, в моем понимание это выглядит так:
Библиотека языка это наборы необходимых элементов для работы, например: ArrayList, Timer, TimeUnit, Loger и т.д., т.е. те вещи с помощью которых ты разрабатываешь программы.
А фреймворк это набор абстрактных функций с помощью которых быстрее и легче разрабатывать, например нужно тебе прочитать файл, с помощью языка и его библиотек ты получаешь доступ к файлу, проверяешь можно ли из него прочитать информацию, открываешь поток для чтения, читаешь, закрываешь поток и т.д. У фреймворка достаточно вызвать один метод который тебе вернет содержание файла, а всю реализацию сделает за тебя. Как то так.
Ответ написан
@TheOddOne
Хм, если мыслить глобально, то можно сказать, что фреймворк в сравнении с языком программирования это просто сущность более высокого уровня.

Например взять к примеру Машинный язык, по сути почти все языки программирования в конечном итоге работают с ним. То есть все языки программирования можно назвать фреймворками если мыслить глобально.

JS например является своего рода машинным кодом для браузеров, а jq фреймворком, который строится на базе JS. Но по сути jq полностью может заменить js. Также как и C может заменить Assebler теряя в производительность.

Отсюда можно заключить, что разницей между фреймворком и языком программирования является отсутствием у первого процессов транслирвоания (ну и других процессов, зависит от языка программирования). Как я это понимаю, хотя может понимаю и неверно :)
Ответ написан
vvpoloskin
@vvpoloskin
Инженер связи
А чем по вашему мнению отличается язык программирования от готового софта? Ведь и то, и другое - программное обеспечение, машинный код. Т.е. по сути, программа - это и есть язык программирования, просто приведенный в нужный вид)
А теперь обратимся к вики, и увидим, что:
язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ
фреймворк - программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта
Фреймворк уже софт для облегчения задачи, а язык основа.
Ответ написан
lxsmkv
@lxsmkv
Test automation engineer
Фреймворк ( англ. "строительные леса", "каркас") относится к языку программирования как архитектура высотного здания относится к железобетону.

Написать фреймворк значит решить задачу следующего характера:

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


Таким образом основные качества фреймворка:
  • консистентность
  • простота использования и низкий порог вхождения
  • расширяемость
  • гибкость


Она (структура) должна быть достаточно абстрактной чтобы быть гибкой но и достаточно конкретной, чтобы быть практически полезной. Написав фреймворк можно легко решать множество однотипных задач.
Вообще хорошая программная архитектура в приложении имеет свойства фреймворка.

У меня преподавательница в университете слово употребляла правильное: "ортогонально".
Представьте себе многомерную ортогональную структуру..
Если строить ПО ортогонально оно станет фреймворком.

Разница между приложением написаным под конкретную задачу и фреймворком, в том что фреймворк позволит путем изменения параметров и данных, получить на основе абстрактных шаблонов новое приложение уже для другой задачи. К основным задачам фреймворка можно отнести максимальное повторное использование кода и отделение данных от их обработки.

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

Но принципиальная идея фреймворка содержится (на мой взгляд) даже в элементарной функции: Не нужно знать как она работает, передал параметры такие – получил результат такой, передал другие парамаетры, и результат поменялся.

Фреимворк пишут тогда, когда нужно клепать по схеме много чего-то. Потратил три дня на фреймворк, с потом пользуешься. И любые изменения требований решаются небольшими изменениями вводных данных.
Ответ написан
@SashaSkot
Специалист широкого профиля
Фрейморк строиться на правилах языка программирования на котором он написан. Отсюда могут быть разные ограничения и как следствие реализация ряда функционала.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы