1. Java е най-популярният език за програмиране

Знаете ли, че Java е най-популярният език за програмиране в света?

Според класацията на TIOBE езикът за програмиране Java се използва от повече от 17% от всички програмисти в света. C е на второ място с 16% . Преди 20 години, когато езикът Java току-що се появи, безспорен лидер беше C++, но сега делът му е под 7%.

Java се появява в средата на 90-те години и бързо набира популярност. Програмистите са преминали от C ++ към Java с хиляди. Което само още веднъж потвърждава, че Java е много готин език за програмиране .

И така, Howво толкова готино има в това? Какви функции са му дали създателите му?

Ще бъдете много изненадани, ако сравните Java и C ++: Java е много подобна на силно съкратен C ++!

Да, езикът Java е до известна степен силно съкратен C++ . Ако C++ ви позволява да правите нещо по 20 начина, тогава Java ви позволява да го правите само по един начин . И така, Howво е предимството тук, ще попитате?

Е, днешните програми са много големи, програмистите често прекарват до 90% от времето си в работа, за да разберат codeа, написан от други хора. И само 10% се изразходват за писане на нов code. Така че да, простотата е предимство.


2. Java компилатор

Между другото, ще чуете повече от веднъж, че несравнимото предимство на Java е нейната платформена независимост . Какво е това и за Howво е, питате вие? Да започнем отначало.

Компютърът може да изпълнява само най-простите команди.

Когато обучаваме кучета, ние използваме команди като „Наклони“, „Разклати се“ и т.н., за да накараме кучето да направи нещо, което ние искаме. За компютрите числата играят ролята на такива команди: всяка команда е codeирана с определен номер (нарича се още машинен code) .

Но наистина е трудно да се напише програма, използваща само числа, така че хората са измислor езици за програмиране и компилатори . Езикът за програмиране може да бъде разбран Howто от хората, така и от компилаторите. Компилаторът е специална програма, която преобразува програма, написана на език за програмиране, в поредица от машинни codeове .

Програмистът обикновено пише програма на език за програмиране и след това стартира компилатор, който превръща файловете с програмен code, написани от програмиста, в един файл с машинен code – крайната (компorрана) програма.

  • Програма на C++
  • Компилатор
  • Програма, съставена от машинен code
Етапи на компилация за езика C++

Получената програма може да бъде изпълнена от компютъра веднага. Лошата новина е, че codeът на крайната програма силно зависи от процесора и операционната система. Това означава, че програма, компorрана за Windows, няма да работи на смартфон с Android.

Ако напишете програма за Android , тогава тя няма да работи на операционна система Windows !

Java обаче използва много по-иновативен подход.

  • Програма на Java
  • Java компилатор
  • Програма, състояща се от специални независими codeове (byte code)
  • Java VM
  • Програма, съставена от машинен code
Етапи на компилация за езика Java

Компилаторът на Java не компorра всички класове в една програма с машинен code. Вместо това компorра всеки клас независимо и, нещо повече, не в машинен code, а в специален междинен code (byte code). Байт codeът се компorра в машинен code при стартиране на програмата.

И така, кой компorра програмата в машинен code, когато тя се изпълнява?

За това има специална програма, наречена Java virtual machine (JVM). Първо се стартира той, а след това програмата, съставена от byte code. Тогава JVM ще компorра byte codeа в машинен code, преди програмата да бъде изпълнена.

Това е много мощен подход и една от причините за тоталната доминация на Java.


3. Области, където доминира Java

Предимствата, описани по-горе, позволяват програми, написани на Java , да се изпълняват на почти всяко устройство - компютри, смартфони, банкомати, тостери и кредитни карти.

Този подход има много предимства . Ето защо програмите за Android също са написани на Java . Благодарение на бързия растеж на индустрията за мобилни телефони, Java доминира в следните области на програмиране:

  1. Enterprise : тежки сървърно-ориентирани applications за банки, корпорации, инвестиционни фондове и др.
  2. Mobile : мобилна разработка (смартфони, таблети), благодарение на Android.
  3. Уеб : PHP е водещ, но Java завладя солиден дял от пазара.
  4. Големи данни : разпределени изчисления в клъстери, състоящи се от хиляди сървъри.
  5. Smart Devices : програми за интелигентни домове, електронни устройства, IoT хладилници и др.

Java не е просто език, а цяла екосистема: мorони готови модули, които можете да използвате във вашата програма. Хиляди онлайн общности и табла за съобщения, където можете да получите помощ or съвет.

Колкото повече програми пишете на Java, толкова повече отговори ще намерите на въпроса „Защо Java?“ .