Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Переваги

Вступ.

Типи даних

Середовище розробки NetBeans. Установка, налаштування, перша программа

Вступ.

План

3. Змінні і коментарі

4. Оператори

5. Потоки введення та виведення даних

 

0.1. Давайте поближче познайомимось з тим, що таке Java і з чим його їдять.

0.1.1. По-перше, це острів «Ява» в Малайському архіпелазі, територія Індонезії. Це сорт кофе, який полюбляють пити творці Java. А якщо серйозно, то відповісти на це питання досить важко, тому що границі Java, і без того розмиті, всь час розширюються. Спочатку Java (офіційний день нардження технології Java — 23 травня 1995 г.) призначалась для програмування побутових електронних пристроїв, таких як мобільні телефони. Потім Java стала застосовуватися для програмування браузерів — появились аплети. Потім виявилося, що на Java можна створювати повноцінні аплікації. Їх графічні елементи стали оформлять у вигляді компонентів — появились JavaBeans, з котрими Java ввійшла в світ розподілених систем і проміжного програмного забезпечення, тісно повязаних з технологією CORBA. Остався один крок до програмування серверів — цей крок був зроблений — зявилися сервлети і EJB (Enterprise JavaBeans). Сервери повинні взаємодіяти з базами даних — появились драйвери JDBC (Java DataBase Connection). Взаємодія виявилася ефективною, і багато систем управління базами даних і навіть операційні системи включили Java в своє ядро, наприклад Oracle, Linux, MacOS X, AIX. Що ще не охоплено? Назвіть, і через півроку почуєте, что Java уже застосовується і там. Із-за такої розмитості самого поняття його описують таким же розмитим словом — технологія.

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

Таке швидке і широке розповсюдження технології Java не в останню чергу повязано з тим, що вона використовує нову, спеціально створену мову програмування, яка так і називається — мова Java. Ця мова створена на базі мов Smalltalk, Pascal, C++ і ін., увібравши їх кращі, на думку творців, риси і відкинувши гірші. На цей рахунок єсть різні думки, але безперечно, що мова виявилася зручною для вивчення, написані на ній програми легко читаються і налаштовуються: першу програму можна написати уже через годину після початку вивчення мови. Мова Java становиться мовою навчання обєктно-орієнтованому програмуванню, так само, як мова Pascal була мовою навчання структурному програмуванню. Недарма на Java уже написано величезна кількість програм, бібліотек класів, а власний аплет не написав тільки вже зовсім лінивий або той, хто лише починає її вивчати, як ми з вами.

Зрозуміло, що всю технологію Java неможливо викласти в декількох лекціях, повне її описання складе цілу бібліотеку. Ми торкнемося тільки мови Java. Після цього ви зможете створити Java аплікації будь-якої складності, вільно розбиратися в літературі і лістингах програм, продовжувати вивчення аспектів технології Java по спеціальній літературі. Мова Java теж дуже бурхливо розвивається, деякі її методи оголошуються застарілими (deprecated), появляються нові конструкції, збільшується вбудована бібліотека класів, але єсть стабільне ядро мови, зберігається її дух і стиль. Ось на ньому ми і зконцентруємо нашу увагу. Далі хотілось би звернути увагу на те, що хвилює вже не одне покоління програмістів.

0.1.2. Переваги і недоліки Java.

1. Безпечність.

-World Wide Web висунула Java на передній край програмування, і Java, в свою чергу, сильно вплинула і навіть змінила обличчя Internet, розширивши спектр об’єктів, які можуть розповсюджуватись у кіберпросторі. Розглянемо це на такому прикладі: програми нової форми - аплети - завантажуються з віддаленого сервера і можуть запускатися динамічно, тобто без участі користувача. До появи Java такий підхід був неприпустимий з міркувань безпеки та переносимості. В архітектурі аплетів зроблено ряд штучних обмежень, які роблять їх цілком безпечними. Перш за все, Java є інтерпретованою мовою і простір ресурсів Java-програми обмежений так званою віртуальною Java-машиною (VJM), яка може конторолювати поведінку програми і захищати систему від побічних ефектів, які можуть виникати з вини аплета. Крім того, в мові Java є додаткові обмеження, які не дозволять аплету стати «троянським конем». Зокрема, Java-аплет не може отримати доступ до локального жорсткого диску. При такій спробі генерується виключна ситуація.

2. Ефективність.

Оскільки аплети Java інтерпретуються, а не компілюються, то їх виконання на різних платформах значно полегшується. В цьому випадку достатньо створити для кожної платформи виконуючу Java-систему. Якщо існує така система для даної операційної системи, то будь-яка Java-програма може виконуватись в даному середовищі без додаткової компіляції на цій платформі. Проте Java не є інтерпретованою мовою в чистому розумінні. Програма на Java компілюється. Результатом роботи компілятора Java є байткод (bytecode). Байткод - це оптимізований набір команд, призначений для виконання уявним пристроєм - віртуальною Java-машиною. В такий спосіб витрати на інтерпретацію зводяться до мінімуму, оскільки байкод вже є оптимізованим, і досягається досить висока продуктивність Java-програм. Наведені вище особливості дають підставу розглядати Java не як ще одну мову програмування, а як окрему інформаційну технологію. Таким чином, інтерпретація - це найлегший шлях до перенесення програм, реалізований в Java технології. Незважаючи на те, що мова Java була розроблена в розрахунку на інтерпретацію, технічно немає нічого такого, що б перешкоджало компіляції байткоду в виконуваний код. До байткоду, який пересилається по мережі, застосовується динамічна компіляція, але це ніяк не впливає на переносимість та безпеку, оскільки роботу програми все ще контролює виконуюча система. Такий підхід застосовано в багатьох виконуючих системах Java, що забезпечує продуктивність на рівні оптимізованого коду С++.

Мова Java є однією з наймолодших в сімействі мов програмуваня і була розроблена з розрахунку на те, щоб професійний програміст міг легко її опанувати та ефективно використовувати. За основу Java взятий синтаксис С++ - безсумнівно однієї з найбільш популярних мов програмування сучасності. Проте, Java - це цілком самостійна мова програмування, і при її створенні не йшлося про будь-яку сумісність з С++. Тому деякі механізми реалізовані в Java інакше, а деякі зовсім відсутні. Ідеологічно ж Java побудована дещо інакше ніж С++. Розробники Java грунтувалися на досвіді розробки програм на С++ і прагнули позбутися можливостей, які зарекомендували себе непевними. Так, в Java відсутня перегрузка операторів а також автоматичне приведення несумісних типів - конструкції, які при неуважному використанні є джерелом важких для виявлення помилок. Взагалі, інтерфейси Java більш прості та прозорі для розуміння. Написати на Java програму з графічним інтерфейсом значно легше. Звичайно, простота інтерфейсів компенсується меншою гнучкістю, бібліотека Java не така багата, як стандартні бібліотеки С/С++. Але згадаймо, що Java задуманий для використання на різних платформах і тому реалізує в собі найбільш стандартні можливості задля легшої адаптації під конкретне середовище.

3. Об’єктно-орієнтована спрямованість.

Від С++ Java успадкувала потужний механізм об’єктно-орієнтованого програмування. Оскільки Java розроблювався «на пустому місці», тобто не було потреби забезпечувати сумісність з попередніми версіями, розробники мали повну свободу мислення. В результаті був сформований ясний і прагматичний підхід до об’єктів. Вільно переймаючи ідеї, які реалізовувалися протягом останніх десятирічь, мові Java вдалося знайти рівновагу між парадигмою «все є об’єктом» і прагматичним підходом. Об’єктна модель Java проста і легко розширюється, в той час як просі типи, як цілі, зберігаються як дані, що не є об’єктами, що дозволяє значно підвищити швидкість при їх обробці.

4. Стійкість до помилок.

Багатоплатформеність середовища Web висуває надзвичайно високі вимоги до надійності програм. Як наслідок, при розробці Java приорітет був відданий можливості створення стійких до помилок програм. Java звільняє програміста від хвилювань з приводу багатьох поширених причин, які викликають помилки програмування. Як вже згадувалося, Java є строго типіованою мовою програмування. Ще виконуюча система Java бере на себе «прибирання сміття», тобто автоматично звільняє пам’ять, яка була розподілена динамічно. Звичайно, це дещо знижує ефективність коду, але запобігає типових помилок, коли програміст забуває звільнити виділену пам’ять, або, навпаки, звільняє пам’ять, яка ще використовується. Java підтримує об’єктно-орієнтовану обробку виключних ситуацій подібно до С++. Але на відміну від С++ в Java обробка виключних ситуацій є обов’язкувою. Тобто неможливо скомпілювати програму, яка відкриває файл, не обробивши можливі помилки типу «файл не знайдено», які виникають при цьому. Добре написана Java-програма може сама обробляти всі помилки часу виконання.

