1. Java — найпопулярніша мова програмування
А ви знали, що Java — одна з найпопулярніших у світі мов програмування?
Згідно з рейтингом TIOBE, мовою програмування Java користуються майже 10% усіх програмістів світу. Також серед лідерів — Python, а також мови С та C++.
Мову Java було створено в середині 90-х років XX століття, і вона дуже швидко набула популярності. Програмісти масово переходили із С++ на Java. І це лише зайвий раз підтверджує, що Java — це крутезна мова програмування.
Так у чому ж її крутість? Які фішки додали в неї автори?
Ви дуже здивуєтесь, якщо порівняєте Java і мову С++: Java дуже схожа на суттєво обрізану С++!
Так, мова Java — це певною мірою урізана С++. І якщо в С++ можна щось зробити двадцятьма способами, то в Java те саме можна зробити лише одним. І в чому ж перевага, запитаєте ви?
Річ у тім, що сучасні програми дуже великі, і часто програмісти до 90 % часу витрачають на те, щоб розібратися в чужому коді. І лише 10 % — на написання нового коду. Отже, дійсно, простота — це перевага.
2. Java-компілятор
До речі, ви ще не раз почуєте, що незаперечна перевага Java над іншими мовами — це багатоплатформність. Що ж воно таке і з чим його їдять? Почнемо здалеку.
Річ у тім, що комп'ютер уміє виконувати лише найпростіші команди.
Для собак є команди «Поруч», «Лапу» та інші. Почувши одну з них, собака робить щось важливе. Для комп'ютера в ролі команд виступають числа: кожна команда закодована певним числом (його ще називають машинним кодом).
Писати програму у вигляді чисел дуже складно, тому люди вигадали мови програмування та компілятори. Така мова, з одного боку, зрозуміла людині, з іншого — компілятору. Компілятор — це спеціальна програма, яка перетворює текст програми, написаний мовою програмування, на набір машинних кодів.
Зазвичай програміст пише програму мовою програмування, а потім запускає компілятор, який на основі написаних програмістом файлів із кодом програми робить один файл із машинним кодом — кінцеву (скомпільовану) програму.
- Програма мовою C++
-
Компілятор
- Програма, що складається з машинних кодів
Отримана в результаті програма відразу може виконуватись на комп'ютері. Такий підхід має свій мінус — код отриманої програми значно залежить від процесора й операційної системи. Програма, скомпільована для Windows, не буде працювати на телефоні з Android.
Якщо ж ви написали програму для Android, то в операційній системі Windows вона не запуститься!
У Java використовується набагато інноваційніший підхід.
- Програма мовою Java
-
Java-компілятор
- Програма, що складається зі спеціальних незалежних кодів (байт-код)
-
Java VM
- Програма, що складається з машинних кодів
Компілятор Java не компілює всі класи в одну програму з машинних кодів. Натомість він компілює кожен клас окремо, і не в машинні коди, а в спеціальний проміжний код (байт-код). Компіляція в машинний код відбувається під час запуску програми.
А хто ж компілює програму в машинний код під час запуску?
Для цього є спеціальна програма під назвою JVM (Java Virtual Machine) — віртуальна машина Java. Спочатку запускають її, а потім — програму, що складається з байт-коду. А вже JVM перед виконанням потрібної програми компілює її в машинний код.
Це дуже потужний хід і одна з причин тотального домінування Java.
3. Сфери домінування Java
Програми, написані мовою Java, завдяки вищезгаданим властивостям можуть виконуватись практично на будь-яких пристроях — комп'ютерах, телефонах, банкоматах, тостерах, банківських картках.
Такий підхід має безліч переваг. Саме тому програми для Android також пишуть мовою Java. А завдяки розвитку мобільного сектора Java займає панівне становище в таких напрямах програмування:
- Enterprise: «важкі» серверні програми для банків, корпорацій, інвестфондів тощо.
- Mobile: мобільна розробка (телефони, планшети), завдяки Android.
- Web: лідирує PHP, але й Java утримує добрячий шмат ринкового пирога.
- Big Data: розподілені обчислення в кластерах із тисяч серверів.
- Smart Devices: програми для розумного дому, електроніки, холодильників із виходом в інтернет.
Java — це не просто мова, а ціла екосистема: мільйони готових модулів, які ви можете використовувати у своїй програмі. Тисячі спільнот і форумів в інтернеті, де можна попросити про допомогу чи отримати пораду.
Що більше ви будете програмувати на Java, то більше знаходитимете відповідей на питання «Чому саме Java?».
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