Несмотря на распространение скринкастов, блогов программистов, электронных книг и т.п., обычная бумажная книга остается важным элементом при обучении начинающего программиста или для повышения квалификации более опытного кодера.
И очень важно, какая книга попадет в руки читателю, который решил получить новые знания. Сам я достаточно регулярно покупаю книги, а раньше, когда только приступал к изучению языков, то покупал еще чаще. Основную часть прочитанных книг у меня составляют (составляли) языки Visual Basic 5/6, Visual Basic.NET, C#, и в меньшей степени C++ и Delphi. Поэтому мы выводы будут делаться на основе этих книг, но думаю, что и с другими языками картинка будет схожей.
Первое, что всегда бросается в глаза — разница в классе, в профессионализме, назовите это как хотите, между книгами зарубежных авторов и отечественных писателей. Практически, в любом языке программирования есть свои признанные гуру, чьи книги читаются, переиздаются и изучаются вдоль и поперек. Но это относится именно к зарубежным авторам. Как правило, зарубежные авторы пишут свежо, информативно и доступно. Часто, даже в серьезной книжке у автора находится время и место, чтобы вставить какую-нибудь шутку или дать веселый комментарий по какой-нибудь проблеме. Этот стиль можно встретить и у Ч.Петцольда, и у Дж.Рихтера и многих других.
Чтобы не быть голословным, приведу несколько цитат из книги Программирование в тональности C#:
Это только часть интересных фраз из книги. Или возьмем предисловие к книге Джеффри Рихтера CLR via C#, написанное его сыном-малышом (приведу только часть текста, уж очень сложно скопировать его):
Для тех, кто не понял, что написано выше — представьте себе, что по вашей клавиатуре пробежался котенок — намек ясен?
А теперь обратим взоры на труды отечественных авторов. Не секрет, что очень много книг в России пишутся различными преподавателями. И, видимо, им совсем не до шуток. Главное, написать умную книгу, чтобы ее рекомендовали к изучению студентам вузов всей страны. Читать наших авторов очень тяжело и скучно. Но все рекорды побила книга, которую я купил совсем недавно. А называется она C#. Начала программирования (автор Э.Ишкова). На обложке книги был изображен довольный рыжик кот, сидящий на луне, который при помощи удочки ловил решетку #. Я не удержался и купил эту книгу для своей коллекции. Но первые главы меня повергли в шок. Судите сами — в главе 1.2 рассказывается об организации рабочего пространства в компьютере и приводится следующий факт (далее как в книге) — в именах папок (директорий), а так же как и в именах файлов, не должно быть более 8 символов и не следует использовать нелатинские литеры.. Последний раз я слышал об ограничении в 8 символов, наверное, когда работал под DOS. Я сначала не поверил своим глазам и немедленно стал просматривать свои проекты, а также примеры, скачанные с MSDN. Практически все все папки и имена файлов содержали больше 8 символов и прекрасно загружались. Что я делаю не так? Насчет нелатинских литер — готовых примеров я не нашел, поэтому создал свой пример, дал файлам русские имена и запустил снова — опять никаких проблем. Разгадка наступила на следующей странице книге — там упоминается и дается скриншот программы Windows Commander 5.0. Оказывается, для изучения C# необходимо установить не только Visual Studio, но и дополнительную программу Windows Commander. И это пишется в книге, изданной в 2009 году. Наверное, автор еще не в курсе, что Windows Commander уже не существует. Кстати, если посмотреть на скриншот этой программы, то в заголовке присутствует текст Windows Commander 5.0 — Gold Soft 2002. У меня большие сомнения в легальности этого продукта, а у вас? И, заканчивая тему с WC — видимо там было ограничение на 8 символов, которое автор выдает за особенность системы.
Дальше книга уже не представляла практического интереса, когда читаешь, например, что в именах переменных нельзя использовать русские символы, так как компилятор выдаст ошибку. Ну-ну. А примеры с ключевыми словами for, if/else и др. навевали просто смертельную скуку. Ну почему, зарубежные авторы пытаются приводить примеры из жизни — например, расчитать стоимость горючего, или сумму выплаты по кредиту и так далее, а наши авторы приводят такой пример.
Что такое — эти безликие m и n? И так по всем примерам. Кстати, обратите внимание, как оформлен текст кода — никаких пробелов и отступов. Visual Studio не позволяет так неряшливо писать, текст int val=55; будет автоматически преобразован в int val = 55;. Возможно, это уже не вина автора, а издательства, но читать код, склеенный таким образом очень неприятно.
На самом деле писать о программировании живым и понятным языком очень трудно, и даже хорошим опытным преподавателям может быть не доступно умение излагать свои мысли доходчиво. Писать правильно — это тоже своего рода искусство, как и искусство программировать, но, почему-то зарубежные авторы владеют этим искусством гораздо лучше.
P.S. Я говорил об общем уровне книг. Понятно, что бывают исключения — и книга нашего автора может быть хорошей, а какая-нибудь книга зарубежного автора может быть отстоем.
Кстати, я выложил третью часть своих уроков по C#. Мои уроки тоже не шедевр :-).
И очень важно, какая книга попадет в руки читателю, который решил получить новые знания. Сам я достаточно регулярно покупаю книги, а раньше, когда только приступал к изучению языков, то покупал еще чаще. Основную часть прочитанных книг у меня составляют (составляли) языки Visual Basic 5/6, Visual Basic.NET, C#, и в меньшей степени C++ и Delphi. Поэтому мы выводы будут делаться на основе этих книг, но думаю, что и с другими языками картинка будет схожей.
Первое, что всегда бросается в глаза — разница в классе, в профессионализме, назовите это как хотите, между книгами зарубежных авторов и отечественных писателей. Практически, в любом языке программирования есть свои признанные гуру, чьи книги читаются, переиздаются и изучаются вдоль и поперек. Но это относится именно к зарубежным авторам. Как правило, зарубежные авторы пишут свежо, информативно и доступно. Часто, даже в серьезной книжке у автора находится время и место, чтобы вставить какую-нибудь шутку или дать веселый комментарий по какой-нибудь проблеме. Этот стиль можно встретить и у Ч.Петцольда, и у Дж.Рихтера и многих других.
Чтобы не быть голословным, приведу несколько цитат из книги Программирование в тональности C#:
Это происходит, поскольку алгебраическое выражение, подобное «B = 2», означает некое неизменяемое значение B; это похоже на утверждение «Пушок - это кот». Чем замечательно программирование, так это тем, что экспериментирование одновременно легко и безопасно. Это не как в химии. Вы не взорвете свой дом. Чтобы стать хорошим программистом, нужно научиться думать как компьютер. Конечно, не все время. Иначе можно и чокнуться. Всегда в первую очередь учитывайте удобства пользователей, а не удобства программиста. Вы умнее их (или, по крайней мере, вы так думаете). Если вы понимаете хайку, составляемые этой программой, вам, возможно, стоит прекратить программировать и лечь поспать. С целью помочь программисту отвечать на такие вопросы язык C# поддерживает тип данных bool (рифмуется с "cool"), название которого составляет четыре пятых от английского написания фамилии Джорджа Буля (George Boole). Вы можете пом��чь себе вспомнить символ ИЛИ, если представите, что вертикальная черта похожа на весло (по английски oar, что напоминает оператор логического ИЛИ - OR.
Это только часть интересных фраз из книги. Или возьмем предисловие к книге Джеффри Рихтера CLR via C#, написанное его сыном-малышом (приведу только часть текста, уж очень сложно скопировать его):
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii k fgb lkbiubr ,g463wb /'[] ...
Для тех, кто не понял, что написано выше — представьте себе, что по вашей клавиатуре пробежался котенок — намек ясен?
А теперь обратим взоры на труды отечественных авторов. Не секрет, что очень много книг в России пишутся различными преподавателями. И, видимо, им совсем не до шуток. Главное, написать умную книгу, чтобы ее рекомендовали к изучению студентам вузов всей страны. Читать наших авторов очень тяжело и скучно. Но все рекорды побила книга, которую я купил совсем недавно. А называется она C#. Начала программирования (автор Э.Ишкова). На обложке книги был изображен довольный рыжик кот, сидящий на луне, который при помощи удочки ловил решетку #. Я не удержался и купил эту книгу для своей коллекции. Но первые главы меня повергли в шок. Судите сами — в главе 1.2 рассказывается об организации рабочего пространства в компьютере и приводится следующий факт (далее как в книге) — в именах папок (директорий), а так же как и в именах файлов, не должно быть более 8 символов и не следует использовать нелатинские литеры.. Последний раз я слышал об ограничении в 8 символов, наверное, когда работал под DOS. Я сначала не поверил своим глазам и немедленно стал просматривать свои проекты, а также примеры, скачанные с MSDN. Практически все все папки и имена файлов содержали больше 8 символов и прекрасно загружались. Что я делаю не так? Насчет нелатинских литер — готовых примеров я не нашел, поэтому создал свой пример, дал файлам русские имена и запустил снова — опять никаких проблем. Разгадка наступила на следующей странице книге — там упоминается и дается скриншот программы Windows Commander 5.0. Оказывается, для изучения C# необходимо установить не только Visual Studio, но и дополнительную программу Windows Commander. И это пишется в книге, изданной в 2009 году. Наверное, автор еще не в курсе, что Windows Commander уже не существует. Кстати, если посмотреть на скриншот этой программы, то в заголовке присутствует текст Windows Commander 5.0 — Gold Soft 2002. У меня большие сомнения в легальности этого продукта, а у вас? И, заканчивая тему с WC — видимо там было ограничение на 8 символов, которое автор выдает за особенность системы.
Дальше книга уже не представляла практического интереса, когда читаешь, например, что в именах переменных нельзя использовать русские символы, так как компилятор выдаст ошибку. Ну-ну. А примеры с ключевыми словами for, if/else и др. навевали просто смертельную скуку. Ну почему, зарубежные авторы пытаются приводить примеры из жизни — например, расчитать стоимость горючего, или сумму выплаты по кредиту и так далее, а наши авторы приводят такой пример.
if (m==n) {Console.WriteLine(" m равно n");m++}; if(m!=n) {Console.WriteLine(" m не равно n");n++);
Что такое — эти безликие m и n? И так по всем примерам. Кстати, обратите внимание, как оформлен текст кода — никаких пробелов и отступов. Visual Studio не позволяет так неряшливо писать, текст int val=55; будет автоматически преобразован в int val = 55;. Возможно, это уже не вина автора, а издательства, но читать код, склеенный таким образом очень неприятно.
На самом деле писать о программировании живым и понятным языком очень трудно, и даже хорошим опытным преподавателям может быть не доступно умение излагать свои мысли доходчиво. Писать правильно — это тоже своего рода искусство, как и искусство программировать, но, почему-то зарубежные авторы владеют этим искусством гораздо лучше.
P.S. Я говорил об общем уровне книг. Понятно, что бывают исключения — и книга нашего автора может быть хорошей, а какая-нибудь книга зарубежного автора может быть отстоем.
Кстати, я выложил третью часть своих уроков по C#. Мои уроки тоже не шедевр :-).