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

  

Короткий екскурс в історію

      Почалося все в 1990-х роках, коли Sun Microsystems почала розробку нової, поліпшеної версії С++, яка б не залежала від конкретної платформи та мала автоматичне керування пам'яттю. Сама ж назва «Java» була обрана з безлічі інших, запропонованих командою розробників, а логотипом став чашка гарячої кави, що буде весь час супроводжувати вас у процесі її вивчення, — мабуть, найвпізнаваніший логотип мов програмування.

 

 

Які зміни привнесла java у світ програмування:

  • Аплети.
    Уперше вони з'явилися в Java для створення невеликих вебдодатків для візуалізації та простої анімації. Однак саме їхня наявність у Java і привернула увагу програмістів до розробки для HTML5, Flash і JavaScript.

  • Гнучкість.
    Саме Java довела, що С — процедурний, керований вручну і залежний від платформи код, не є межею досконалості. Завдяки Java, дедалі більше людей почали застосовувати принципи ООП, яке і зараз користується величезною популярністю.

  • Розробка через тестування.
    Java TDD — давно вже не експериментальна практика, а стандартний спосіб розробки програмного забезпечення. Запровадження JUnit у 2000 році вважається одним із найбільших досягнень Java.

 

Плюси програмування на java

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

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

 

 

 

+ Об'єктноорієнтоване програмування

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

 

 

 

      Таким чином, структура даних стає об'єктом, яким можна керувати для створення відносин між різними об'єктами.

Під час процедурного програмування — потрібно слідувати чітким інструкціям, використовувати змінні та функції.

 

+ Незалежність від платформи, «write once, run anywhere»

       «Написати один раз і використовувати скрізь» (WORA) — популярна в IT-сфері фраза, за допомогою якої Sun Microsystems описувала кросплатформні можливості  Java.

 

 

 

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

 

+ Багатопоточність

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

 

 

 

      Між потоками можна швидко перемикатися, тому що вони використовують одні й ті самі області пам'яті. При цьому потоки незалежні один від одного: один потік не впливає на роботу інших потоків. Їх застосування може бути особливо корисним у програмах та іграх з великою кількістю анімації.

 

+ Розподілене програмування

      Java має вбудований механізм спільного використання програм і даних кількома комп'ютерами.  В інших же мовах потрібно використовувати зовнішній API для дистрибуції. У Java методологія розподілених обчислень називається Remote Method Invocation (RMI). Вона дає змогу використовувати всі переваги мови: безпеку, незалежність від платформи та об'єктноорієнтоване програмування для розподілених обчислень. Крім того, Java також підтримує програмування сокетів і методологію розподілу CORBA для обміну об'єктами між програмами, написаними різними мовами.

 

 

 

+ Безпека

      Є думка, що Java — безпечна мова, однак це не зовсім так. Сама мова не захищає вас від уразливості, але деякі її функції допоможуть закрити «дірки» в програмі.

  • По-перше, у Java є Security Manager — це створена для кожного додатка політика безпеки, у якій можна вказати правила доступу. Вона дає змогу запускати додатки Java в «пісочниці» й усувати, таким чином, уразливості.
  • По-друге, на відміну від C, у Java немає покажчиків. Покажчик — це об'єкт, який зберігає адресу комірки пам'яті іншого значення, що може викликати несанкціонований доступ до пам'яті.

      У Java так само є і низка інших переваг, таких як: автоматичне керування пам'яттю, для оптимізації програм; велика спільнота, з курсами та відповідями на більшу частину запитань; типізований і схожий з С синтаксис.

      Якщо ви зацікавилися такою гідною мовою програмування, як Java, то в наступній статті ми поговоримо про низку недоліків, про які, сподіваюся, вам теж буде цікаво дізнатися.

 

Валентин Хорошилов

 

Популярні статті

Читати далі