Basic Pascal Tutorial/Compilers/ru: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Basic Pascal Tutorial/Compilers/ru
| Old | New | Line | |
|---|---|---|---|
| 1 | + | <font size="5">Компиляторы Pascal</font> | |
| 2 | + | ||
| 3 | + | Pascal Compilers (author: Tao Yue, state: *changed*) | |
| 4 | + | ||
| 5 | + | Этот документ даст базовую информацию о компиляторах, а также предоставит ссылки на известные компиляторы Pascal и объяснит, как установить Free Pascal. | |
| 6 | + | ||
| 7 | + | ### О компьютерных языках и компиляторах | |
| 8 | + | ||
| 9 | + | Когда говорят о компьютерных языках, обычно используется три основных термина: | |
| 10 | + | ||
| 11 | + | 1. **Машинный язык** -- фактический бинарный код, который даёт основные инструкции центральному процессору (CPU) компьютера. Обычно это очень простые команды, такие, как сложение двух чисел или перемещение данных из одной области памяти в другую. | |
| 12 | + | 2. **Язык ассемблера** -- способ для людей программировать компьютеры напрямую без запоминания строк двоичных чисел. Существует однозначное соответствие с машинным кодом. Например, в машинном языке Intel x86 **ADD** и **MOV** - мнемоники для операций сложения и перемещения. | |
| 13 | + | 3. **Язык высокого уровня** -- позволяет людям писать сложные программы без расписывания каждого шага. Языками высокого уровня являются Pascal, C, C++, FORTRAN, Java, Visual Basic, C#, Java и многие другие. Одна команда в языке высокого уровня, вроде записи строки в файл, может транслироваться в десятки и даже сотни инструкций машинного языка. | |
| 14 | + | ||
| 15 | + | Микропроцессоры напрямую могут выполнять только программы на машинном языке. Программы на языке ассемблера собираются, или транслируются, в машинный язык. Точно так-же, программы, написанные на языках высокого уровня, таких, как Pascal, тоже должны быть переведены в машинный язык перед тем, как они могут быть выполнены. Выполнение этого перевода и есть компиляция программы. | |
| 16 | + | ||
| 17 | + | Программа, которая выполняет перевод (транслирует), называется **компилятор**. Это достаточно сложная программа, поскольку не только создаёт инструкции на машинном языке из строк кода, но часто ещё и оптимизирует код для более быстрого выполнения, добавляет код обработки ошибок и связывает код с подпрограммами, хранящимися в другом месте. Например, когда вы говорите компьютеру, чтобы он напечатал что-нибудь на экране, компилятор транслирует это в обращение к ранее написанному модулю. Ваш код потом должен быть связан с кодом, который предоставляет производитель компилятора, прежде чем получится исполняемая программа. | |
| 18 | + | ||
| 19 | + | С языками высокого уровня есть опять три основных термина для запоминания: | |
| 20 | + | ||
| 21 | + | 1. **Исходный код** -- код, который вы пишете. Обычно файлы исходного кода имеют расширение, указывающее на используемый язык. Например, файлы исходного кода Pascal обычно заканчиваются **.pas**, а C++ - **.cpp** | |
| 22 | + | 2. **Объектный код** -- результат компиляции. Объектный код обычно включет только один модуль программы и пока не может быть выполнен, поскольку ещё не завершён. В системах DOS/Windows такие файлы обычно имеют расширение **.obj** | |
| 23 | + | 3. **Исполняемый код** -- конечный результат. Все модули объектного кода, необходимые для функционирования программы, связаны вместе. В системах DOS/Windows такие файлы обычно имеют расширение **.exe** | |
| 24 | + | ||
| 25 | + | ### Ещё о компиляторах | |
| 26 | + | ||
| 27 | + | Стандартом де-факто для компиляторов Pascal под DOS и Windows является Borland Pascal. До того, как он вышел, большинство компиляторов Pascal были медленными и неповоротливыми, не соответствовали стандарту Pascal и стоили несколько сотен долларов. В 1984 году Borland представила Turbo Pascal, который продавался менее, чем за 100 долларов, компилировал на порядок быстрее существующих компиляторов и шёл с большим количеством исходного кода и утилит. | |
| 28 | + | ||
| 29 | + | Этот продукт был огромным успехом и был выдающимся в течении почти десятилетия. Но в 1990-х годах мир двигался в сторону Windows. В 1993 году вышла последняя, 7-я, версия Turbo Pascal для DOS. После этого спрос на DOS-программы резко упал и Borland (краткое время также известная как Inprise), направила свои усилия на выпуск сред разработки (IDE) и компиляторов для Windows (например, Delphi). Позже Borland продала свои компиляторы Embarcadero, которая продолжает регулярно обновлять Delphi. | |
| 30 | + | ||
| 31 | + | Этот учебник будет иметь дело только с программированием консольных приложений, где компьютер печатает строки данных на экран, а пользователь взаимодействует с программой с помощью клавиатуры. Цель учебника - научить, как программировать на Pascal. Изучив это, вы легко сможете посмотреть в справочнике или другой web-странице, и выбрать графическую или оконную систему по своему вкусу. | |
| 32 | + | ||
| 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 | + | ||
| 35 | + | ### Компиляторы с открытым исходным кодом | |
| 36 | + | ||
| 37 | + | Два основных проекта компиляторов с открытым исходным кодом: | |
| 38 | + | ||
| 39 | + | - [GNU Pascal](http://www.gnu-pascal.de) | |
| 40 | + | - [Free Pascal](http://www.freepascal.org) | |
| 41 | + | ||
| 42 | + | Free Pascal обычно считается более дружественным для новичков и он во многом старается эмулировать Borland Pascal, но оба хорошо послужат для обучения Pascal. | |
| 43 | + | ||
| 44 | + | Поскольку большинство пользователей этого учебника будут работать под Windows, ниже дана краткая инструкция, как установить Free Pascal и дойти до места, где вы сможете откомпилировать программу в современной операционной системе Windows: | |
| 45 | + | ||
| 46 | + | 1. Загрузите Win32-инсталлятор для Free Pascal с [Free Pascal download page](http://www.freepascal.org/download.var). | |
| 47 | + | 2. Запустите файл, который вы только что скачали, и пройдите через мастер установки Free Pascal. | |
| 48 | + | 3. Запустите Free Pascal, используя ярлык (по умолчанию он находится в Пуск -\> Free Pascal). | |
| 49 | + | 4. Наберите текст программы (см. программу "Hello, world." в [[Basic Pascal Tutorial/Hello, World/ru|следующем уроке]]). | |
| 50 | + | 5. Сохраните файл с помощью **File-Save As ...** | |
| 51 | + | 6. Запустите программу из меню **Run**. Это автоматически откомпилирует вашу программу, если вы внесли какие-либо изменения, а потом запустит программу. Это также запустит вашу программу без компиляции, если вы не вносили никаких изменений после предыдущей компиляции. | |
| 52 | + | ||
| 53 | + | С программами, которые не ожидают ввода от пользователя, вы увидите, как промелькнёт программа на чёрном экране. Но программа завершится в мгновение ока и вы вернётесь в среду разработки, не увидев результатов своей работы. Есть два способа обойти это: | |
| 54 | + | ||
| 55 | + | - Выберите **User screen** из меню **Debug**, чтобы увидеть результат работы программы. | |
| 56 | + | - Добавляйте вызов **ReadLn** в конце каждой программы. Это заставит программу ждать нажатия пользователем клавиши **Enter** перед завершением программы и возвратом в IDE. | |
| 57 | + | ||
| 58 | + | <figure> | |
| 59 | + | <img src="Userscreen.png" title="Userscreen.png" /> | |
| 60 | + | <figcaption>Userscreen.png</figcaption> | |
| 61 | + | </figure> | |
| 62 | + | ||
| 63 | + | Обратите внимание, что файл **.exe** был создан в том-же каталоге, где вы сохранили свою программу. Это исполняемый файл. Вы можете пойти в Командную строку, сменить каталог и напрямую запустить этот исполняемый файл. Вы также можете сделать на нём двойной клик в Windows Explorer (программа по-прежнему быстро промелькнёт, если завершается без запроса ввода со стороны пользователя). | |
| 64 | + | ||
| 65 | + | ### См. также | |
| 66 | + | ||
| 67 | + | - [[Control Pascal Tutorial]] - простой способ начать без небходимости инсталляции | |
| 68 | + | - [[How to start]] - другой способ начать с инсталляцией | |
| 69 | + | ||
| 70 | + | --- | |
| 71 | + | *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).* |
