12 Об авторах Об авторах Герберт Шилдт является известным автором книг по языкам программирования Java, C, C++ и C#, а также экспертом по программированию для Windows. Его книги по программированию разошлись тиражом более чем три миллиона экземпляров и переведены на все основные языки мира. Он автор многочисленных бестселлеров серий Полный справочник и Руководство для начинающих. Его перу принадлежат книги: Полный справочник по Java 2, по C, C++, C#. Герберт Шилд имеет степень ма" гистра компьютерных наук в университете штата Иллинойс. С Шилдтом можно связаться по телефону (217) 586"4683. Джеймс Холмс является признанным лидером по программированию на языке Java. Он был признан лучшим специалистом 2002 года журналом Oracle Magazine Java Developer. Джеймс входит в группу разработчиков открытого программного ко" да Jakarta Struts. В настоящее время он является независимым консультантом по языку Java и имеет сертификации Sun Certified Java Programmer и Sun Certified Web Component Developer. К Джеймсу можно обратиться по электронной почте james@ jamesholmes.com или посетить его Web"сайт http://www.JamesHolmes.com. Предисловие Собравшись в 1991 году в фирме Sun Microsystems, Джеймс Гослинг, Патрик На" гхон, Крис Уорш, Ед Франк и Майк Шеридан начали работу над новым языком про" граммирования, который вскоре потряс основы программирования. Изначально на" званный Oak (Дуб), новый язык программирования в 1995 был переименован в Java и именно с тех пор начал изменять основы программирования. Изменения происхо" дили по двум важным направлениям: во"первых, в Java были включены средства, облегчающие использование и разработку приложений Internet. Java стал первым языком, по"настоящему приспособленным для работы с Internet. Во"вторых, Java значительно изменил среду разработки программ и повысил скорость и качество разработки проектов. Например, была заново пересмотрена па" радигма объектно"ориентированного программирования, получила завершенный вид обработка исключительных ситуаций, многопоточная обработка была встроена в язык, а также был использован промежуточный язык, названный байт"кодом, кото" рый позволил использовать язык Java на различных платформах. Успеху Java способствовала опора на две важные концепции: встроенная под" держка Internet и удобная среда разработки. Реализация каждой из этих концепций по отдельности уже сделали бы Java отличным языком программирования, но ком" бинация этих концепций сделали Java поистине великим языком. В этой книге объяснены многие причины, по которым Java стал действительно экстраординарным языком программирования. О чем эта книга Эта книга отличается от множества других книг по языку Java. В то время как другие книги обучают основам языка, эта книга показывает, как использовать язык наиболее эффективно, с большей пользой и отдачей для решения запутанных задач Необходимые знания для чтения книги 13 программирования. На страницах книги постепенно раскрывается мощь, универ сальность и элегантность языка Java. Как и можно ожидать, несколько приложений, таких как менеджер загрузки в гла ве 4 или фрагменты электронной почты в главе 5, связаны непосредственно с Inter net. Многие главы посвящены анализу кода, который иллюстрирует выразительные возможности Java независимо от Internet. Например, интерпретатор языка в главе 3 или подпрограммы поиска в главе 10, которые мы называем примерами “чистого ко да”. Ни одно из этих приложений не связано с Internet и не использует графический интерфейс. Они являются примерами фрагментов кода, которые можно найти ранее написанными на языке C++. Легкость, с которой эти программы могут быть написа ны на языке Java, подтверждает гибкость и элегантность языка. В каждой главе рассматриваются фрагменты кода, который можно использовать “как есть”. Например, синтаксический анализатор из главы 2 может послужить от личным дополнением для многих разработок. Однако наибольшую пользу от этих программ можно получить, если их использовать как базовые для разработки собст венных приложений. Например, Webчервь, описание которого находится в главе 7, может послужить основой для разработки архиватора Webсайта или детектора раз рыва связи. В общем, рассматривайте приведенные программы как основу для своих дальнейших разработок. Необходимые знания для чтения книги Читатели этой книги должны иметь хорошие знания основ языка Java. Необхо димо уметь создавать, компилировать и запускать Javaпрограммы, пользоваться ос новными возможностями интерфейса прикладного программирования Java, уметь обрабатывать исключительные ситуации и создавать многопоточные программы. Таким образом, предполагается, что, принимаясь за эту книгу, читатели уже знако мы с языком Java и разработали на нем несколько программ. Если читатель считает себя недостаточно подготовленным для работы с языком 1 Java, то такие книги, как Java 2: A Beginner's Guide и Java 2: The Complete Reference издательства McGrawHill/Osborne, позволят лучше понять основы Java или осве жить свои знания. Эффект командной работы Я пишу о программировании уже много лет и сейчас я редко работаю с соавтора ми. Однако эта книга является исключением. Я встретился с одним из ярчайших та лантов в программировании, Джеймсом Холмсом. Джеймс является выдающимся программистом с впечатляющими достижениями. Он признан лучшим специали стом 2002 года по результатам конкурса, проведенного журналом Oracle Magazine Java Developer. Также отмечена его деятельность в группе разработчиков открытого программного кода Jakarta Struts. Поскольку Джеймс обладает уникальными зна ниями в программировании для Internet, я рад, что смог привлечь его сотрудничать со мной. В результате Джеймс написал главы 4, 5, 6 и 7, которые включают боль шинство рассмотренных в этой книге приложений для Internet. 1 Перевод этой книги на русском языке выйдет в 2005 году в ИД "Вильямс" 14 Не забудьте Не забудьте Не забывайте, что исходный код примеров для всех глав и проекты из книги дос тупны на сайте www.osborne.com. Что еще написано Гербертом Шилдтом Данная книга входит в серию книг по программированию. Ниже приведены еще несколько различных серий, которые могут представлять интерес. При изучении Java: Java 2: The Complete Reference Java 2: A Beginner's Guide Java 2: Programmer's Reference При изучении C++: C++: The Complete Reference (Полный справочник по C++) C++: A Beginner's Guide (C++: Руководство для начинающих) Teach Yourself C+ + (Освой самостоятельно C++ за 21 день) C++ From the Ground Up (C++: базовый курс) STL Programming From the Ground Up При изучении C#: C#: A Beginner's Guide C#: The Complete Reference (Полный справочник по С#) Если есть необходимость более подробно познакомиться с языком C и основами современного программирования, то используйте следующие книги: C: The Complete Reference (Полный справочник по С) Teach Yourself C (Освой самостоятельно C за 21 день) Что написано Джеймсом Холмсом Для знакомства с распорками — открытыми фрагментами программного кода каркасов приложений для Webразработчиков — рекомендуется следующая книга: Struts: The Complete Reference 15 От издательства От издательства Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересно услышать и любые другие замечания, которые вам хотелось бы высказать в наш адрес. Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бу. мажное или электронное письмо, либо просто посетить наш Web.сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас. Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обя. зательно учтем его при отборе и подготовке к изданию последующих книг. Наши ко. ординаты: E-mail: [email protected] WWW: http://www.williamspublishing.com Информация для писем из: России: 115419, Москва, а/я 783 Украины: 03150, Киев, а/я 152