Вычислительная техника в инженерных расчетах. Черный А.А. - 35 стр.

UptoLike

Составители: 

35
Одним из первоначальных предназначений Cи было применение
его вместо программирования на ассемблере в самых насущных зада-
чах системного программирования. Когда проектировался Си++, были
приняты меры, чтобы не ставить под угрозу успехи в этой области. Раз-
личие между Cи и Си++ состоит в первую очередь в степени внимания,
уделяемого типам и
структурам. Cи выразителен и снисходителен.
Си++ еще более выразителен, но чтобы достичь этой выразительности,
программист должен уделить больше внимания типам объектов. Когда
известны типы объектов, компилятор может правильно обрабатывать
выражения, тогда как в противном случае программисту пришлось бы
задавать действия с мучительными подробностями. Знание типов объ-
ектов также позволяет компилятору
обнаруживать ошибки, которые в
противном случае остались бы до тестирования. Заметьте, что исполь-
зование системы типов для того, чтобы получить проверку параметров
функций, защитить данные от случайного искажения, задать новые
операции и т.д., само по себе не увеличивает расходов по времени вы-
полнения и памяти.
Особое внимание, уделенное при разработке
Си++ структуре, от-
разилось на возрастании масштаба программ, написанных со времени
разработки Cи. Если программа в 10 000 строк имеет плохую структуру,
то можно обнаружить, что новые ошибки появляются так же быстро,
как удаляются старые. Си++ был разработан так, чтобы дать возмож-
ность разумным образом структурировать большие программы таким
образом, чтобы для
одного человека не было непомерным справляться
с программами в 25 000 строк. Существуют программы гораздо боль-
ших размеров, однако те, которые работают, в целом, как оказывается,
состоят из большого числа почти независимых частей, размер каждой
из которых намного меньше указанных пределов.
Сложность написания и поддержки программы зависит от слож-
ности разработки, а не
от числа строк текста программы.
Существенным критерием при разработке языка была простота.
В Си++ нет типов данных высокого уровня и нет первичных опе-
раций высокого уровня. В нем нет, например, матричного типа с опера-
цией обращения или типа строка с операцией конкатенации. Если поль-
зователю понадобятся подобные типы, их можно
определить в самом
языке. Основное, чем занимается программирование на Си++ - это оп-
ределение универсальных и специально-прикладных типов. Хорошо
разработанный тип, определяемый пользователем, отличается от встро-
енного типа только способом определения, но не способом использова-
ния.
Исключались те черты, которые могли бы повлечь дополнитель-
ные расходы памяти или времени выполнения
Си
++ проектировался для использования в довольно традицион-
ной среде компиляции и выполнения, среде программирования на Cи в
      Одним из первоначальных предназначений Cи было применение
его вместо программирования на ассемблере в самых насущных зада-
чах системного программирования. Когда проектировался Си++, были
приняты меры, чтобы не ставить под угрозу успехи в этой области. Раз-
личие между Cи и Си++ состоит в первую очередь в степени внимания,
уделяемого типам и структурам. Cи выразителен и снисходителен.
Си++ еще более выразителен, но чтобы достичь этой выразительности,
программист должен уделить больше внимания типам объектов. Когда
известны типы объектов, компилятор может правильно обрабатывать
выражения, тогда как в противном случае программисту пришлось бы
задавать действия с мучительными подробностями. Знание типов объ-
ектов также позволяет компилятору обнаруживать ошибки, которые в
противном случае остались бы до тестирования. Заметьте, что исполь-
зование системы типов для того, чтобы получить проверку параметров
функций, защитить данные от случайного искажения, задать новые
операции и т.д., само по себе не увеличивает расходов по времени вы-
полнения и памяти.
      Особое внимание, уделенное при разработке Си++ структуре, от-
разилось на возрастании масштаба программ, написанных со времени
разработки Cи. Если программа в 10 000 строк имеет плохую структуру,
то можно обнаружить, что новые ошибки появляются так же быстро,
как удаляются старые. Си++ был разработан так, чтобы дать возмож-
ность разумным образом структурировать большие программы таким
образом, чтобы для одного человека не было непомерным справляться
с программами в 25 000 строк. Существуют программы гораздо боль-
ших размеров, однако те, которые работают, в целом, как оказывается,
состоят из большого числа почти независимых частей, размер каждой
из которых намного меньше указанных пределов.
      Сложность написания и поддержки программы зависит от слож-
ности разработки, а не от числа строк текста программы.
      Существенным критерием при разработке языка была простота.
      В Си++ нет типов данных высокого уровня и нет первичных опе-
раций высокого уровня. В нем нет, например, матричного типа с опера-
цией обращения или типа строка с операцией конкатенации. Если поль-
зователю понадобятся подобные типы, их можно определить в самом
языке. Основное, чем занимается программирование на Си++ - это оп-
ределение универсальных и специально-прикладных типов. Хорошо
разработанный тип, определяемый пользователем, отличается от встро-
енного типа только способом определения, но не способом использова-
ния.
      Исключались те черты, которые могли бы повлечь дополнитель-
ные расходы памяти или времени выполнения
      Си++ проектировался для использования в довольно традицион-
ной среде компиляции и выполнения, среде программирования на Cи в
                                    35