Трансляторы бывают двух видов: интерпретаторы и компиляторы. Оба вида трансляторов выполняют одну и туже операцию, но делают это по-разному.
Интерпретаторы, преобразуя команду, записанную на каком либо языке программирования, в команду на машинном языке, сразу же дают указание машине выполнить ее, не записывая перевод. Так происходят с каждой командой программы. Программа будет выполнена машиной только с наличием интерпретатора, который от строки к строке переводит команды и сразу же их выполняет. Поэтому, когда встанет необходимость опять выполнить данную программу, то сделать это можно будет только имея интерпретатор языка программирования на котором она записана, что не всегда удобно.
Компилятор же не выполняет команды, а просто переводит всю программу на машинный язык и записывает свой перевод в специальную, так называемую, исполнимую программу, программу, записанную в двоичном коде, которую ЭВМ поймет уже без переводчика. Интерпретатор удобно использовать на этапе написания и отладки программы, так как интерпретатор позволяет отслеживать ошибки, допущенные программистом при написании программы, а компилятор используется для преобразования уже готовой, отлаженной, выверенной программы. Компилированная программа будет выполняться быстрее, так как не нужно машине перед выполнением команды осуществлять перевод, а так же, если учесть, что языков программирования на данный момент очень много, как и программистов, причем программисты выбирают для создания программ самые разные языки программирования согласуясь со своими вкусами, возможностями и назначением программы, то можно представить как неудобно было бы пользоваться программами, требующими присутствия интерпретаторов. Каждый пользователь должен был бы иметь большой набор интерпретаторов различных языков.
Языки программирования, вернее редакторы текстов программ для языков программирования, это программы, которые позволяют записывать алгоритмы решения каких-либо задач на том или ином языке программирования. Эти редакторы позволяют не просто записывать текст программы, но обычно имеют встроенный интерпретатор этого языка, систему отслеживания ошибок, возможность формирования библиотеки подпрограмм, возможность формирования собственных пользовательских функций, причем языки программирования позволяют записывать алгоритмы на языках приближенных к обычному человеческому языку, Непосредственно из них можно запускать программы на компиляцию. Кроме того можно работать с блоками текста программ", осуществлять их перенос из одного места программы в другое, копировать программу или ее части в указанное место другой программы, осуществлять контекстный поиск и замену подстрок.
Инструментальные средства, которые называют еще утилитами (от англ. utility - полезность, удобство), включают в себя набор небольших вспомогательных специализированных обслуживающих программ, каждая из которых выполняет какую-либо одну рутинную, но необходимую операцию. В отличие от остальных программ, утилиты могут выполнять, как уже сказано, не много, а только одну операцию по обслуживанию какого либо из устройств компьютера. Например, утилита печати текстов, утилиты восстановления удаленных файлов (программ и текстов хранящихся на внешних носителях информации) или их архивации (сжатия), утилиты ремонта, обслуживания дисков и так далее.
Программы, которые называют еще информационными и вычислительными системами, предназначенные для обработки больших массивов информации различного рода и для расчета больших массивов чисел и которые могут быть "приложены", применены к любому виду человеческой деятельности, составляют группу прикладных программ.
Прикладные программы предназначены для обработки самой разнообразной информации: текстовой, числовой, звуковой, графической. Существуют программы, например, для построения астрологических карт, ведения инвентарной ведомости вин в ресторане, оказания помощи в постановке диагноза заболевания, построения экономических графиков, обучения иностранному языку, обучения программированию, программы для организации досуга и множество других.
Вопреки внешним различиям все программы должны выполнять некоторые общие основополагающие функции. Такие как:
Среди наиболее важных функций прикладных программ можно выделить: обработку текстов; проведение вычислений; организация информации; управление вводом-выводом. Обычно различные функции настолько тесно переплетаются друг с другом, что трудно сказать, где кончается одна и начинается другая. Хотя большинство функций в той или иной степени используется в любой программе, одна из них всегда преобладает. Так, например, вычисления - основа программ обработки финансовых ведомостей, управление вводом-выводом - основа графических и звуковых программ.
Среди прикладных программ, по преобладанию некоторых функций, выделяют:
Текстовые редакторы предназначены для набора, редактирования, запоминания, воспроизведения и распечатки текстов. Такие редакторы называют еще системами обработки текстовой информации. Такие широко распространенные персональные компьютеры как IBM PC, Apple-2 задумывались как конторские машины для обработки текстов. И сейчас большая часть машинного времени используется для обработки именно текстовой информации, для подготовки разнообразных документов: писем, статей, служебных документов (справок, договоров, приказов), отчетов, рекламных материалов и тому подобное.
Программ для обработки текстов существует множество: от программ для подготовки текстов простой структуры до программ для полной подготовки к типографскому изданию книг, журналов. Редакторы текстов документов ориентированы на работу с текстами, имеющими структуру документов, то есть состоящими из разделов, страниц, абзацев, предложений, слов.
Современные текстовые редакторы предоставляют достаточно много возможностей для обработки текстов, это:
Среди текстовых редакторов выделяют группу, предназначенную для создания сложных документов высокого качества (рекламных буклетов, журналов, книг). Эти редакторы получили название издательских систем. Печать документов, подготовленных с помощью издательских систем производится с помощью лазерного принтера или специальных фотонаборных аппаратов. Все издательские системы построены по принципу WYSWYG (What you see w whet you get - что ты видишь, то ты и получишь). Издательские системы имеют больший набор возможностей по сравнению с обычными текстовыми редакторами. Наиболее распространенные текстовые редакторы в России: Lexicon, Multi Edit, WinWord. Издательские системы: Page Maker, Venture Publisher.
Графические редакторы позволяют создавать, редактировать и получать графические изображения в виде жестких копий (на бумаге) и в виде текстов программ, которые можно затем встраивать в другие программы или хранить для дальнейшего редактирования. Графические редакторы позволяют создавать не только статичные, но также движущиеся на экране объекты, создавать анимационные картинки. Графические редакторы имеют такие возможности, как использование различных цветовых оттенков в графическом изображения, использование графических примитивов (окружности, ломанные линии, прямоугольники, многоугольники, закрашенные фигуры) для построения рисунков, использование различных инструментов: кистей разнообразной формы, ластика, аэрографа, микроскопа или лупы для прорисовки каких либо тонких деталей изображения, имеется также возможность работать с выделенными частями рисунка: удалять, копировать, переносить, встраивать готовые изображения из библиотеки графических образов и так далее. Существуют графические редакторы как для создания двумерных, так и для создания трехмерных изображений. Примером графических редакторов наиболее распространенных в России можно назвать: Autodesk Animator, Corel Drаw, Paintbrash, PictureMaker, TruеSpacе и др.
Электронные таблицы выполняют роль очень удобного калькулятора, способного с большой скоростью и гибкостью манипулировать числами и формулами, причем все данные и результаты расчетов можно просмотреть на экране. Электронные таблицы построены по. образу и подобию финансовых ведомостей, с которыми обычно работают бухгалтеры: она состоит из строк и столбцов, образующих сотни и даже тысячи клеток. Стоит только в какую- либо из клеток ввести наименования, числа и формулы, как практически мгновенно компьютер вычислит и покажет полученный результат. Электронные таблицы могут выполнить различные функции, которые обеспечивают очень удобный интерфейс пользователю. Это, например, следующие возможности:
Примером электронных таблиц широко использующихся в настоящий момент в России являются таблицы Lotus 1-2-3, SuperCalk, Excel.