3.
Системы программирования
Теория
Системы программирования — это программы для создания новых программ и их отладки.
Что входит в состав?
- Транслятор (программа, которая переводит в машинные коды программы, записанные на языке высокого уровня).
- Компоновщик (программа-сборщик, собирает программы, модули, функции в один исполняемый файл).
- Отладчик (программа, которая ищет ошибки на каждом шаге разработчика программ, меняет значения переменных в памяти).
- Профилировщик (программа, которая выясняет, какую часть кода нужно оптимизировать, оценивает время выполнения программы).
Разберём подробнее понятие «транслятор» и какие они бывают.
Используется два вида трансляторов — интерпретаторы и компиляторы.
Интерпретаторы проводят анализ текста программы построчно и после нажатия Enter (переход к новой строке) сообщают об ошибке. Это огромное достоинство интерпретаторов, так как программисту не нужно пытаться найти ошибку во всём тексте программы. Минус — программы выполняются медленнее.
Компиляторы переводят всю написанную программу полностью. Плюс — быстрее скорость выполнения, минус — в случае ошибки приходится находить проблему вручную.
Программы разрабатывают на языках программирования.
Язык программирования — формальный язык, который предназначен для разработки программ.
Первые языки программирования были машинно-ориентированные, после создания языков высокого уровня их стали делить по области применения.
Классификация языков программирования
| Языки для обучения программированию | Pascal, Logo, Python, КуМир, Ruby |
| Языки для написания интернет-сайтов | PHP, JavaScript, Python |
| Профессиональные языки | Java, C, C\(++\), C#, Kotlin, Go |
Любая система программирования имеет ряд динамически подключаемых библиотек. Разберём использование модулей, входящих в библиотеки двух самых распространённых языков программирования: PascalABC и Python.
Динамически подключаемые библиотеки — неотъемлемая часть систем программирования, обеспечивающая модульность кода.
Вот только некоторые примеры для двух популярных языков программирования.
PascalABC.NET включает:
- crt — для консольного ввода‑вывода и управления текстовым окном;
- GraphABC — для построения графических примитивов и создания простых графических приложений.
Python предлагает:
- random — для генерации псевдослучайных чисел;
- datetime — для работы с датами и временем;
- os — для взаимодействия с файловой системой;
- time — для установки задержек и замера времени выполнения кода;
- math — для использования математических функций: sqrt, abs, sin, cos и других.