Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > "Javascript, Библия пользователя", 5-е издание |
Автор: 12345c 6.5.2007, 02:30 |
Гудман, Денни; Моррисон, Майкл. "Javascript, Библия пользователя", 5-е издание. Издательство "Диалектика-Вильямс. Рецензия на книгу. Рассмотрим достоинства и прочие особенности самого увесистого и самого свежего справочника по языку Javascript, изданного на русском языке. Кроме 1150 страниц бумажного текста, он содержит дополнительные главы объёмом 450 страниц на CD-диске, прилагаемом к книге. На нём же - примеры, упомянутые в книге, поэтому их не обязательно вручную набирать для проверки работы. Книга заслуживает внимания уже из-за той пунктуальности, с которой приведены справочные данные по всем, в том числе и умершим (c NN4, IE3) конструкциям языка.![]() Книга написана специалистом, который "держит руку на пульсе" языка с момента его зарождения. И это буквально; как описывает в предисловии создатель Javascript Брендан Эйх (Brendan Eich), на него при создании языка большое влияние оказала книга Гудмана по другому языку, HyperCard. Значит, в структуре нового языка он угадывал конструкции, которые описывал ранее как автор этой книги. Важно не путать эту книгу с её http://www.dialektika.com/books/5-8459-0284-3.html от того же издательства. Разница очень существенная, потому что в прежнем издании охватываются браузеры до NN6, без Мозиллы и Safari, оригинал на английском выпущен в апреле 2001 года. В более новом 5-м издании учтены NN7, Mozilla 1.0, Safari 1.0. Что интересно, полностью проигнорирована Опера в какой-либо версии. По этим же соображениям для читающих на английском стоит обратить внимание на только что вышедшую (в апреле 2007 г.) книгу http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470069163.html этих авторов. Для русскоговорящих читателей пока доступна книга, рецензируемая ниже в этой статье. Конечно, в дальнейшем мы будем сравнивать эти 2 книги, чтобы читатель точно знал, что он не приобретает, ограничиваясь 5-м изданием, а ради чего надо обращаться к 6-му. Попытаемся спрогнозировать - когда выпустят 6-е на русском? Сравним времена выхода книг. Разные издательства сотрудничают, что можно видеть по многим другим ценным книгам, не только из области веб-программирования. Например, версии книги "Ajax в действии" были выпущены http://www.manning.com/crane/ и http://www.williamspublishing.com/Books/5-8459-1034-X.html. Рассматриваемая нами книга - http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0764557432.html и в 3-м квартале 2006-го; 4-е издание - http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0764533428.html и в 3-м квартале 2003-го. Как видно, сроки заключения договора с переводом могут составлять год, но для "Библии JS" они регулярно составляли 2.5 года. Поэтому не нужно очень надеяться на скорый выход перевода, но следует знать, за какой справкой нужно обращаться к английскому изданию. Почему разговор идёт так, будто бы эта книга - полноценная справка, не требующая обращения к оригиналам - документации W3C и различных фирм? Потому что книга, действительно, претендует на полноценный справочник, ослабленный только временем написания и публикации. Другими словами, стандарты и фирменная документация на браузеры выходит по требованиям рынка, довольно быстро, а книга - как бы слепок того, что автор успел запечатлеть на момент написания. А написание для такого динамично развивающегося языка как JavaScript было ох как давно - уже 3 года назад, и только полгода назад было представлено русскоговорящим читателям (например, эпоха "аякса" началась как раз чуть позже, поэтому в книге упомянут объект XMLHttp (удивительно! Говорит о полноте), появившийся ещё http://javascript.aho.ru/subs/subs022.shtml, но не использовавшийся до Google Suggest, примерно до середины 2004 года), но размещён он в дополнительных главах на диске. То, что входит в данную книгу, уже переработано с расчётом, что не потребуется переворачивать разную документацию, чтобы получить подробные сведения о свойстве и его применимости в браузерах. Часто встречаются и оговорки о том, что следует применять в других браузерах вместо описываемого уникального свойства. Поэтому как справочник книга удобнее исходных текстов. Она содержит в том числе опыт автора в решении типичных проблем, которые поднимались на веб-конференциях (форумы, списки рассылок) по JS. Подобные полноценные справочники знает история. Например, на том же уровне подробности был справочник JavaScript Programmer's Reference - (англ.) Cliff Wootton, 2001, 2600 стр. Но, в отличие от Гудмана, он не стал продолжать эстафету несения обновлений браузеров и языка, его книг новых изданий не наблюдается. Имеются и наши авторы, взявшиеся за подобный фундаментальный труд (по отдельности - Дронов, Дунаев). Есть одно только "зло" у таких трудов - справочники очень быстро устаревают. 2 года - нормальный срок их службы. Гудман соблюдает эти сроки, поэтому его книга "держит марку" (с учётом достойного качества материала). Книги наших авторов требуют обновлений в течение такого же периода, но пока они выпущены с новизной на уровне Гудмана 4 издания. Несомненно, у книг существуют достоинства другого измерения - как учебники. Эта прослойка достоинств подвержена устареванию гораздо меньше, поэтому можно рекомендовать не очень устаревшие книги как учебники, даже если справочники существуют лучшие и более новые. У того же Дунаева справочная часть конспективно кратка, но много наглядных примеров, по которым удобно знакомиться с языком (если они есть в электронном виде). Как выглядит книга Гудмана с точки зрения учебника? Если говорить одним словом, то самое подходящее - никак, хотя есть несколько глав, где он старается расширить круг читателей за счёт новичков. В предисловии он даже производит героическую попытку провозгласить книгу подходящей для всех категорий читателей (пункты о том, что делать опытным, малопытным и совсем неопытным в программировании читателям с книгой, и вроде для всех рецепт есть). За ним следуют и маркетологи, скромно утверждающие это в конце аннотации. Но это - как говорится, "бизнес"; их дело - убедить покупателя, а наше дело - посмотреть на реальное положение вещей. Главы 1-12 (2 части книги из 5) - это честная попытка на 140 страницах написать учебник языка. Остальные главы - справочник, снабжённый, как говорилось, достаточно богатым опытом решения проблем языка. Они полезны для тех, кто сам может составить подобный пример, исследовать на работоспособность и усвоить замечания.
Но и после этой чистой бравурной тирады в честь книги надо сказать ещё одно "но" по отношению к ней как к учебнику. Да, она содержит все актуальные (и устаревшие) свойства языка, чтобы разобраться с его свойствами. Но надо сказать, что первые 140 страниц его части как учебника не содержат некоторые важные глубокие свойства ядра языка, нужные для его понимания. Т.е. их надо рассматривать как "уровень языка для начинающих" - тот, на котором пользуются им 99% специалистов в веб-программировании. Такие существенные части как prototype и базовые объекты, описаны дальше, в части справочника. Поэтому, если Вы как начинающий пользователь не хотите пребывать в заблуждениях относительно базовых свойств языка, книга не даст ответа. Если о прототипах рассказывается в 3-й части, то о closure (замыканиях) - нигде, в том числе и в дополнительных главах на CD-диске. Упоминаний об утечках памяти - тоже. Поэтому для специалистов книга действительно не подходит как справочник.
Приложение "А" содержит таблицы - "Справочник по объектам браузера и JavaScript". Они хороши для напоминания об объектах. Но лучше пользоваться ими не из книги, а в редакции, бесплатно http://www.dannyg.com/ref/jsquickref.html (лучше формат). Выбираете тот формат, который будет удобнее в пользовании (предполагается распечатать на листах или склеить в большую карту формата A1). Дополнительные главы на CD-диске.
Что появилось в 6-м английском издании. Появилась глава по объекту XMLHttp. Точнее, она извлечена из дополнительных глав и дополнена.
Упоминания об Опере появились. Но только в текстах, многокоратно; в списке совместимостей свойств с браузерами снова ей не нашлось места. (Этот недостаток преодолевается http://www.opera.com/docs/ самой Оперы, всех её версий.) Как полагается свежему изданию, в нём упомянуты браузеры IE7, Opera9, Firefox 1.5.0.7 (в списках совместимостей присутствует как Moz1.8). Убраны наиболее ненужные параграфы про NN4, например описание его модели событий. Но описания свойств пестрят подробностями о нём, также как и о более ранних версиях. Согласитесь, что излишние археологические исследования будут отвлекать пользователей справочника. С другой стороны, полезно знать, откуда ноги растут, в том числе у технологий. Но надо ли так много упоминаний, тем более в справочных статьях? Может быть, существуют компании-разработчики, которые требуют абсолютной совместимости от некоторых своих продуктов? Тогда да, таким справочник по IE3-NN3-NN4 нужен. Такую ситуацию довольно трудно представить. Может быть, это интранет с машинами от Win95? (Если кто-то из читателей обнаружит ситуацию, когда знания о старых браузерах реально понадобились - не поленитесь, опишите этот случай в комментариях.) Дата источника новости - август 2006 г. |
Автор: powerfox 6.5.2007, 10:44 |
У меня 4-е издание, раньше скриптами немного занимался. Классная книга, наверное, самая лучшая. |
Автор: 12345c 6.7.2007, 12:20 |
Ссылка на страницу издательства для этой книги: http://www.dialektika.com/books/5-8459-1027-7.html JavaScript. Библия пользователя 5-е издание Дэнни Гудман, Майкл Моррисон JavaScript Bible, 5th Edition Danny Goodman, Michael Morrison |
Автор: rcdimon 13.7.2007, 11:35 | ||
а мне книга не понравилась. Во-первых одна тема (например массивы) разбита на куски и раскидана по всей книге... В конце кусочка написано- подробнее смотрите в такой-то главе.. Это совсем не хорошо... Во-вторых хоть она и толстая многого в ней нет, а многое неполно. Например я хотел посмотреть что такое designMode, узнать о нем подробнее... В итоге нашел записку на 2 строчки:
после этого решил книгу выбросить ) А еще мне очень не понравилось как они в начале книги высказались в адрес Оперы.. типа даже за браузер ее не считают, так фигня какая-то... Меня это очень обидело, потому что я ей пользуюсь и считаю лучшим браузером. И могу долго это доказывать |
Автор: Zeroglif 13.7.2007, 12:06 |
rcdimon, Опера виновата сама: - очень-очень-очень долго криво работала с DOM; - до сих пор не предоставляет нормально структурированной информации о своей реализации ECMAScript и т.п. - играет сейчас одновременно и на поле стандартов, и на поле "делаем как в IE", что всех окончательно запутало; На месте Гудмана мне тоже было бы чрезвычайно тяжело как-то оттенить Оперу от остальных в плане javascript, тупо мало информации даже сейчас, только если похвалить за сумасшедшую скорость работы с DOM и вообще скорость работы javascript-движка. Но не считать Оперу за браузер конечно же нельзя. Тут надо ещё понимать, что Гудман начинал писать тогда, когда Опера действительно не была конкурентна в этих вопросах, он писал, настроившись исключительно на Шкаф с ИЕ, писал больше про DOM0/BOM/DHTML и т.п. без упора на чистый javascript. Опера в этом смысле плавала. Отсюда и ноги растут. Отсюда и я тоже не считаю его книги удачными, особенно сейчас. |
Автор: sedoy_h 20.7.2007, 09:14 |
Ужасная книга. Лучше почитайте Дэвида Флэнагана |
Автор: JSman 22.7.2007, 00:30 |
навыпускали... вот книга дронова для новичков в самый раз. то, что оперу не учитывают - зря. я на ней только и сижу, а программирую под ie. а несколько глав о ajax - смешно. вообще нужно исходить так: вот , ребята, есть стандарт, но реально выполняют следующие браузеры, а вот какие аномалии возможны и тд. так что чушь ни о чем. смотрел я ее. |
Автор: Mymik 22.7.2007, 10:21 |
JSman, понимаешь, если нет документации по реализации DOM модели то и обсуждать этот браузер как-то не сильно удобно... а точнее вообще не удобно. Т.е. это если тебя взять и посадить за C++ и сказать, вот тебе мануал по DOS программирванию, а вот как в Windows ты уже сам как-нибудь придумай и не в коем случаи не пользуйся отлабчиками, интелесенсом и всеми остальными премудростями, все это зло. Ты должен развивать свое внутреннее чутье ;о). Вот тут тоже самое, перебирать всевозможные сочетания букв, чтобы найти нужный прототип это не сильно хорошее дело. |