Язык С




Введение - часть 2


Опять же из-за того , что язык "C" отражает возможности современных компьютеров, программы на "C" оказываются доста- точно эффективными, так что не возникает побуждения писать вместо этого программы на языке ассемблера. Наиболее убеди- тельным примером этого является сама операционная система "UNIX", которая почти полностью написана на "C". Из 13000 строк программы системы только около 800 строк самого низко- го уровня написаны на ассемблере. Кроме того, по существу все прикладное программное обеспечение системы "UNIX" напи- сано на "C"; подавляющее большинство пользователей системы "UNIX"(включая одного из авторов этой книги) даже не знает языка ассемблера PDP-11. Хотя "C" соответствует возможностям многих ЭВМ, он не зависит от какой-либо конкретной архитектуры машины и в силу этого без особых усилий позволяет писать "переносимые" прог- раммы, т.е. программы, которые можно пропускать без измене- ний на различных аппаратных средствах. В наших кругах стал уже традицией перенос программного обеспечения, разработан- ного на системе "UNIX", на системы ЭВМ: HONEYWELL, IBM и INTERDATA. Фактически компиляторы с "C" и программное обес- печение во время прогона программ на этих четырех системах, по-видимому, гораздо более совместимы, чем стандартные вер- сии фортрана американского национального института стандар- тов (ANSI). Сама операционная система "UNIX" теперь работает как на PDP-11, так и на INTERDATA 8/32. За исключением прог- рамм, которые неизбежно оказываются в некоторой степени ма- шинно-зависимыми, таких как компилятор, ассемблер и отлад- чик. Написанное на языке "C" программное обеспечение иден- тично на обеих машинах. Внутри самой операционной системы 7000 строк программы, исключая математическое обеспечение языка ассемблера ЭВМ и управления операциями ввода-вывода, совпадают на 95 процентов. Программистам, знакомым с другими языками, для сравне- ния и противопоставления может оказаться полезным упоминание нескольких исторических, технических и философских аспектов "C". Многие из наиболее важных идей "C" происходят от гораз- до более старого, но все еще вполне жизненного языка BCPL , разработанного Мартином Ричардсом. Косвенно язык BCPL оказал влияние на "C" через язык "B", написанный Кеном Томпсоном в 1970 году для первой операционной системы "UNIX" на ЭВМ PDP-7. Хотя язык "C" имеет несколько общих с BCPL характерных особенностей, он никоим образом не является диалектом пос- леднего. И BCPL и "B" - "безтипные" языки; единственным ви- дом данных для них являются машинное слово, а доступ к дру- гим объектам реализуется специальными операторами или обра- щением к функциям. В языке "C" объектами основных типов дан- ных являются символы, целые числа нескольких размеров и чис- ла с плавающей точкой. Кроме того, имеется иерархия произ- водных типов данных, создаваемых указателями, массивами, структурами, объединениями и функциями.




Содержание  Назад  Вперед