Смекни!
smekni.com

Восемь мифов про Java (стр. 2 из 2)

Java идеал, она не нуждается в улучшениях

Java была создана в 19941995 гг. К этому моменту информационные технологии получили интенсивное развитие как за счет персонализации компьютеров, так и отчасти за счет распространения Интернета. Авторы Java постарались воплотить в ней все достижения информационной индустрии, но идеал, как известно, недостижим. Кое-что все-таки осталось за бортом, в том числе проверка условий правильности выполнения программы, программирование по контракту, шаблоны и др. В Си++ существует средство проверки условий, называемое asset. Эта функция проверяет некоторое условие, задаваемое программистом, на истину. Если условие ложно, asset останавливает программу и указывает, что допустимые условия работы нарушены, при этом компилятор при создании конечной версии программы вызовы asset отбрасывает. В Java подобной возможности не существует. Разумеется, можно использовать проверку условий и генерацию исключений на их основе, но в результате все эти проверки попадут в исполняемый код программы. Существует более мощная технология, чем asset. Это Design By Contract, программирование по контракту, позволяющее упростить создание больших приложений, которые используют ранее созданный код. Java же не поддерживает и программирование по контракту. Шаблоны классов в Си++ это возможность генерации кода под указанный пользователем класс (на самом деле разработчики Java вполне осознанно отказались от шаблонов, полагая, что от них больше проблем, чем пользы. Прим. ред.). Коллекция объектов, реализованная с помощью шаблона, будет компилироваться каждый раз для каждого типа объектов, хранимого в этой коллекции. Типичная коллекция объектов в Java хранит экземпляры класса Object, предка всех Java-классов. Программист, извлекая объекты из коллекции, вынужден использовать приведение типа, чтобы воспользоваться своим рабочим классом. Такое приложение работает прекрасно до тех пор, пока другой программист случайно не добавит в коллекцию экземпляр совершенно другого класса. Тогда на этапе компиляции ошибки не возникает, но она происходит позднее, при извлечении экземпляра и попытке приведения его к неверному типу. В настоящее время Java продолжает развиваться. Не исключено, что уже в ближайшем будущем мы увидим в ней некоторые из упомянутых выше возможностей.

Java стоит кучу денег

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