ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Ошибки в учебнике по программированию

Читая учебник от Лафоре, заметил довольно много мелких ошибок.

Ошибки эти разделяются на три вида: 1) ошибки оригинала; 2) ошибки перевода с английского на русский язык; 3) ошибки оцифровки (если речь об электронном варианте учебника, например, в формате PDF).

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

Примеры ошибок:

1) Ошибки оригинала. У меня, к сожалению, нет бумажного оригинала, но есть оригинал в электронном виде, в формате PDF (издание 2002 года с рыбой на обложке, издательство «Sams Publishing», ISBN 0-672-32308-7, на странице издательства).

Фрагмент программного примера со страницы 295:
for(int j=0; j < strlen(str1); j++) // copy strlen characters
    str2[j] = str1[j];              // from str1 to str2
str2[j] = '\0';                     // insert NULL at end
Индекс j, определенный внутри цикла, используется вне цикла.

2) Ошибки перевода.

Цитата из перевода (страница 304):

Класс string — в действительности только один из возможных строковых классов, производных от класса-шаблона basic_string. Класс string основан на типе char, но общий вариант использует тип wchar_t. Это позволяет классу basic_string использоваться при работе с другими языками, имеющими больше символов, чем в русском. Файлы помощи вашего компилятора могут содержать список функций класса string в классе basic_string.

Цитата из оригинала (страница 310):

The string class is actually only one of many possible string-like classes, all derived from the template class basic_string. The string class is based on type char, but a common variant is to use type wchar_t instead. This allows basic_string to be used for foreign languages with many more characters than English. Your compiler’s help file may list the string member functions under basic_string.

Фразу «common variant» я бы перевел не как «общий вариант» (смысл непонятен), а как «более универсальный вариант» (имеется в виду wstring).

Ну и перевод «than English» как «чем в русском» — это зачет! Видимо, переводчик как заменял в программных примерах все комментарии и строковые константы на английском на русские варианты, так его и зациклило.

3) Ошибки оцифровки.

Вот пример со страницы 264. Я обвел ошибки красным:



Несмотря на ошибки, учебник хороший, недаром оригинал помещен в Библиотеку Конгресса США (под каталожным номером 2001094813).
Tags: Английский язык, Книги, Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments