Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программы, интерпретаторы и конверторы






Программа представляет собой набор инструкций, которые предписывают компьютеру выполнить различные действия; иногда действие, которое нужно выполнить, зависит от того, что случилось в результате выполнения предыдущей операции. Этот раздел дает вам обзор двух основных способов, которыми вы можете выдавать инструциии, или " команды", как их обычно называть. В одном способе используется интерпретатор, а в другом компилятор. Так как человеческие языки слишком трудны для недвусмысленного понимания компьютером, команды обычно записываются на одном из специально разработанных языке программирования.

В случае использования интерпретатора язык представляет собой оболочку, в которой мы набираем команды, а оболочка их выполняет. Для более сложных программ мы можем набрать команды в файле и заставить интерпретатор загрузить его, подчиняясь командам. Если что-то происходит не так, интерпретатор передает управление отладчику, с помощью которого мы решаем возникшую проблему.

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

По моему мнению, использование интерпретационных языков являются хорошим началом, если ранее мы не занимались программированием. Такой способ работы обычно используется с языками типа Lisp, Smalltalk, Perl и Basic. Можно также отметить, что оболочка Unix является интерпретатором, и многие люди пишут " скрипты" для оболочек для облегчения выполнения различных " доморощенных" задач на своих машинах. На самом деле, частью философии Unix было предоставление множества маленьких вспомогательных программ, которые можно связать вместе в скриптах для выполнения полезных действий.

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

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

В число компиляционных языков входят Pascal, C и C++. C и C++ являются непрощающими ошибки языками, и больше подходят для опытных программистов; Pascal, с другой стороны, разрабатывался как язык для обучения, и хорош для начала. К сожалению, во FreeBSD язык Pascal не поддерживается, если не считать конвертера Pascal-в-C в портах.

Так как цикл редактирование-компиляция-запуск-отладка неудобен при использовании отдельных программ, многие производители коммерческих компиляторов предлагают интегрированные среды разработки (сокращенно IDE - Integrated Development Environment). Во FreeBSD нет IDE такого рода; однако для этих целей возможно использование редактора Emacs.

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

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.