Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Философия JAVA. Библиотека программиста

Брюс Эккель

Издано: 2001, СПб., "Питер"
Для широкого круга программистов
ISBN: 5-272-00250-4
Мягкий переплет, 800 стр.
Формат: 70x100/16

Начало
Полное содержание
Предисловие
Структура книги
Компакт-диск
[Заказать книгу в магазине "Мистраль"]

ВВЕДЕНИЕ

Подобно любому человеческому языку, Java предоставляет способ выражения понятий и идей. В случае успеха этот способ выражения будет более гибким и легким, чем другие, когда проблемы станут больше и сложнее.

Java нельзя понять, взглянув на него только как на коллекцию некоторых характеристик - некоторые из них ничего не значат в отдельности. Можно использовать совокупность черт только при планировании, а не простом создании кода. И чтобы понять Java в этом смысле, необходимо понять его задачи и задачи программирования в целом. Эта книга обсуждает проблемы программирования, почему они стали проблемами и какой подход использует Java для их решения. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как этим языком решаются определенные задачи. Таким образом я надеюсь понемногу приблизить вас к тому, чтобы мышление Java стало для вас естественным.

Повсюду в книге я исходил из того, что вы хотите построить в своей голове определенную модель, которая позволила бы вам развить глубокое понимание языка; если вы встретитесь с какой-то головоломкой, то сможете с помощью вашей модели языка быстро вывести ответ.

Предпосылки

Эта книга подразумевает, что вы имеете определенный опыт программирования: вы понимаете, что программа представляет собой набор операторов; имеете представление об идеях подпрограммы/функции/макрокоманды, управляющих операторах, подобных "if", циклических конструкциях типа "while" и т. п. Обо всем этом, однако, вы легко могли узнать из многих источников - программируя на макроязыке или работая с инструментом, подобным Perl. Если вы уже имеете достаточно опыта и не испытываете затруднений в понимании основных идей . программирования, то вы сможете работать с этой книгой. Конечно, книга будет легче для тех, кто использовал языки С и особенно C++, но не считайте себя неспособным к обучению, если вы с ними незнакомы (но хотите серьезно работать). Я представлю основы и понятия объектно-ориентированного программирования (ООП) и основные управляющие механизмы Java, так что вы будете знакомы с ними, также первые упражнения затронут основные операторы управления программой.

Несмотря на частое употребление ссылок на свойства языков С и C++, они не являются неотъемлемой частью книги - скорее, они предназначены для того, чтобы помочь всем программистам увидеть связь этих языков с Java, который все-таки был создан на их основе. Я попытаюсь сделать эти ссылки проще и объяснять подробнее то, что незнакомый с C/C++ программист может не понять.

Изучение Java

Примерно в то самое время, когда вышла моя первая книга "Использование C++" (Издательство Osborne/McGraw-Hill, 1989), я начал обучать этому языку. Обучение языкам программирования стало моей профессией; я видел немало кивающих голов, пустых лиц и озадаченных выражений по всему миру. Но когда я начал давать домашние уроки небольшим группам людей, я кое-что понял. Даже те ученики, которые усердно кивали и улыбались, многое не понимали до конца. Я обнаружил, несколько лет председательствуя на курсе C++ на конференции Software Development Conference (а затем и на курсе Java), что я и другие преподаватели имеют обыкновение очень быстро давать аудитории слишком много тем. Так что со временем из-за разницы в уровне подготовки аудитории и способа, которым я давал материал, я бы потерял солидную часть учеников. Возможно, это чересчур, но так как я являюсь одним из противников традиционного чтения лекций (у большинства, я полагаю, это неприятие возникает из-за скуки), я хотел, чтобы за мной успевали все ученики.