5. Підтримка багатопоточності.

Java розробляялася з орієнтацією на вимоги до створення інтерактивних програм, які працюють з мережею. З цією метою Java підтримує багатопоточне програмування, яке дозволяє легко розробляти програми, що викинують багато процесів одночасно. Виконання Java-програми засновано на елгантному, але в той самий час високоорганізованому рішенні багатопроцесової синхронізації, яке дозволяє вам створювати високоефективні інтерактивні системи.

6. Основним питанням для розробників Java стало питання довготривалості та переносимості. Одна з головних проблем, із якою зустрілися програмісти, полягала в відсутності гарантій того, що написана сьогодні програма завтра працюватиме з тим же успіхом, причому на тій самій машині. Оновлення операційної системи, модернізація процесора та зміна об’єму оперативної пам’яті можуть призвести до збою програми. Рощзробники Java, прагнули змінити цю ситуацію і прийняли декілька важких рішень відносно мови Java та процесу виконання Java-програми. Їх мета полягала в тому, щоб «одного разу написане працювало всюди, в любий час і завжди». Внаслідок цього Java є системою, яка легко розширюється за рахунок створення нових стандартних класів та бібліотек.

7. Переваги інтерпретованості в поєднанні з високою продуктивністю.

Як вже згадувалось, Java дозвляє створювати незалежні від платформи програми шляхом компіляції в проміжне представлення, яке називається байткодом. Багато попередніх спроб зпроб знати розв’язок проблеми незалежності від платформи були зроблені за рахунок продуктивності. Інтерпретуючі системи, подібні до BASIC, Perl, страждають на майже неподоланний дефіцит продуктивності. Це було враховано при створенні Java Незважаючи на те, що Java є інтерпретованою мовою, генерація байткодів була ретельно оптимізована в такий спосіб, щоб одержуваний байткод можна було легко перекладати в машинний код, який працює з дуже високою продуктивністю. Виконуючі системи такого роду не втрачають жодних переваг переносимого коду.

8. Розподіленість.

Мова Java призначена для створення програм, які працюють в розподіленому середовищі Internet на базі протоколів TCP/IP. Насправді доступ до ресурсів за допомогою URL відрізняється від доступу к файлу. Крім того в Java наявний засіб передачі повідомлень в межах внутрішнього адресного простору. Це дозволяє забеспечити віддалене виконання процедур. Ці інтерфкйси включені у пакет RMI (remote metod invocation). Цей засіб привносить високий рівень абстракції в програмування дл я середовища клієнт/сервер.

Java-програми несуть у собі значний обсяг інформації про типи часу виконання (run-time type information), яка використовується для дозволу доступу до об’єктів під час роботи програми. Це дозволяє забезпечити безпечну та оптимальну динамічну компоновку. В такий спосіб досягається захищеність середовища виконання аплетів.

9. Доступність інструментарію та ефективність розробок.

Зазначена вище простота програмування на Java є причиною того, що розробки на Java коштуватимуть дешевше аналогічних на більш потужніх мовах програмування. Цьому ж сприяє і переносимість програм на Java, оскільки ліквідуються витрати пов’язані з адаптацією програми на конкретній платформі. До того ж інтегровані програми-оболонки для розробки Java програм коштують набагато дешевше (70-100$) ніж аналогічні продукти C++, Delphi (~1000$). А набір інструментарію для пакетної компіляції Java програм JDK (Java Development Kit) є взагалі freeware. Тому платформу Java можна рекомендувати як ідеальну для створення некомерційних програмних продуктів, зокрема для галузі освіти. Проте успіхом користуються також і комерційні проекти, наприклад чудово Java-програми зарекомендували себе у сфері банківського софту.

10. Багата бібліотека.

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

Багата бібліотека зводить тривіальну частина роботи програміста до пошуку готового рішення. Що звільняє програміста від рутини і надає йому можливість більш серйозно вкластися в творчий аспект, заощадити час і сили.

<== предыдущая лекция | следующая лекция ==>
Класики педагогіки про професію вчителя | Нейтральний аспект
Поделиться с друзьями:


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


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



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




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