|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Отзыв о книге] А. Васильев. "C#. Объектно-ориентированное программирование. |
|
|
Разное - [Отзыв о книге] А. Васильев. "C#. Объектно-ориентированное программирование.
|
Необычный Сообщения: 4463 |
Профиль | Сайт | Отправить PM | Цитировать
Я откровенно не знал, как мне начать писать отзыв. Т.к. краткий вариант будет очень краток, а полный вариант, по скромным прикидкам, займет страниц 10-15 далеко не радужных по смыслу комментариев.
Что я могу сказать про книгу... Хорошая книга, примерно по ошибке на страницу. Действительно. Редкая страница осталось без отметки на полях. А там где их нет, с лихвой компенсировалась ранее накопленными. (Особенно ближе к концу книги) Единственное, что оправдывает предложенный стиль подачи материала -- это возрастная группа читателей -- 8-9 класс средней школы. Книга не реализована полностью. Значительная часть работы выполнена, идеи положенные в основу изложения объектно-ориентированного программирования(ООП) имеют право на жизнь. Но предстоит дополнительная работа по улучшению материала и доведению его до правильности "по формальному признаку". Основная идея -- изучить ООП на основе примеров. Но реализация содержит массу логических ошибок. Только сегодня узнал более подробную информацию об авторе. В 2008 году защитил докторскую диссертацию "Корреляционные свойства многокомпонентных жидкостей" по специальностям "01.04.02 - теоретическая физика" и "01.04.14 - теплофизика и молекулярная физика" . Докторская работа написана за 8 лет, что очень достойно. Автор "физик", этим я склонен обусловить все допущенные им ошибки изложения материала. Все. Хороший отзыв заканчивается. Дальше идет разбор ошибок. Перечислю основные. Красных строк нет как класс. Т.е. вообще нет! Даже не знаю, на кого списывать. Лишние, пустые слова, я о них просто не говорю. Их -- много. стр 40 "Текстовые значения (литералы) ..." пропущена буква. Часто используется термин "утилита", без его определения. Вообще следует заметить, что с определениями в книге достаточно сложно. Нет приписки о том, что исходный код следует читать вместе с англо-русским словарем. Еще чаще используется выражение -- военная хитрость. Иногда встречается откровенное вранье. стр 42. "Консоль -- это такое окно, выдержанное в темных тонах, которое вызывает ностальгию по старым добрым временам операционной системы MS-DOS". Добуквенно! Сбербанк рыдает, продажа билетов на самолеты, в театры и пр. встали намертво, кассы в магазинах остановлены и народ остался голодный, админы безутешны! стр 60. "Перегрузка методов -- весьма полезный и перспективный механизм, который позволяет создавать очень гибкие и эффективные методы." Я вот из этого что понять должен?! стр 108 и далее. Блок схемы. Просто из рук вон плохо. Понятие составного оператора -- определено в примечании. Блок схемы не соотв. требованиям ГОСТ. В продолжении того, далее то тексту не одной схемы нет. Т.е. блок схемами определяются только операторы цикла, условия и многовариантного выбора case. Ссылки и другие понятия "кричащие" о блок-схеме, остались без них (какие-нибудь там делегаты и пр.). стр 136. Совет про функции sin и cos. Ни слова про радианы! стр 145. Появилась идея сначала рассказать об идее программы, а затем привести ее код. Да, кстати, на следующем примере это стало традицией("традиционно"), а затем, как и любая традиция -- умерла. (стр. 24 "Идея представлена в листинге 1.1." -- код хорошо документирован на C# ? (c)) стр 151. Красивое заблуждение про Стивена Хокинга и про соотношение кол-ва формул с читателями. стр 152 phi = arcsin() противоречит стр 154 и коду phi = Math.Acos(cosinus). стр 160. Дримз кам тру! стр 170. Если число не является действительным, то нужно проверить ... стр 187. Thin -> this стр 193. Делегаты. "Чтобы все это легче было понять, можно провести некоторую аналогию. Объявление делегата сродни описанию класса, а реализация делегата(создание экземпляра делегата) соответствует созданию объекта класса. Итак, приступим к делу."Это просто шедевр! Всем все понятно стало?! P.S. Блок схем - нет. стр 208. Новая единица измерения -- поинт. Я не шучу! "Координаты определяются в поинтах по отношения к левому верхнему углу формы." стр 218. Два шедевра, даже без уточнения термина "гибкий программный код" и выводов о всезнайке - авторе книги(лекторе и т.п.) стр 240. Таблица итерационных значений переменных цикла? Не, не! Не слышали! Про логику создания классов -- отдельный разговор. Сдавай студент мне такую работу, ему бы пришлось долго объяснять что, как, зачем и почему. Вообще с логикой в книге сложно. И это печально. Ну и напоследок надо улыбнуться. Надпись на последнем форзаце "Большое внимание уделяется созданию программ с графическим интерфейсом." В прикрепленном файле я пальцами держу страницы, в которых используются консольные программы. Края книг посвящены целиком графике. (Справедливости ради, в середине книге есть небольшие вкрапления графического интерфейса). Вы что, издеваетесь!? |
|
------- Отправлено: 15:56, 24-09-2012 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Обалденно Вроде не О'рейли писало, а ошибки схожи с теми, что я писал в рецензии одной из своих книг
Все таки, как мне кажется, лучше известных мастеров, того же Шилдта, никто не напишет книг по C#. Даже для школьников. В общем - зачетно |
------- Отправлено: 04:56, 25-09-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Уважаемый lxa85! Спасибо, что обратили внимание на нашу книгу. Позволю себе прокомментировать Ваши замечания.
Красных строк нет как класс. Т.е. вообще нет! Даже не знаю, на кого списывать. Существует 2 варианта верстки с красными строками и межабзацными отступами. Здесь используется именно такой, поскольку он лучше подходит для книг с листингами. Это типичная верстка для нашего издательства со времени появления компьютерной редакции Лишние, пустые слова, я о них просто не говорю. Их -- много. Книга написана живым языком, чтобы ее было легче читать современным читателям. Видимо Вы являетесь сторонником классических учебников-справочников стр 40 "Текстовые значения (литералы) ..." пропущена буква. Спасибо, при допечатке исправим Часто используется термин "утилита", без его определения. Вообще следует заметить, что с определениями в книге достаточно сложно. Нет приписки о том, что исходный код следует читать вместе с англо-русским словарем. Данная книга не является учебником, она знакомит читателей с ООП в Си. Все листинги содержат подробные комментарии. Еще чаще используется выражение -- военная хитрость. Иногда встречается откровенное вранье. стр 42. "Консоль -- это такое окно, выдержанное в темных тонах, которое вызывает ностальгию по старым добрым временам операционной системы MS-DOS". Добуквенно! Сбербанк рыдает, продажа билетов на самолеты, в театры и пр. встали намертво, кассы в магазинах остановлены и народ остался голодный, админы безутешны! Данная книга не является учебником, поэтому не должна содержать исчерпывающие определения. Приведенное описание создает у читателя архаичный образ консольного окна, что является абсолютной правдой стр 60. "Перегрузка методов -- весьма полезный и перспективный механизм, который позволяет создавать очень гибкие и эффективные методы." Я вот из этого что понять должен?! Это не определение перегрузки, а вводное предложение, начинающее соответствующий раздел. Далее в тексте автор подробно рассказывает о том, что такое перегрузка методов. стр 108 и далее. Блок схемы. Просто из рук вон плохо. Понятие составного оператора -- определено в примечании. Блок схемы не соотв. требованиям ГОСТ. В продолжении того, далее то тексту не одной схемы нет. Т.е. блок схемами определяются только операторы цикла, условия и многовариантного выбора case. Ссылки и другие понятия "кричащие" о блок-схеме, остались без них (какие-нибудь там делегаты и пр.). Данные схемы и не должны соответствовать требованиям ГОСТа, это схемы поясняющие различия условных операторов. Хочу заметить, что если точка стоит перед скобкой, после скобки не надо ставить точку. стр 136. Совет про функции sin и cos. Ни слова про радианы! В данном разделе речь идет про массивы, совет информирует читателя о том, что функции синуса и косинуса вызываются из библиотечного класса Math. стр 145. Появилась идея сначала рассказать об идее программы, а затем привести ее код. Да, кстати, на следующем примере это стало традицией("традиционно"), а затем, как и любая традиция -- умерла. (стр. 24 "Идея представлена в листинге 1.1." -- код хорошо документирован на C# ? (c)) Перед листингом стоит примечание автора, поясняющее каким образом читатель может использовать данную программу в реальной жизни и содержит постановку задачи. Сам листинг содержит подробные комментарии. стр 151. Красивое заблуждение про Стивена Хокинга и про соотношение кол-ва формул с читателями. Это авторское примечание, которое содержит рассуждения на тему того, как математические трудности отпугивают читателей (с отсылкой на аналогичную но неточную цитату, часто приписываемую Хокингу). Подводка к краткой справке для читателей по поводу векторных формул, описывающих декартово пространство. стр 152 phi = arcsin() противоречит стр 154 и коду phi = Math.Acos(cosinus). Спасибо, передадим автору и поправим при допечатке стр 160. Дримз кам тру! Шутка в авторской врезке. Нынешние начинающие программисты прекрасно знают популярные англоязычные слоганы. стр 170. Если число не является действительным, то нужно проверить ... Вы пытаетесь перенести в русский язык программистскую конструкцию if-then. Использованный в тексте вариант «Если число не является действительным, нам нужно проверить…» не является ошибкой, просто это более личное обращение к читателю. стр 187. Thin -> this Спасибо, при допечатке исправим стр 193. Делегаты. "Чтобы все это легче было понять, можно провести некоторую аналогию. Объявление делегата сродни описанию класса, а реализация делегата(создание экземпляра делегата) соответствует созданию объекта класса. Итак, приступим к делу."Это просто шедевр! Всем все понятно стало?! P.S. Блок схем - нет. Далее в данном разделе приведены подробные разъяснения о том что такое делегат стр 208. Новая единица измерения -- поинт. Я не шучу! "Координаты определяются в поинтах по отношения к левому верхнему углу формы." Действительно сленговое выражение в примечании автора. Но данное примечание не вводит новую единицу измерения, а информирует читателя, что «Горизонтальная координата отсчитывается вправо, а вертикальная — вниз» стр 218. Два шедевра, даже без уточнения термина "гибкий программный код" и выводов о всезнайке - авторе книги(лекторе и т.п.) Автор старается говорить о сложном максимально просто. Поэтому и приводит шуточный пример намеренного усложнения при изложении материала, как способ повышения собственной значимости. стр 240. Таблица итерационных значений переменных цикла? Не, не! Не слышали! Автор так и начинает врезку-комментарий «На всякий случай приведем краткие пояснения по поводу вычисления результата при определении метода GetNumber() в классах Factorial и Fibonacci.» Про логику создания классов -- отдельный разговор. Сдавай студент мне такую работу, ему бы пришлось долго объяснять что, как, зачем и почему. Вообще с логикой в книге сложно. И это печально. Данная книга не является учебником или учебным пособием. Это Учебный курс, который позволяет читателю самостоятельно познакомиться с ООП в Си. Надпись на последнем форзаце "Большое внимание уделяется созданию программ с графическим интерфейсом." В прикрепленном файле я пальцами держу страницы, в которых используются консольные программы. Края книг посвящены целиком графике. (Справедливости ради, в середине книге есть небольшие вкрапления графического интерфейса). Вы что, издеваетесь!? В данной книге есть «Глава 8. Приложение с графическим интерфейсом: учебный проект», которая содержит основные сведения о графических интерфейсах и финальный раздел «Вместо заключения. Графический конструктор», в котором рассматривается создание приложения с использованием среды разработки Visual C# Express 2010 |
Отправлено: 13:13, 04-12-2012 | #3 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Serdobol, Ммм... Как бы правильно сказать. Хороший учебник отличается от плохого, тем, что плохой изобилует абстрактными выражениями, заумными выражениями "ни о чём", вроде как и сказали, а подумать, так ничего не понятно. Я учил программирование по книгам Дейтелов, причём всё что у меня было под рукой это книга, тетрадка и ручка. Все решения заданий и задач, которые я делал на тетрадке работали после того как перебил их на комп, работали. Бывали конечно ошибки, но не оттого что я не понял тему. В книге было 1150 страниц, примерно 1 ошибка, грамматическая на 550 страниц. И одна опечатка в листинге кода, одна и не критичная, в комментарии.
P.S. Даже по выпискам автора, которые привёл lxa85, я бы точно не стал читать эту книгу. |
------- Отправлено: 14:12, 04-12-2012 | #4 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Цитата Serdobol:
Источник Цитата:
Цитата Serdobol:
Цитата Serdobol:
Цитата Serdobol:
Вы позиционируете книгу как учебный курс но сами же открещиваетесь от комментариев практикующего преподавателя. Извините, но грош-цена такой книге! Однажды на конкурсе "Учитель года" мне один из преподавателей рассказывал, как он физику в школе преподаёт в виде сказок! Мне стало грустно и за педагога и за учеников. Школьник не получит должного уровня образования, а его учитель будет выглядеть как старый клоун - и смеяться стыдно, и жалко человека до глубины души за его наивную глупость. Все негуманитарные предметы должны излагаться стройно и чётко, отвлекаясь только на проведение аналогий с жизнью и разжёвывание сложных моментов. |
||||||
------- Отправлено: 14:30, 04-12-2012 | #5 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Кровь, кровь, кровь!!!
Serdobol, книга Алексея Васильева вновь стала моей настольной книгой, и я готовлю расширенный список замечаний и подробными комментариями. Прошу набраться терпения, ведь предстоит комментировать почти каждую страницу. Я буду прикреплять комментарии по главам. Конечным файлом прикреплю ответы на Ваши ответы на мои замечания. Расширенный список ошибок с подробными комментариями. Изначально предполагается, что я человек далекий от программирования, владеющий немецким, португальским, испанским, французским, не знающий не слова по английски (просто в силу того, что в требованиях этого не указано). Смотрю на мир широко открытыми глазами, верю, но проверяю каждое слово. Я такой, потому что школьники, изучив учебный курс, попадут на лекции в ВУЗы. Тут затрагиваются достаточно фундаментальные понятия об образовании, к которым я отношусь достаточно ревностно. Часть замечаний -- придирки. Более важные я отмечу сиволом *, **, *** по степени моего возмущения. Если позволит время, в подробностях распишу ошибки следующих глав. |
------- Отправлено: 16:38, 05-12-2012 | #6 |
$AutoITer Сообщения: 446
|
Профиль | Отправить PM | Цитировать lxa85, думаю что для начинающих студентиков (таких как я) книга будет как нельзя кстати (пусть даже и с ошибками). Я вот сам начал с книги "Библия C#" автора Михаила Флёнова, очень даже понятно для челавека только начинающего программировать. Далее я купил себе книгу .NET 3.0 Эндрю Троелсена , дальше 300 страниц прочитать не смог.... Пытаюсь все продолжить читать через силу
|
------- Отправлено: 23:31, 05-12-2012 | #7 |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать |
Отправлено: 00:47, 06-12-2012 | #8 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать 8 месяцев прошло.
Планиды все таки сложились, что есть относительно спокойное время, стабильная голова и книга под руками. Сейчас пишу 5ую главу. И постараюсь все же донести корректировки до издателя. Заранее приношу свои извинения за столь долгое молчание в данной теме. |
------- Отправлено: 21:58, 08-08-2013 | #9 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Последний раз редактировалось lxa85, 09-08-2013 в 23:53. Отправлено: 23:40, 09-08-2013 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Теория - [отзыв на книгу] Автоматное программирование. 2-е изд. Поликарпова Н. И., Шалыто А. А | lxa85 | Программирование и базы данных | 1 | 11-06-2012 23:05 | |
[отзыв на книгу] Владислава Дунаева "Photoshop CS5. Понятный самоучитель" | Ghost | Цифровое изображение | 0 | 28-11-2010 23:43 | |
C/C++ - [отзыв на книгу] Программирование на C++. Трюки и эффекты. Александр Чиртик | Ghost | Программирование и базы данных | 6 | 18-07-2010 12:57 | |
2007 - Excel | Как снять защиту к некоторым функциям в книге при включенной "Защита листа"? | MaxRAF | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 10-03-2010 03:59 | |
Отзывы о книге "Linux для пользователя" | Guest | Общий по Linux | 10 | 16-10-2004 17:32 |
|