22.08.00
| Иллюстрация | |
![]() | |
| Обложка книги. | |
Я решил, что мне нужна книга по Java тогда, когда появилось требование что-то написать на этом языке более серьезное, чем рисование в окошке окружности.
Все книги по Java, как мне кажется, отличаются одним и тем же недостатком: они все рассчитаны на начинающих программистов (каким бы самомнением эта фраза не отдавала бы). Причем, начинающих программировать не конкретно на Java, а "вообще". Я решил купить именно "руководство разработчика" по нескольким причинам: во-первых, это единственная книга по Java 2, остальные все рассчитаны на JDK 1.1.x. Во-вторых, она достаточно "толстая" и в твердом переплете, это мне всегда нравилось в книгах ;) В третьих, мне понравились некоторые пункты содержания, например: "высокоуровневые сетевые операции с использованием ORB-серверов" или "проектирование с использованием языка UML".
Тем не менее, мне потребовалось два дня на то, что бы понять окончательно, что книгу я купил совершенно напрасно. Потому что в "руководстве разработчика" никак не может быть подобных фраз:
| Цитата | |
|
В Mac OS не существует режима командной строки. Что бы запустить приложение, написаное на Java, перетащите пиктограмму файла класса на пиктограмму интерпретатора Java. | |
Я более чем уверен в том, что "разработчику" такие комментарии ни к чему. Потому что какой он "разработчик", если не умеет запустить приложение в своей операционной системе? Конечно же, этот комментарий расположен на 33 странице, в самом начале книги и можно делать поправку на то, что это, все-таки, вводные главы... тем не менее "разработчик" вполне способен обратиться к документации на операционную систему для того, что бы узнать как ему запускать приложения. Следующая "врезка" тоже стоит цитирования:
| Цитата | |
|
... Тогда конечному пользователю для запуска вашего приложения, как и для запуска любой другой программы, будет достаточно дважды щелкнуть на пиктограмме командного файла. | |
Это просто смешно. Меня можно, конечно же, обвинить в том, что я уж очень сильно придираюсь, но это все-таки показатель. Вся книга далее примерно такого же "сопливого" содержания.
Я совершенно не понимаю, зачем в "руководство разработчика" по Java включены главы, посвященные объектно-ориентированному анализу при помощи UML. Существуют очень хорошие книги по UML, к ним и надо, в принципе, отсылать читателя, а не мусолить эту тему лишний раз --- все-таки, книга посвящена Java 2? Т.е., если бы в книге была бы описана специфика применения UML к проектированию программных комплексов, написанных на Java, то это было бы понятно. Но "вводные главы" можно прочитать и отдельно.
В принципе, я понмаю, почему книга вызывает у меня такое неудовольствие. Скорее всего, это не недостаток самой книги, а особенности Java как языка программирования. Ведь, если сравнивать его с C++, то Java будет значительно проще. Именно как язык программирования. Из Java удалены практически все "тонкие" моменты C++ --- т.е., в принципе, конструкции языка, которые пишет человек, только что начавший использовать Java, и профессионал, друг от друга будут отличаться в меньшей степени, чем если использовать C++. Упрощено все: вплоть до того, что не надо заботиться о том, что бы определение функции (к примеру) предшествовало ее использованию. Еще раз повторю --- сам по себе язык программирования Java прост в использовании.
Тогда единственную сложность представляет стандартная библиотека Java, но ее значительно проще изучать по предоставляемой документации, в ней, все-таки, есть гипертекстовые ссылки, а это много удобнее перелистывания бумажных страниц.
Таким образом, любая книга по Java будет ориентирована на людей, которые по большому счету не знакомы с программированием. Именно поэтому в них так много "воды". "Руководство разработчика" не стало исключением из этого правила.
Я так думаю, что для изучения Java (конечно же, если уже хорошо знаком какой-либо другой язык программирования) книга не нужна вообще --- документации, поставляемой с JDK хватает за глаза. Самое лучшее, что можно придумать для изучения Java это попытки его реального использования. В нем меньше ньюансов, чем в C++, поэтому сам язык не доставит особенных неприятностей (кроме привыкания к характерным особенностям), а стандартная библиотека выстроена в достаточной степени логично для того что бы с ней разобраться по документации.
| http://java.sun.com | Сайт разработчика языка программирования Java, на котором можно скачать последнюю версию JDK. |