Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Нейтральний аспект

1. Принципи Java.
Всім відомо, принципи Java - простота мови, безпека і переносимість коду. Ці принципи не завжди виконуються. Як наприклад, складність синтаксису вкладених класів. Але в цілому їх вплив на мову вибило Java в перші ряди. Зробити Java досить надійним інструментом, в таких областях як космічна промисловість (марсохід Spirit), для фінансова сфера.

2. Сфери застосування Java.

Згідно з твердженнями з сайту http://www.java.com/ru/about/ Java використовується в більш ніж 4,5 мільярдів пристроїв. Серед них:

1)більше 800 млн. персональних комп'ютерів;
2)2,1 мільярда мобільних телефонів і інших портативних пристроїв (джерело: Ovum);
3)3,5 мільярда смарт-карт;
4)телеприставки, принтери, веб-камери, ігри, автомобільні системи навігації, ігрові автомати, медичне обладнання, паркувальні автомати і т. д.


І тут особливе місце займає Java Enterprise Edition, це реалізація Java для створення корпоративного (Enterprise) програмного забезпечення, багаторозрядні розподілені системи, додатки масштабу підприємства: різні банківські системи, системи для підприємств планування ресурсів (ERP-системи), веб-сервіси і т. д.

Недоліки Java.

1. Багатослівність і громіздкість

Одна з проблем Java. І причини тут можна виділити дві: жорстка політика об'єктно-орієнтованого підходу (далі ООП), відсутність функцій першого класу (first-class function).


Політика ООП введена в Java з метою позбавлення від деяких небезпек, що виникають при створенні великого проекту. У Java ж неможливо створювати функції, які не є методами якогось класу. До прикладу, в С + + такої заборони немає. Через це в С + +, при проектуванні великих проектів, виникає цілий ряд небезпек. Використання функцій "не методів" призводить до того що:
1)може виникнути конфлікт при іменуванні функцій, коли ім'я функції з таким же набором параметрів і такого ж типу даних вже є.
2)проект в цілому ставати більш неповороткий.
3)проект ставати важкий для осмислення, не тільки для щойно прийшовшого програміста, але і для того, хто давно в проекті.

Заборона на функціональний підхід позбавляє від подібних небезпек і вчить хорошому тону програмування.


Функції першого порядку по-суті дуже схожі з класами першого порядку. Це функції, які можна передавати як параметри. У С + + це вирішується за допомогою підтримки покажчиків на функції. У Java все ж є способи передачі посилання на функцію, але зазвичай там де в С + + використовується покажчик на функцію, в Java прийнято використовувати Інтерфейси. Це більш багатослівна технологія, але при цьому вона позбавляє від небезпек при використанні покажчиків.

Як бачите на одній чаші ваг багатослівність з громіздкістю, а на іншій надійність роботи проекту і безпеку.

2. Ресурсомісткість і повільність.

Java, незважаючи на різні способи оптимізації, все ж досить ресурсомістка і повільна. Причини в наступному:

1)автоскладання сміття
2)компіляція "на льоту" (Just In Time compilation)
3)відмова від таких небезпечних механізмів як: арифметика покажчиків, неявне перетворення типів з втратою точності, функції першого класу

Але це все робить мову більш платформонезалежних і безпечним. Автоскладання сміття з одного боку звільняє програміста від турботи звільнення пам'яті, з іншого боку відома проблема коли автоскладання сміття не спрацьовувала і відбувався серйозний витік пам'яті.

Компіляція на льоту мабуть одне з найбільш вдалих рішень по реалізації.

////// Що ж, а інші переваги і недоліки Java ми зможемо досілидити конкретно при роботі з цією технологією J.

 

<== предыдущая лекция | следующая лекция ==>
Переваги | Виконання Java-програми
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 272; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.