Недавно я создал несколько разных презентаций за достаточно короткое время. Таким образом, я закончил обучение с помощью экспериментов и повторения (техника, хорошо работающая и при планировании Java-программ). В конце концов я разработал курс, использующий все, что я вынес из своего преподавательского опыта, - курс, который я был бы рад давать в течение долгого времени. Он подходит к изучаемой проблеме в серии разделенных, легко классифицируемых шагов, и на семинарах поддержки (идеальных для обучения) рассматриваются упражнения для каждого из коротких уроков. Сейчас я преподаю этот курс на открытых семинарах по Java, о которых можно узнать по адресу www.BruceEckel.com. (Семинар для начинающих существует также на отдельном компакт-диске. Информацию о нем можно найти по указанному адресу.)

Обратная связь, осуществляемая мной с помощью семинаров, помогает мне изменять и перерабатывать материал до тех пор, пока он не станет хорош в качестве учебного пособия. Но эта книга не является просто собранием заметок с семинаров - я старался поместить сюда как можно больше информации и устроить ее таким образом, чтобы легко вводить вас в следующую тему. Более всего книга рассчитана на отдельного читателя, столкнувшегося с трудностями нового языка.

Цели

Подобно моей предыдущей книге "Thinking in C++", эта книга была создана на основе процесса преподавания языка. В особенности мне хотелось создать что-то, способное дать мне метод обучения людей на семинарах. Когда я размышляю о главе в книге, я на самом деле думаю о том, как сделать это хорошим уроком на семинаре. Моя цель - создать легкие для усвоения в короткое время уроки с сопровождающими их упражнениями, которые выполнимы в обстановке занятий в классе.

Мои цели в данной книге таковы:

  1. Представлять материал в виде простых шагов, так чтобы вы смогли усвоить его и все связанные понятия перед тем, как продолжить изучение.
  2. Использовать примеры как можно более простые и понятные. Иногда это мешает представлять решения "реальных" задач, но я обнаружил, что начинающим лучше, когда они понимают каждую деталь примера, а не восхищаются его мощью и количеством решаемых задач. Также существуют достаточно строгие ограничения по количеству кода, который можно усвоить в классе. Несомненно, меня будут критиковать за использование "игрушечных примеров", но я использую их в надежде на получение педагогического эффекта.
  3. Осторожно представлять новые черты языка, так чтобы вы не столкнулись с тем, что еще не было вами изучено. Конечно, это не всегда возможно; в таких ситуациях дается краткое вводное описание.
  4. Давать то, что, по-моему, действительно важно для понимания языка, а не все, что я знаю. Я полагаю, что существует различная по важности информация и есть некоторые явления, которые 95 % программистов никогда не понадобятся и только смущают людей, усугубляя сложность восприятия нового языка. Возьмем пример из С: если вы помните таблицу приоритета операций (я не помню), то можете писать умные программы. Но ведь это может смутить читающего/обслуживающего код человека, если вам это важно. Так что уж лучше забудьте о приоритете и используйте круглые скобки там, где что-то неясно.
  5. Стараться сосредоточить каждую часть так, чтобы время лекций - и время между упражнениями - было малым. Это не только сохраняет свежесть восприятия аудитории на семинарах, но и дает читателю чувство выполненного дела после прочтения этой части.
  6. Обеспечить вас твердой основой для того, чтобы вы смогли понять идеи достаточно хорошо и смогли продолжить изучение с помощью более трудных книг и курсов.

Интерактивная документация

Язык Java и его библиотеки от компании Sun (бесплатно загружаемые) предоставляются с документацией в электронном виде, которая просматривается из любого Web-броузера, и практически любая реализация Java имеет такую или подобную ей систему документации. Почти все книги, посвященные Java, повторяют эту документацию. Так что, есть она у вас или нет, эта книга не будет, за исключением необходимых случаев, повторять документацию, потому что обычно можно гораздо быстрее найти описание класса с помощью броузера, чем листать в его поиске книгу (и потом, интерактивная документация обычно более свежая). Эта книга будет предоставлять дополнительные описания для классов только в том случае, если это будет необходимо для понимания какого-то примера.

Начало
Полное содержание
Предисловие
Структура книги
Компакт-диск
Заказать книгу в магазине "Мистраль"

 

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...