Содержание

Предисловие к русскому изданию

Читателю предлагается второе, существенно переработанное издание книги, впервые опубликованной в США в 1978 г. Книга написана авторами языка Си, и прошедшие годы дают все основания отнести ее к программистской классике. Перевод первого издания вышел в издательстве «Финансы и статистика» в 1985 г. и стал той книгой, которую многие программисты хотели бы иметь как настольную.

Новое издание, сохранив общую структуру книги и стиль изложения, отражает тот путь, который прошел в своем развитии язык Си, получивший в 1989 г. статус американского национального стандарта. В стандартизованной версии язык еще более отшлифован, избавлен от большинства вызывавших критику черт и дополнен рядом полезных возможностей. Интерес к языку Си вполне понятен. Язык занимает едва ли не первое место по распространенности среди инструментальных средств системного программирования во всем мире. Причем благодаря потоку персональных компьютеров, хлынувшему к нам из-за рубежа, он повсеместно используется и в нашей стране.

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

В переводах первого и настоящего издания есть заметные терминологические расхождения. Во-первых, терминология не стоит на месте, во-вторых, переводы выполнялись разными переводчиками и, стало быть, не могла не проявиться разница во вкусах. Перечислим основные термины, по которым имеются расхождения.

В оригинале В переводе
первого издания
В переводе
второго издания
character символ литера
structure запись структура
member элемент член
union смесь объединение
pipe канал трубопровод
line строчка, строка строка
string строка стринг
statement оператор инструкция
operator операция оператор
operation операция операция
declaration описание декларация
tag тип записи тег

Новации, как легко заметить, в частности, состоят в следующем. Введен термин стринг, чтобы можно было разным английским терминам line и string поставить в соответствие разные русские термины. Термин statement везде переводится как инструкция с тем, чтобы освободить оператор для употребления в традиционном смысле — как знак операции.

Из того что не вошло в таблицу отметим термины инкрементация и декрементация, полученные «калькированием» английских incrementation и decrementation соответственно. Мы отважились ввести эти термины, поскольку убеждены, что все, что широко употребляется в жизни, рано или поздно будет признано в качестве термина, хотя в течение какого-то времени и квалифицируется как жаргон. Нам кажется, что чем скорее перестанут считаться жаргоном «теги», «скипы», «пайпы», «хеширования», «стринги» и т. п., тем лучше. Вспомните, какой горячий протест в свое время вызывали дисплей или файл, и подумайте, как настрадается тот, кто попытается обойтись без этих слов сегодня. Тенденции мировой интеграции и конвергенции очевидны и неодолимы, и мы не скрываем своего желания сближать русские и английские термины.

Наконец, последнее замечание. В оригинале употребляется термин white space character, собирательный для литер пробела, табуляции, новой строки, новой страницы и т.п. Нам не хватило смелости (может быть, напрасно) ввести «белый интервал» или что-нибудь подобное, и мы остановились на пробельной литере.

В заключение хочется выразить благодарность А. Б. Ходулеву, за неоценимую помощь, оказанную им в овладении техническими и программными средствами, которые были использованы при подготовке на компьютере оригинал-макета книги.

Вс.С. Штаркман