Книга: Искусство программирования для Unix
14.3. Интерпретируемые языки и смешанные стратегии
14.3. Интерпретируемые языки и смешанные стратегии
Языки с автоматическим управлением памятью осуществляют его с помощью диспетчера памяти, встроенного в их динамически исполняемые модули. Как правило, среды выполнения в таких языках разделены на программную часть (собственно выполняющийся сценарий) и часть интерпретатора с управляемой им динамической памятью. В Unix-системах (а также в других современных операционных системах) память интерпретатора может совместно использоваться несколькими программными частями, что сокращает фактические издержки для каждой из них.
Использование сценариев — нисколько не новая идея в мире Unix. В 1970-х годах, в эпоху гораздо меньших машин, Unix shell (интерпретатор для команд, вводимых в Unix-консоль) был спроектирован как полностью интерпретируемый язык программирования. Даже тогда было распространено написание программ полностью на shell или использование shell для написания связующей логики, объединяющей встроенные утилиты и нестандартные программы на С в целостные системы, эффективность которых была больше, чем сумма эффективности составляющих частей. В классических вводных книгах по Unix-среде (таких как "The Unix Programming Environment" [39]) подробно рассматривается данная тактика, и это вполне обосновано: она была одной из важнейших нововведений операционной системы Unix.
В современном shell-программировании языки свободно смешиваются, для решения подзадач задействуются как бинарные, так и интерпретируемые элементы из почти десятка других языков. Каждый язык решает ту задачу, к которой он приспособлен лучше остальных, каждый компонент является модулем с узкими интерфейсами для связи с другими модулями, а глобальная сложность системы в целом гораздо ниже, чем в случае ее реализации в виде одного массивного монолита на универсальном языке программирования.
- 14 Языки программирования: С или не С?
- 8.2. Языки программирования Виды программирований
- Выбор стратегии ценообразования
- Глава 3 Центральные и периферийные когнитивные стратегии
- 3.1. Стратегии интернет-продвижения вашего проекта
- Глава 2 Выбор стратегии интернет-маркетинга
- Часть четвертая Стратегии защиты от Главной Ошибки
- Стратегии
- Проблема с переключением языков. Значок есть, но не работает. Если через Панель управления удалить все языки и тут же сн...
- 5. Стратегия без игры (выигрывающие стратегии)
- Вводящие в заблуждение заявления и прочие стратегии использования посланий
- Уроки из опыта реализации двойственной стратегии