11 Джошуа Блош в своей книге (в разделе «Избегайте финализаторов») высказывается еще решительнее: «Финализаторы непредсказуемы, зачастую опасны и чаще всего не нужны».
12 Этот термин предложил Билл Веннерс (www.artima.com) во время семинара, который мы проводили с ним вместе.
Конечно, проверка каждого массива на соблюдение границ требует времени и дополнительного кода, и отключить ее невозможно. Это может снизить быстродействие программы, у которой в критичных (по времени) местах активно используются массивы. Но проектировщики Java решили, что для безопасности Интернета и продуктивности программиста такие издержки себя оправдывают.
Использовать Java-интерпретатор не обязательно. Существует несколько компиляторов, создающих единый исполняемый файл.
13 На самом деле доступ private или protected могут иметь
14 Эта концепция внутренних классов сильно отличается от концепции
15 Близкий аналог вложенных классов С++, за тем исключением, что в Java вложенные классы способны обращаться к закрытым членам внешнего класса.
16 Я всегда решал эту задачу с особым удовольствием; она впервые появилась в одной из первых моих книг
17 Механизм обработки исключений в языке С++ не имеет аналога finally, поскольку опирается на деструкторы в такого рода действиях.
18
19 Язык С++ стандарта ISO вводит аналогичные ограничения при возбуждении исключений унасле-' дованными версиями методов (исключения обязаны быть такими же или унаследованными от исключений базовых версий методов). Это единственный способ С++ для контроля верности описания исключений во время компиляции.
Косвенно через язык Smalltalk, после разговоров со многими опытными программистами на этом языке, и напрямую при работе с Python (www.Python.org).
20 Киз Костер, архитектор языка CDL, процитировано Бертраном Мейером, создателем языка Eiffel. http://www.elj.com/elj/vl/nl/bm/right.