Впервые читатель может познакомиться с полной версией этого классического труда, который ранее на русском языке печатался в сокращении. Книга, выдержавшая в оригинале не одно переиздание, за глубокое и поистине философское изложение тонкостей языка Java считается одним из лучших пособий для программистов. Чтобы по-настоящему понять язык Java, необходимо рассматривать его не просто как набор неких команд и операторов, а понять его «философию», подход к решению задач, в сравнении с таковыми в других языках программирования. На этих страницах автор рассказывает об основных проблемах написания кода: в чем их природа и какой подход использует Java в их разрешении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.
Развитие абстракции.
Все языки программирования построены на абстракции. Возможно, трудность решаемых задач напрямую зависит от типа и качества абстракции. Под словом «тип» я имею в виду ответ на вопрос: «Что конкретно мы абстрагируем?» Язык ассемблера есть небольшая абстракция от компьютера, на базе которого он работает. Многие так называемые «командные» языки, созданные вслед за ним (такие, как Fortran, BASIC и С), представляли собой абстракции следующего уровня. Эти языки обладали значительным преимуществом по сравнению с ассемблером, но их основная абстракция по-прежнему заставляет мыслить в контексте структуры компьютера, а не решаемой задачи. Программист должен установить связь между моделью машины (в «пространстве решения», которое представляет место, где реализуется решение, — например, компьютер) и моделью задачи, которую и нужно решать (в «пространстве задачи», которое является местом существования задачи, — например, прикладной областью). Для установления связи требуются усилия, оторванные от собственно языка программирования; в результате появляются программы, которые трудно писать и тяжело поддерживать. Мало того, это еще создало целую отрасль «методологий программирования».
Альтернативой моделированию машины является моделирование решаемой задачи. Ранние языки, подобные LISP и APL, выбирали особый подход к моделированию окружающего мира («Все задачи решаются списками» или «Алгоритмы решают все» соответственно). PROLOG трактует все проблемы как цепочки решений. Были созданы языки для программирования, основанного на системе ограничений, и специальные языки, в которых программирование осуществлялось посредством манипуляций с графическими конструкциями (область применения последних оказалась слишком узкой). Каждый из этих подходов хорош в определенной области решаемых задач, но стоит выйти из этой сферы, как использовать их становится затруднительно.
ОГЛАВЛЕНИЕ.
Предисловие.
Введение.
Глава 1. Введение в объекты.
Глава 2. Все является объектом.
Глава 3. Операторы.
Глава 4. Управляющие конструкции.
Глава 5. Инициализация и завершение.
Глава 6. Управление доступом.
Глава 7. Повторное использование классов.
Глава 8. Полиморфизм.
Глава 9. Интерфейсы.
Глава 10. Внутренние классы.
Глава 11. Коллекции объектов.
Глава 12. Обработка ошибок и исключения.
Глава 13. Строки.
Глава 14. Информация о типах.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Философия Java, Эккель Б., 2015 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать djvu
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - djvu - Яндекс.Диск.
Дата публикации:
Хештеги: #учебник по программированию :: #программирование :: #Эккель
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- Изучаем Angular 2, Дилеман П., 2017
- Секреты JavaScript ниндзя, Резиг Д., Бибо Б., 2015
- Django, Подробное руководство, Головатый А., Каплан-Мосс Д., 2010
- Python в системном администрировании UNIX и Linux, Гифт Н., Джонс Д., 2009
Предыдущие статьи:
- Секреты Python, 59 рекомендаций по написанию эффективного кода, Слаткив Б., 2016
- Байесовский анализ на Python, Мартин О., 2020
- Шаблоны корпоративных приложений, Фаулер М., 2016
- Программирование для нормальных с нуля на языке Python, часть 1, Сысоева М.В., Сысоев И.В., 2018