Языки программирования

Работой компьютера в любой момент времени руководит программа. Программировать работу компьютера - значит создать эту программу. Для этого надо точно описать то, что программа должна делать. Выходом должна являться программа на машинном языке. Процесс программирования подразу­мевает формулировку цели программы, анализ содержания задачи, придумывание алгоритма решения, написание программы на каком-то языке программирования, отладку программы и обеспечение функционирования программы в рабочем режиме.

Концепция программирования на языке программирования потребовала специализированной программы – посредника между текстом программы на языке программирования и программой на машинном языке (программным кодом). Такая программа посредник называется компилятором или транслятором, а процесс преобразо­вания текста в машинную программу называется компиляцией или трансляцией. Попутно при компиляции на компилятор можно возложить выявление неко­торых ошибок при записи программы, нарушающих соглашения по записи. Такие ошибки называются синтаксическими.

Сейчас никто не пишет полный текст программы вплоть до отдельных деталей. В мире уже имеется огромное коли­чество написанных программ. Наиболее типичные и употребитель­ные программы образуют библи­о­теки стандартных подпрограмм. При написании программы использование стандартной подпрограммы инициируется оператором вызова подпрограммы. При компиляции программы получается программный код, который не содержит стандартных подпрограмм, а содержит только их имена (ссылки). Чтобы отличить такой промежуточный продукт от работоспособной программы, он обозначается файлом с расширением .obj (от слова object), в то время как выполняемый программный код получает расширение .exe (от слова execute). Соответственно компиляцией называется преобразование текста программы в obj-файл, в то время как образование exe‑файла путем сборки кода из нескольких фрагментов называется редактированием связей («линков­кой» на жаргоне программистов, от слова Link).

Языки програ­м­мирования делятся на специализированные и универсальные. Специали­зи­рованные языки (например, языки управления базами данных) используются для решения узкого класса задач. На универсальном языке можно запрограммировать любую задачу. Универ­сальные условно делятся на простые и сложные. Простые имеют ограничен­ный набор средств и за счет этого проще в изучении и дают экономичный код (то есть откомпилированная программа занимает меньше места в памяти и быстрее выполняется). Сложные языки имеют большее разнообразие синтаксичес­ких конструкций и зачастую сильно упрощают программирование, но сложны в изучении и дают менее экономичный код. Наиболее употребительными простыми языками являются PASCAL , C (более сложная версия - C++) и BASIC. Более сложные языки программирования – PL/1, ADA, MODULA-2.

Другое деление языков программирования – деление на императивные и декларативные языки. Императивные позволяют формулировать алгоритм в форме схемы отдель­ных операций (согласно приведенному в начале курса определению алгоритма). Декларативные языки позволяют формулировать цель программы, по которой алгоритм решения и программный код строятся автоматически. Естественно, применение таких языков ограничено. В качестве примера декларативных языков можно привести языки PROLOG и PLANNER.