Basic Pascal Tutorial/Compilers/ru: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | - | ||
| 1 | + | Компиляторы Pascal | |
| 2 | 2 | ||
| 3 | 3 | Pascal Compilers (author: Tao Yue, state: *changed*) | |
| 4 | 4 | ||
| 5 | 5 | Этот документ даст базовую информацию о компиляторах, а также предоставит ссылки на известные компиляторы Pascal и объяснит, как установить Free Pascal. | |
| 6 | 6 | ||
| 7 | 7 | ### О компьютерных языках и компиляторах | |
| 8 | 8 | ||
| 9 | 9 | Когда говорят о компьютерных языках, обычно используется три основных термина: | |
| 10 | 10 | ||
| 11 | 11 | 1. **Машинный язык** -- фактический бинарный код, который даёт основные инструкции центральному процессору (CPU) компьютера. Обычно это очень простые команды, такие, как сложение двух чисел или перемещение данных из одной области памяти в другую. | |
| 12 | 12 | 2. **Язык ассемблера** -- способ для людей программировать компьютеры напрямую без запоминания строк двоичных чисел. Существует однозначное соответствие с машинным кодом. Например, в машинном языке Intel x86 **ADD** и **MOV** - мнемоники для операций сложения и перемещения. | |
| 13 | 13 | 3. **Язык высокого уровня** -- позволяет людям писать сложные программы без расписывания каждого шага. Языками высокого уровня являются Pascal, C, C++, FORTRAN, Java, Visual Basic, C#, Java и многие другие. Одна команда в языке высокого уровня, вроде записи строки в файл, может транслироваться в десятки и даже сотни инструкций машинного языка. | |
| 14 | 14 | ||
| 15 | 15 | Микропроцессоры напрямую могут выполнять только программы на машинном языке. Программы на языке ассемблера собираются, или транслируются, в машинный язык. Точно так-же, программы, написанные на языках высокого уровня, таких, как Pascal, тоже должны быть переведены в машинный язык перед тем, как они могут быть выполнены. Выполнение этого перевода и есть компиляция программы. | |
| 16 | 16 | ||
| 17 | 17 | Программа, которая выполняет перевод (транслирует), называется **компилятор**. Это достаточно сложная программа, поскольку не только создаёт инструкции на машинном языке из строк кода, но часто ещё и оптимизирует код для более быстрого выполнения, добавляет код обработки ошибок и связывает код с подпрограммами, хранящимися в другом месте. Например, когда вы говорите компьютеру, чтобы он напечатал что-нибудь на экране, компилятор транслирует это в обращение к ранее написанному модулю. Ваш код потом должен быть связан с кодом, который предоставляет производитель компилятора, прежде чем получится исполняемая программа. | |
| 18 | 18 | ||
| 19 | 19 | С языками высокого уровня есть опять три основных термина для запоминания: | |
| 20 | 20 | ||
| 21 | 21 | 1. **Исходный код** -- код, который вы пишете. Обычно файлы исходного кода имеют расширение, указывающее на используемый язык. Например, файлы исходного кода Pascal обычно заканчиваются **.pas**, а C++ - **.cpp** | |
| 22 | 22 | 2. **Объектный код** -- результат компиляции. Объектный код обычно включет только один модуль программы и пока не может быть выполнен, поскольку ещё не завершён. В системах DOS/Windows такие файлы обычно имеют расширение **.obj** | |
| 23 | 23 | 3. **Исполняемый код** -- конечный результат. Все модули объектного кода, необходимые для функционирования программы, связаны вместе. В системах DOS/Windows такие файлы обычно имеют расширение **.exe** | |
| 24 | 24 | ||
| 25 | 25 | ### Ещё о компиляторах | |
| 26 | 26 | ||
| 27 | 27 | Стандартом де-факто для компиляторов Pascal под DOS и Windows является Borland Pascal. До того, как он вышел, большинство компиляторов Pascal были медленными и неповоротливыми, не соответствовали стандарту Pascal и стоили несколько сотен долларов. В 1984 году Borland представила Turbo Pascal, который продавался менее, чем за 100 долларов, компилировал на порядок быстрее существующих компиляторов и шёл с большим количеством исходного кода и утилит. | |
| 28 | 28 | ||
| 29 | 29 | Этот продукт был огромным успехом и был выдающимся в течении почти десятилетия. Но в 1990-х годах мир двигался в сторону Windows. В 1993 году вышла последняя, 7-я, версия Turbo Pascal для DOS. После этого спрос на DOS-программы резко упал и Borland (краткое время также известная как Inprise), направила свои усилия на выпуск сред разработки (IDE) и компиляторов для Windows (например, Delphi). Позже Borland продала свои компиляторы Embarcadero, которая продолжает регулярно обновлять Delphi. | |
| 30 | 30 | ||
| 31 | 31 | Этот учебник будет иметь дело только с программированием консольных приложений, где компьютер печатает строки данных на экран, а пользователь взаимодействует с программой с помощью клавиатуры. Цель учебника - научить, как программировать на Pascal. Изучив это, вы легко сможете посмотреть в справочнике или другой web-странице, и выбрать графическую или оконную систему по своему вкусу. | |
| 32 | 32 | ||
| 33 | 33 | Хотя старые коммерческие компиляторы Pascal часто доступны для скачивания (например, Turbo Pascal 5.5 - здесь: [Borland Museum](http://dn.codegear.com/museum/), а Symantec Think Pascal (Macintosh) - здесь: [Free Pascal Compiler List](http://www.thefreecountry.com/compilers/pascal.shtml)), компьютеры с 1980-х и начала 1990-х годов ушли далеко вперёд. Мы больше не связаны именами файлов формата 8.3 в DOS или невытесняющей многозадачностью в Mac OS. Использование старого компилятора - это удовольствие в том-же смысле, что и запуск старой игры на эмуляторе. Но Движение за открытые исходные коды ([Open-source movement](https://en.wikipedia.org/wiki/Open-source_movement)) создаёт хорошие компиляторы для современных операционных систем и новичкам будет гораздо легче использовать их. | |
| 34 | 34 | ||
| 35 | 35 | ### Компиляторы с открытым исходным кодом | |
| 36 | 36 | ||
| 37 | 37 | Два основных проекта компиляторов с открытым исходным кодом: | |
| 38 | 38 | ||
| 39 | 39 | - [GNU Pascal](http://www.gnu-pascal.de) | |
| 40 | 40 | - [Free Pascal](http://www.freepascal.org) | |
| 41 | 41 | ||
| 42 | 42 | Free Pascal обычно считается более дружественным для новичков и он во многом старается эмулировать Borland Pascal, но оба хорошо послужат для обучения Pascal. | |
| 43 | 43 | ||
| 44 | 44 | Поскольку большинство пользователей этого учебника будут работать под Windows, ниже дана краткая инструкция, как установить Free Pascal и дойти до места, где вы сможете откомпилировать программу в современной операционной системе Windows: | |
| 45 | 45 | ||
| 46 | 46 | 1. Загрузите Win32-инсталлятор для Free Pascal с [Free Pascal download page](http://www.freepascal.org/download.var). | |
| 47 | 47 | 2. Запустите файл, который вы только что скачали, и пройдите через мастер установки Free Pascal. | |
| 48 | 48 | 3. Запустите Free Pascal, используя ярлык (по умолчанию он находится в Пуск -\> Free Pascal). | |
| 49 | 49 | 4. Наберите текст программы (см. программу "Hello, world." в [[Basic Pascal Tutorial/Hello, World/ru|следующем уроке]]). | |
| 50 | 50 | 5. Сохраните файл с помощью **File-Save As ...** | |
| 51 | 51 | 6. Запустите программу из меню **Run**. Это автоматически откомпилирует вашу программу, если вы внесли какие-либо изменения, а потом запустит программу. Это также запустит вашу программу без компиляции, если вы не вносили никаких изменений после предыдущей компиляции. | |
| 52 | 52 | ||
| 53 | 53 | С программами, которые не ожидают ввода от пользователя, вы увидите, как промелькнёт программа на чёрном экране. Но программа завершится в мгновение ока и вы вернётесь в среду разработки, не увидев результатов своей работы. Есть два способа обойти это: | |
| 54 | 54 | ||
| 55 | 55 | - Выберите **User screen** из меню **Debug**, чтобы увидеть результат работы программы. | |
| 56 | 56 | - Добавляйте вызов **ReadLn** в конце каждой программы. Это заставит программу ждать нажатия пользователем клавиши **Enter** перед завершением программы и возвратом в IDE. | |
| 57 | 57 | ||
| 58 | - | ||
| 59 | - | ||
| 60 | - | ||
| 61 | - | ||
| 58 | + |  | |
| 62 | 59 | ||
| 63 | 60 | Обратите внимание, что файл **.exe** был создан в том-же каталоге, где вы сохранили свою программу. Это исполняемый файл. Вы можете пойти в Командную строку, сменить каталог и напрямую запустить этот исполняемый файл. Вы также можете сделать на нём двойной клик в Windows Explorer (программа по-прежнему быстро промелькнёт, если завершается без запроса ввода со стороны пользователя). | |
| 64 | 61 | ||
| 65 | 62 | ### См. также | |
| 66 | 63 | ||
| 67 | 64 | - [[Control Pascal Tutorial]] - простой способ начать без небходимости инсталляции | |
| 68 | 65 | - [[How to start]] - другой способ начать с инсталляцией | |
| 69 | 66 | ||
| 70 | 67 | --- | |
| 71 | 68 | *From the Free Pascal wiki, page "Basic Pascal Tutorial/Compilers/ru", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
