Интерпретатор. Понятие и особенности
Интерпрета́ция — пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения)
Алгоритм работы
- прочитать инструкцию;
- проанализировать инструкцию и определить соответствующие действия;
- выполнить соответствующие действия;
- если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.
Достоинства[править | править вики-текст]
- Бо́льшая переносимость интерпретируемых программ — программа будет работать на любой платформе, на которой есть соответствующий интерпретатор.
- Как правило, более совершенные и наглядные средства диагностики ошибок в исходных кодах.
- Меньшие размеры кода по сравнению с машинным кодом, полученным после обычных компиляторов.
Недостатки[править | править вики-текст]
- Интерпретируемая программа не может выполняться отдельно без программы-интерпретатора. Сам интерпретатор при этом может быть очень компактным.
- Интерпретируемая программа выполняется медленнее, поскольку промежуточный анализ исходного кода и планирование его выполнения требуют дополнительного времени в сравнении с непосредственным исполнением машинного кода, в который мог бы быть скомпилирован исходный код.
- Практически отсутствует оптимизация кода, что приводит к дополнительным потерям в скорости работы интерпретируемых программ.
Коллекции в библиотеке классов Microsoft .NET Framework. Общая характеристика
Коллекции в библиотеке классов Microsoft .NET Framework реализованы в пространстве имен System.Collections. Здесь мы можем найти самые различные коллекции объектов — списки, очереди, хэш-таблицы, словари. В этом пространстве имен также определен ряд интерфейсов, задающих базовую функциональность коллекций. На рисунке показаны основные коллекции, реализованные в пространстве имен System.Collections.