Читайте также:
|
|
Реальная программа, которую выполняет компьютер, представляет собой последовательность единиц и нулей. Такую последовательность называют машинным языком. Но человек не способен эффективно думать единицами и нулями. Для нас легче воспринимается осмысленный текст, а не сумасшедшие числа в двоичной системе измерения, с которой мы не привыкли работать. Например, команда складывания двух регистров выглядит так: #03C3. Это мало о чём говорит, и запомнить такую команду очень тяжело. На много проще написать «сложить число 1+ число 2». Первое время программисты писали в машинных кодах, пока кому-то не пришла в голову идея: «Почему бы не писать текст программы на понятном языке, а потом заставлять компьютер переводить этот текст в машинный код?». Идея действительно заслуживала внимания. Так появился первый компилятор – программа, которая переводила текст программ в машинный код. А язык, на котором писался текст программы, назвали языком программирования. Эту программу назвали Assembler, что переводится, как "сборщик". Писать на нем практически так же, как и в машинных кодах, только теперь уже использовались не числа, а понятные человеку слова. Например, все та же команда копирования регистров теперь выглядела так: "mov eax, ebx". То есть цифры заменились на понятные слова. Вроде все прекрасно и удобно, но почему-то среди программистов возникли споры и разногласия. Кто-то воспринял новый метод с удовольствием. А кто-то говорил, что машинные коды лучше. Любители языка Assembler хвалили компилятор за то, что программировать стало проще и быстрее, а противники утверждали, что программа, написанная в кодах, работает быстрей. Говорят, что эти споры доходили до драк и иногда лучшие друзья становились врагами. А в принципе, и те и другие были правы. На языке Assembler действительно программу писать легче и быстрей, а в машинных кодах программа работала быстрее. Тогда никто не мог себе представить, чем же все может закончиться. Но время показало свое. С помощью Assembler программы писались быстрее, а это один из основных факторов успеха любой программы на рынке. Люди начинают пользоваться тем продуктом, который выходит на рынок первым. Даже если более поздний вариант лучше, человека трудно переубедить перейти на другую версию. Вот так и получилось, что те, кто программировал на языке Assembler превратились в убегающих вперед, а те, кто программировал в машинных кодах превратился в вечно догоняющих. В конце концов, первые убежали на столько, что вторые не смогли догнать, и вынуждены были или перейти на Assembler или отойти от программирования на совсем. Вот тут начался бум. Языки программирования стали появляться один за другим. Так появились С, ADA, FoxPro, Fortran, Basic, Pascal и другие. Некоторые из них были предназначены только для детей, а некоторые и для профессиональных программистов. И тут споры перенеслись в другую плоскость - какой язык лучше. И этот спор длится уже много лет и конца ему не видно. Некоторые говорили, что это Pascal, другие утверждали что С, ну а кое-кто утверждал что это Visual Basic. Язык низкого уровня это тот, который наиболее приближен к командам процессора, то есть Assembler. К языкам высокого уровня относят С, Pascal, Basic и др.
Следующей ступенью стало объектно-ориентированное программирование. Язык С превратился в С++, Pascal превратился в Object Pascal и т.д. В ООП программа рассматривается как совокупность связанных между собой объектов и действий над ними. Объект можно определить как некоторую часть окружающего мира, рассматриваемую человеком как единое целое. Объекты обладают свойствами, которые строго закреплены за данным объектом. Их набор характеризует состояние объекта. Изменение состояния объекта происходит в результате какого-либо события. Событие — это распознаваемое объектом действие, для которого можно запрограммировать отклик. Visual Basic является языком визуального программирования. Разработчик может до написания программы, т.е. на этапе проектирования создать интерфейс, настроить размеры, местоположение и внешний вид объектов. Процесс создания приложений включает в себя 2 этапа:
· разработка пользовательского интерфейса,
· написание программ обработки событий.
Процесс управления приложением в VB является гибким, интерактивным. После запуска у пользователя нет строго заданной инструкции, он может щелкнуть по любой кнопке, открыть любую команду, ввести текст в окно, выбрать значение из списка и т.д. Таким образом для выполнения программного кода всегда необходима последовательность событий и реакций на использование со стороны программы. Поэтому язык VB называют языком управления событиями.
II. Трансляторы: компиляторы и интерпретаторы
Всякая программа должна выполнять какую-то задачу. Можно даже запрограммировать и будильник, для того чтобы он в нужное время подал сигнал. Стиральную машину тоже программируют, чтобы она в нужное время прекратила стирку и начала полоскание белья, а потом его отжим. Программистам всё равно, чем управлять. Разница состоит в том, что для каждой задачи нужен свой набор команд (операторов). Список команд - важная часть языка программирования, но это ещё не весь язык программирования. Кроме списка команд в нём должны быть определены правила их использования. В программировании есть традиции использовать буквы, символы и слова английского языка. Это не значит, что не существует российских языков программирования, но они плохо приживаются, и вовсе не потому, что русский язык меньше подходит для программирования, чем английский. Для того, чтобы программа заработала, нужен обязательно компилятор. Дело в том, что процессор компьютера не понимает ни русских, ни английских и никаких других букв. Он понимает только сигналы, которые записываются цифрами. Надо обязательно перевести слова языка программирования в цифровой код, который понимает процессор. Вручную это сделать очень трудно, и такой перевод поручают самому компьютеру. Для этого служат специальные программы, которые и называют трансляторами (переводчиками).
Составить набор операторов для определённого языка программирования – дело нетрудное. Придумать правила их записи вместе с параметрами – тоже несложно. А вот сделать транслятор – задача неимоверной сложности. Самый первый язык программирования назывался Fortran (фортран). Его первая версия появилась ещё в 1958 году. Набор операторов и правила синтаксиса для него разработала группа программистов всего за несколько недель. А вот разработка транслятора заняла несколько лет и стоила десятки, если не сотни миллионов долларов.
Существует два вида трансляторов – компиляторы и интерпретаторы. Для объяснения различия между этими понятиями можно предложить такую аналогию: представьте себе, что иностранный лектор должен выступить перед аудиторией на незнакомом для слушателей языке. Требуется перевод, который можно охарактеризовать двумя способами:
1. полный предварительный перевод: лектор заранее передаёт текст выступления переводчику, тот записывает перевод, размножает его и раздаёт слушателям (после этого лектор может уже и не выступать).
2. синхронный перевод: лектор читает доклад, переводчик одновременно с ним, слово за слово, переводит выступление.
Компилятор работает по принципу полного предварительного перевода, а интерпретатор – аналог синхронного перевода. При компиляции в память ЭВМ загружается программа-компилятор. Она воспринимает текст программы на языке программирования высокого уровня как исходную информацию. Компилятор производит синтаксический контроль программы и при обнаружении ошибок выводит диагностические сообщения. Если ошибок нет, то результатом компиляции является программа на языке машинных команд. Затем компилятор удаляется из оперативной памяти. В памяти остаётся только программа на языке машинных команд, которая выполняется для получения результатов.
Интерпретатор в течение всего времени работы программы находится во внутренней памяти. Интерпретатор «читает» её первый оператор, переводит его в машинные команды и тут же организует выполнение этих команд. Затем переходит к переводу и выполнению следующего оператора и так до конца программы. При этом результаты предыдущих переводов не сохраняются. При повторном выполнении одного и того же оператора в цикле, он снова будет транслироваться. Таким образом, при компиляции трансляция и исполнение программы идут последовательно друг за другом. При интерпретации – параллельно. Один раз откомпилированная программа может быть сохранена во внешней памяти и затем многократно выполняться. На компиляцию машинное время тратиться больше не будет. программа на интерпретируемом языке при каждом выполнении подвергается повторной трансляции. Кроме того, интерпретатор может занимать значительное место в оперативной памяти. Из-за указанных причин использование компиляторов удобнее для больших программ, требующих быстрого счёта и большого объёма памяти. Программы на Паскале, Си, Фортране всегда компилируются. Язык Бейсик часто реализуется через интерпретатор.
Дата добавления: 2014-12-15; просмотров: 124 | Поможем написать вашу работу | Нарушение авторских прав |