Історія появи Java, HTML, XML, DHTML, Інтернет-технології, статті

Народженню мови Java передувала досить цікава історія. У 1990 році розробник ПЗ компанії Sun Microsystems Патрік Нотон (Patrick Naughton) зрозумів, що йому набридло підтримувати сотні різних інтерфейсів програм, які використовуються в компанії, і повідомив виконавчому директору Sun Microsystems і своєму другу Скотту Макнілі (Scott McNealy) про свій намір перейти працювати в компанію NeXT. Макнілі, у свою чергу, попросив Нотона скласти список причин свого невдоволення і висунути таке рішення проблем, як якби він був Богом і міг виконати все, що завгодно.

Нотон, хоча і не розраховував на те, що хтось зверне увагу на його лист, все ж виклав свої претензії, нещадно розкритикувавши недоліки Sun Microsystems, зокрема, що розробляється в той момент архітектуру ПО NeWS. На подив Нотона, його лист здобуло успіх: він був розісланий всім провідним інженерам Sun Microsystems, які не забарилися відгукнутися і висловити гарячу підтримку своєму колезі і схвалення його поглядів на ситуацію в Sun Microsystems. Звернення викликало схвалення і у вищого керівництва компанії, а саме, у Білла Джоя (Bill Joy), засновника Sun Microsystems, і Джеймса Гослінга (James Gosling), начальника Нотона.

У той день, коли Нотон повинен був піти з компанії, було прийнято рішення про створення команди провідних розробників з тим, щоб вони робили що завгодно, але створили щось незвичайне.

Команда з шести осіб, з кодовою назвою Green, пішла в самовільне вигнання, занурившись в дослідження побутових пристроїв, таких як Nintendo Game Boys, пристроїв дистанційного керування. Команда Green намагалася знайти засіб, за допомогою якого можна було б встановити взаємодію між цими пристроями. Незабаром стало ясно, що такі електроприлади, як відеомагнітофони, програвачі лазерних дисків, стереосистеми – всі вони були реалізовані на різних процесорах. Це означало, що якщо виробник захоче додати телевізора чи відеомагнітофону додаткові функції або характеристики, він буде затиснутий в рамках коштів, зашитих в апаратне забезпечення. Ця проблема, в поєднанні з обмеженістю пам'яті мікросхем цих пристроїв, висунула новий підхід до програмування ПЗ, який повинен був стати провідним на ринку побутової електроніки.

Команда приступила до розробки нового об'єктно-орієнтованої мови програмування, який був названий Oak (дуб), на честь дерева, що росло під вікном Гослінга.

Незабаром компанія Sun Microsystems перетворила команду Green в компанію First Person. Нова компанія мала найцікавішу концепцією, але не могла знайти їй відповідного застосування. Після низки невдач несподівано ситуація для компанії різко змінилася: був анонсований Mosaic – так народився World Wide Web, з якого почався бурхливий розвиток Internet.

Нотон запропонував використовувати Oak у створенні Internet-додатків. Так Oak став самостійним продуктом, незабаром був написаний Oak-компілятор і Oak-браузер "WebRunner". У 1995 році компанія Sun Microsystems прийняла рішення оголосити про новий продукт, перейменувавши його в Java (єдине розумне пояснення назві – любов програмістів до кави). Коли Java виявилася в руках Internet, стало необхідним запускати Java-аплети – невеликі програми, що завантажуються через Internet. WebRunner був перейменований в HotJava і компанія Netscape стала на підтримку Java-продуктів.

Трохи про Java

На сьогоднішній день створення програмного забезпечення є надзвичайно важке заняття. Труднощі пов'язані з різноманітністю архітектур машин, операційних систем, графічних оболонок і т.д.. Крім того, ваші додатки повинні працювати в розподілених системах. Стрімке зростання технологій, пов'язаних з Інтернетом, WWW і "електронною комерцією", додатково ускладнюють це завдання. Модний нині об'єктно-орієнтований підхід сам по собі не вирішує цих проблем, більш того, часто привносить нові.
Пропонований фірмою Sun Microsystems підхід, а саме система програмування на основі мови Java (TM) володіє наступними характеристиками:
 


СвойстваJava

Java проста, об'єктно орієнтована і знайома
Система Java створена на основі * простого * мови програмування, техніка використання якого близька до загальноприйнятої і навчання якому не вимагає значних зусиль.
Java як мова програмування є об'єктно орієнтованою з моменту підстави. Крім того програміст із самого початку забезпечується набором стандартних * * бібліотек, що забезпечують функціональність від стандартного вводу / виводу і мережевих протоколів до графічних користувальницьких інтерфейсів. Ці бібліотеки легко можуть бути розширені.
Незважаючи на те, що мова С + + був відкинутий, синтаксис мови Java максимально наближений до синтаксису С + +. Це робить мову знайомим широкому колу програмістів. У той же час з мови було видалено багато властивості, які роблять С + + зайво складним для користування, не будучи абсолютно необхідними. В результаті мова Java вийшов більш простим і органічним, ніж С + +.
Надійність і безпека
Java істотно полегшує створення надійного програмного забезпечення. Окрім вичерпної перевірки на етапі компіляції, система передбачається аналіз на етапі виконання. Сама мова спроектований так, щоб виробляти у програміста звичку писати "правильно". Модель роботи з пам'яттю, в якій виключено використання покажчиків, робить неможливими цілий клас помилок, характерних для С і С + +.
В силу того, що Java призначена для роботи в розподіленому середовищі, безпека стає надзвичайно важливою проблемою. Вимоги безпеки визначають багато рис як мови, так і реалізації всієї системи.
Незалежність від архітектури і переносимість.
Компілятор Java виробляє байт-коди, тобто модулі програми мають архітектурно-незалежний формат, який може бути проінтерпретований на безлічі різноманітних платформ. Це вже не початкові тексти, але ще не платформно-залежні машинні коди.
Наступний крок – "заморожування" стандарту на формат основних вбудованих типів даних. Програма, створена на одній платформі, працює на всіх інших.
Цей стандарт фіксований в документі, що описує Java Virtual Machine. Стандарт може бути реалізований на будь апаратно-програмної платформи, яка підтримує багатопотоковості.
Продуктивність
Схема роботи системи і набір байт-кодів віртуальної машини Java такі, що дозволяють досягти високої продуктивності на етапі виконання програми:
 


Інтерпретується, багатопотокових і динамічний
Интерпретируемая природа мови дозволяє зробити фазу лінкованія простий, інкрементального і, отже, швидкою. Це різко скорочує цикл розробки і тестування програмних фрагментів.
Багатопотоковості дозволяє виконувати в рамках однієї програми кілька завдань одночасно. Це стає особливо актуально в сучасних розподілених додатках, коли процеси мережевого обміну можуть йти одночасно й асинхронно. При цьому програма продовжує реагувати на введення інформації користувачем без неприємних затримок.
Багатопотоковості підтримується на рівні мови – частина примітивів синхронізації вбудована в систему реального часу, а бібліотека містить базовий клас Thread. До того ж системні бібліотеки написані thread-safe, тобто всі вони можуть бути використані в багатопотокових додатках.
Система забезпечує динамічну збірку програми. Класи підвантажуються в міру необхідності, причому завантажені вони можуть бути з будь-якої точки мережі, що дозволяє зробити внесення змін у додатки прозорим для користувача. Користувач може бути впевнений, що завжди працює зі свіжою версією програми.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*