Распространенные заблуждения о языке Java

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

 

Язык Java — это расширение языка HTML

Java — это язык программирования, a HTML — способ описания структу­ры веб-страниц. У них нет ничего общего, за исключением дескрипторов HTML- разметки, позволяющих размещать на веб-страницах аплеты, написанные на Java.

 

Я пользуюсь XML, и поэтому мне не нужен язык Java

Java — это язык программирования, a XML — средство описания данных. Данные, представленные в формате XML, можно обрабатывать программными средствами, написанными на любом языке программирования, но лишь в прикладном интерфей­се API языка Java содержатся превосходные средства для обработки таких данных. Кроме того, на Java реализованы многие программы независимых производителей, предназначенные для работы с XML-документами. Более подробно этот вопрос об­суждается во втором томе данной книги.

 

Язык Java легко выучить

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

 

Java со временем станет универсальным языком программирования для всех платформ

Теоретически это возможно. Именно об этом мечтают все производители про­граммного обеспечения, кроме корпорации Microsoft. Но есть немало приложений, которые отлично работают на настольных компьютерах, и вряд ли они будут так же надежно работать на других устройствах или в окне браузера. Кроме того, эти приложения написань! таким образом, чтобы в максимальной степени использовать возможности процессоров и платформенно-ориентированных библиотек. В любом случае они уже перенесены на все основные платформы. К таким приложениям от­носятся текстовые и графические редакторы, а также веб-браузеры. Как правило, эти приложения написаны на С или C++, и пользователь ничего не выиграет, если пере­писать их на Java.

 

Java — это всего лишь очередной язык программирования

Java — прекрасный язык программирования. Многие программисты отдают пред­почтение именно ему, а не языку С, C++ или С#. Но в мире существуют сотни великолепных языков программирования, так и не получивших широкого распростране­ния, в то время как языки с очевидными недостатками, как, например C++ и Visual Basic, достигли поразительных успехов.

Почему так происходит? Успех любого языка программирования определя­ется в большей степени его системой поддержки, чем изяществом его синтаксиса. Существуют ли стандартные библиотеки, позволяющие сделать именно то, что тре­буется программисту? Разработана ли удобная среда для создания и отладки про­грамм? Интегрирован ли язык и его инструментарий в остальную инфраструктуру компьютера? Язык Java достиг успехов в области серверных приложений, поскольку

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

 

С появлением C# язык Java устарел

Создатели языка C# использовали многие удачные технические решения, приме­нявшиеся в Java, в том числе язык с ясно определенным синтаксисом, виртуальную машину и систему "сборки мусора". Но по ряду характеристик C# уступает Java, включая вопросы безопасности и переносимости программ. Самое очевидное преимущество C# — это прекрасная среда разработки. Если вы привязаны к ОС Windows, в таком случае вам, вероятно, стоит пользоваться С#. Если же оценивать реальное положение дел в программировании, то на сегодняшний день Java по-прежнему от­дают предпочтение очень многие программисты.

Заблуждения и ошибочные суждения о Java 

Java является патентованным средством, и поэтому пользоваться им не рекомен­дуется

Сразу же после создания Java компания Sun Microsystems предоставляла бесплат­ные лицензии распространителям и конечным пользователям. Несмотря на то что компания Sun Microsystems полностью контролировала распространение Java, в ра­боту над этим языком и его библиотеками были вовлечены многие другие компании. Исходный код виртуальной машины и библиотек доступен всем желающим, но его можно использовать лишь для ознакомления, а вносить в него изменения запреще­но. До настоящего момента язык Java имел "закрытый исходный код, но прекрасно работал".

Ситуация изменилась кардинально в 2007 году, когда компания Sun Microsystems объявила, что последующие версии Java будут доступны на условиях General Public License (GPL) — той же лицензии открытого кода, по которой распространяется Linux. Компания Oracle проявила свою приверженность к сохранению открытости кода Java, но с одной важной оговоркой — патентованием. Всякий может получить патент на использование и видоизменение кода Java по лицензии GPL, но только на настольных и серверных платформах. Так, если вы желаете использовать Java во встроенных системах, для этой цели вам потребуется другая лицензия, которая, ско­рее всего, повлечет за собой определенные отчисления. Впрочем, срок действия таких патентов истекает через десять лет, после чего язык Java станет совершенно бесплат­ным.

 

