Читать «Полный справочник по С++» онлайн - страница 10

Герберт Шилдт

—I С - язык для программистов

Как ни странно, не все языки программирования предназначены для программистов. Рассмотрим классические примеры языков, ориентированных не на программистов, — COBOL и BASIC. Язык COBOL был разработан вовсе не для того, чтобы облегчить участь программистов, улучшить ясность кода и повысить его надежность, и даже не для того, чтобы ускорить выполнение программ. Он был создан, в частности, для того, чтобы люди, не являющиеся программистами, могли читать и (по возможности) понимать (хотя это вряд ли) написанные на нем программы. В свою очередь, язык BASIC был разработан для пользователей, которые решают на компьютере простые задачки.

В противоположность этому, язык С был создан для программистов, учитывал их интересы и многократно проверялся на практике, прежде чем был окончательно реализован. В итоге этот язык дает программистам именно то, чего они желали: сравнительно небольшое количество ограничений, минимум претензий, блочные структуры, изолированные функции и компактный набор ключевых слов. Язык С обладает эффективностью ассемблера и структурированностью языков ALGOL или Modula-2. Поэтому неудивительно, что именно языки С и C++ стали наиболее популярными среди профессиональных программистов высокого уровня.

Тот факт, что язык С часто используют вместо ассемблера, является одной из основных причин его популярности. Язык ассемблера использует символьное представление фактического двоичного кода, который непосредственно выполняется компьютером. Каждая операция, выраженная на языке ассемблера, представляет собой отдельную задачу, выполняемую компьютером. Хотя язык ассемблера предоставляет программисту наибольшую гибкость, разрабатывать и отлаживать программы на нем довольно сложно. Кроме того, поскольку язык ассемблера является неструктурированным, код напоминает спагетти — запутанную смесь переходов, вызовов и индексов. Вследствие этого программы, написанные на языке ассемблера, трудно читать, модифицировать и эксплуатировать. Вероятно, основным недостатком программ на языке ассемблера является их машинозависимость. Программа, предназначенная для конкретного центрального процессора, не может выполняться на компьютерах другого типа.

Изначально язык С предназначался для системного программирования. Системная программа (system program) представляет собой часть операционной системы или является одной из ее утилит. Рассмотрим некоторые из них.

• Операционные системы

• Интерпретаторы

• Редакторы

• Компиляторы

• Файловые утилиты

• Оптимизаторы

• Диспетчеры реального времени

• Драйверы

По мере роста популярности языка С многие программисты стали применять его для программирования всех задач, используя его машинонезависимость и эффективность, а кроме того, он им просто нравился! К моменту появления языка С языки

программирования прошли сложный и трудный путь совершенствования. Разумеется, вновь созданный язык вобрал в себя все лучшее.