Стили и методы программирования
4cab9ef0

Сравнение программ на разных языках


Начнем с рассмотрения примера. Всем данным текстам программ при исполнении соответствует действие, состоящее в распечатке строки "Прювет Волку!".

/*Язык C.*/ #include <stdio.h> int main(void) {printf("Прювет Волку!"); return 0;}

Пример 1.1.

//Java public class HelloWorld { public static void main ( String[] args) { System.out.println( "Прювет Волку!"); }}

Пример 1.2.

(*Паскаль*) program First (Output); begin writeln('Прювет Волку!') end.

Пример 1.3.

comment Algol 68 comment begin println('Прювет Волку!') end коммент Русский Алгол 68 коммент начало печатать('Прювет Волку!') конец comment Еще два представления comment (println('Прювет Волку!')) (печатать('Прювет Волку!'))

Пример 1.4.

Лисп (режим исполнения файла программы): ( Print "Прювет Волку!" )

Пример 1.5.

Лисп (диалоговый режим): [1]> (progn (setq x "Прювет Волку!" ) x)

Пример 1.6.

Рефал $ENTRY GO{=<Prout 'Прювет Волку!'>;}

Пример 1.7.

Prolog :-Print('Прювет Волку!').

Пример 1.8.

Сравним все эти программы. Что в них общего?

  1. Все они представлены в виде текстов: последовательностей символов, размещенных на нескольких строчках.
  2. В каждом языке имеется понятие строки (последовательности символов нефиксированной длины). Строки оформляются во всех языках примерно одинаково: с использованием кавычек как обрамляющих символов. Правда, вид кавычек меняется от языка к языку.
  3. Каждая из этих программ имеет конструкцию, выполнение которой приводит к распечатке строки.
  4. Все они при их выполнении делают одно и то же: печатают строку "Прювет Волку!".

В чем же их отличия? В записи, а также в правилах построения. Таким образом, напрашивается вывод, что, освоив один язык программирования, можно понимать тексты программ на большинстве других языков практически так же легко, как образованный русский человек может читать украинский либо польский (это чуть труднее) текст1).

Казалось бы, что все эти программы, естественно, после преобразования каждого текста в исполняемый код2) приводят к одной и той же машинной программе, исполняемой компьютером. Но действительная ситуация немного иная.



Содержание раздела