Effective Java
-
Просмотров: 50
Описание книги
Если бы сослуживец сказал вам: «Супруга моя этим вечером сегодня производит в доме необычный обед. Ты приходишь?», то вам в голову, вероятно, пришли бы сразу три мысли: в-третьих, что вас пригласили на обед; во-вторых, что ваш сослуживец явно иностранец; ну и, прежде всего, вы будете крайне озадачены.
Если вы сами когда-нибудь изучали второй язык, а затем пробовали им пользоваться за пределами аудитории, то уже знаете, что есть три вещи, которые необходимо знать:
каким образом структурирован изучаемый язык (грамматика), как называются вещи, о которых вы хотите сказать (словарь), а также общепринятые и эффективные варианты разговора о повседневных вещах (лексические обороты). В аудитории слишком часто ограничиваются изучением лишь первых двух из этих вещей, и вы обнаруживаете, что носители языка постоянно давятся от смеха, выслушивая, как вы пытаетесь, чтобы вас поняли.
С языком программирования дело обстоит практически так же. Вам необходимо понимать суть языка: является он алгоритмическим, функциональным или объектно-ориентированным. Вам нужно знать словарь языка: какие структуры данных, операции и возможности предоставляют стандартные библиотеки. Вам необходимо также ознакомиться с общепринятыми и эффективными способами структурирования вашего кода. В книгах, посвящённых языкам программирования, часто освещаются лишь первые два вопроса, приёмы работы с языком если и обсуждаются, то лишь кратко.
Возможно, это происходит потому, что о первых двух вещах писать несколько проще.
Грамматика и словарь — это свойства самого языка, тогда как способ его использования характеризует группу людей, которая этим языком пользуется.
Например, язык программирования Java — это объектно-ориентированный язык с единичным наследованием, обеспечивающим для каждого метода императивный (ориентированный на действия) стиль программирования. Его библиотеки ориентированы на поддержку графических дисплеев, работу с сетью, распределённые вычисления и безопасность. Однако как наилучшим образом использовать этот язык на практике?
Есть и другой аспект. Программы, в отличие от произнесённых фраз, а также большинства книг и журналов, имеют возможность меняться со временем. Обычно недостаточно создать программный код, который эффективно работает и без труда может быть понят другими людьми. Нужно ещё организовать этот код таким образом, чтобы его можно было легко модифицировать. Для некоторой задачи А может быть десяток вариантов написания программного кода. Из этих десяти семь окажутся неуклюжими, неэффективными или запутывающими читателя. Какой же из оставшихся трёх вариантов вероятнее всего будет похож на программный код, который потребуется в следующем году для новой версии программы, решающей задачу А?
Есть много книг, по которым можно изучать грамматику языка программирования Java, в том числе книги «The Java™ Programming Language» авторов Arnold, Gosling и Holmes
читать полностью