Бьерн Страуструп - Язык программирования С++. Вступление, глава 1
Страница 6. Замечания по проекту языка


 

                       Замечания по проекту языка


    При разработке языка С++ одним из важнейших критериев выбора была
простота. Когда возникал вопрос, что упростить: руководство по языку и
другую документацию или транслятор, - то выбор делали в пользу первого.
Огромное значение придавалось совместимости с языком С, что помешало
удалить его синтаксис.

    В С++ нет типов данных и элементарных операций высокого уровня.
Например, не существует типа матрица с операцией обращения или типа строка
с операцией конкатенации. Если пользователю понадобятся подобные типы, он
может определить их в самом языке.  Программирование на С++ по сути
сводится к определению универсальных или зависящих от области приложения
типов. Хорошо продуманный пользовательский тип отличается от встроенного
типа только способом определения, но не способом применения.

    Из языка исключались возможности, которые могут привести к накладным
расходам памяти или времени выполнения, даже если они непосредственно не
используются в программе. Например, было отвергнуто предложение хранить в
каждом объекте некоторую служебную информацию. Если пользователь описал
структуру, содержащую две величины, занимающие по 16 разрядов, то
гарантируется, что она поместится в 32-х разрядный регистр.

    Язык С++ проектировался для использования в довольно традиционной
среде, а именно: в системе программирования С операционной системы UNIX.
Но есть вполне обоснованные доводы в пользу использования С++ в более
богатой программной среде. Такие возможности, как динамическая загрузка,
развитые системы трансляции и базы данных для хранения определений типов,
можно успешно использовать без ущерба для языка.

    Типы С++ и механизмы упрятывания данных рассчитаны на определенный
синтаксический анализ, проводимый транслятором для обнаружения случайной
порчи данных. Они не обеспечивают секретности данных и защиты от
умышленного нарушения правил доступа к ним. Однако, эти средства можно
свободно использовать, не боясь накладных расходов памяти и времени
выполнения программы. Учтено, что конструкция языка активно используется
тогда, когда она не только изящно записывается на нем, но и вполне по
средствам обычным программам.
 
« Предыдущая статья   Следующая статья »