Программное обеспечение компьютера
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 и других.