Программы на Java работают под управлением интерпретатора и серьезные приложения будут выполняться слишком медленно

В начале развития Java программы на этом языке действительно интерпретиро­вались. Теперь в состав всех виртуальных машин, за исключением "микроредакции" для таких устройств, как мобильные телефоны, входит динамический компилятор. Основные элементы кода будут выполняться не медленнее, чем если бы они были написаны на C++, а в некоторых случаях даже быстрее.

Для Java характерны дополнительные накладные расходы по сравнению с языком С. Запуск виртуальной машины требует времени, и поэтому ГПИ, написанный на Java, действует медленнее, чем аналогичный интерфейс в собственном коде, посколь­ку он воспроизводится платформенно-независимым способом.

Пользователи уже давно жалуются на низкое быстродействие Java. Но с того вре­мени, когда начались эти жалобы, вычислительные мощности компьютеров мно­гократно возросли. И теперь медленные программы на Java работают быстрее, чем несколько лет назад выполнялись даже самые "молниеносные" программы на C++. Ныне эти жалобы выглядят надуманными, и потому некоторые скептики вместо это­го стали жаловаться на "уродливый" пользовательский интерфейс Java.

 

Все программы на Java выполняются на веб-страницах

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

 

Программы на Java представляют большую опасность для системы защиты

В свое время было опубликовано несколько отчетов об ошибках в системе защиты Java. Большинство из них касалось реализаций языка Java в конкретных браузерах. Исследователи восприняли это как вызов и принялись искать глобальные недостатки в системе защиты Java, чтобы доказать недееспособность модели безопасности апле­тов. Их усилия не увенчались успехом. Обнаруженные ошибки в конкретных реали­зациях вскоре были исправлены, и, после этого, насколько нам известно, ни одна ре^ альная система не была взломана посредством аплета. Чтобы оценить значение этого факта, вспомните о миллионах вирусных атак на исполняемые файлы операционной системы Windows и макросы редактора Word, действительно вызвавшие немало хло­пот. При этом критика недостатков платформы была удивительно беззубой. Кроме того, механизм ActiveX в браузере Internet Explorer мог бы вызвать много нареканий, но способы его взлома настолько очевидны, что лишь немногие специалисты потру­дились опубликовать результаты своих исследований.

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

 

Язык JavaScript — упрощенная версия Java

JavaScript — это язык сценариев, которые можно использовать на веб-стра­ницах. Он был разработан компанией Netscape и сначала назывался LiveScript. Синтаксис JavaScript напоминает синтаксис Java, но на этом их сходство и закан­чивается (за исключением названия, конечно). Подмножество JavaScript было нор­мировано по стандарту ЕСМА-262. Сценарии JavaScript более тесно связаны с бра­узерами, чем аплеты Java. В частности, сценарий JavaScript может видоизменить отображаемый документ, в то время как аплет контролирует только свою ограни­ченную область отображения.

 

Пользуясь Java, можно заменить компьютер недорогим устройством для доступа к Интернету

Когда появился язык Java, некоторые были уверены, что так и случится. И хотя в продаже появились сетевые компьютеры, оснащенные средствами Java, пользовате­ли не спешат заменить свои мощные и удобные персональные компьютеры устрой­ствами без жестких дисков с ограниченными возможностями. Казалось бы, сетевой компьютер, оснащенный средствами Java, давал вполне реальную, возможность реа­лизовать "нулевую администраторскую инициативу", направленную на уменьшение стоимости компьютеров, применяемых в деловой сфере. Но это направление не по­лучило большого развития. А в современных планшетных компьютерах Java вообще не применяется


 

Вас заинтересует / Intresting for you:

Выбор среды для разработки код...
Выбор среды для разработки код... 2531 просмотров Stas Belkov Sun, 10 Jun 2018, 14:21:35
Как выполнить / скомпилировать...
Как выполнить / скомпилировать... 6122 просмотров Stas Belkov Thu, 21 Jun 2018, 18:32:00
Вызов Java-программ из PL/SQL:...
Вызов Java-программ из PL/SQL:... 9767 просмотров Antoni Mon, 06 Jan 2020, 15:02:03
Как вызвать код Java из програ...
Как вызвать код Java из програ... 4770 просмотров Максим Николенко Fri, 19 Jan 2018, 06:34:50
Войдите чтобы комментировать