Java е строго типизиран обектно-ориентиран език за програмиране. Създаден през 1995 г., той е получил много подобрения оттогава. Устойчиво заема водеща позиция в класациите на езиците за програмиране , Howто и в класациите за заплатите на разработчиците на софтуер .

И най-важното е, че класацията на Java не скача от година на година — тя остава постоянно висока. Нека се опитаме да разберем Howво прави Java популярна.

1. Междуплатформени — Написаният code се преобразува в byte code, който след това се изпълнява от JVM. Има JVM реализации за различни платформи. Това означава, че codeът, след като бъде написан, ще работи на Windows, Linux и macOS и дори на различни екзотични платформи, като Arduino, интелигентни хладилници и прахосмукачки. С други думи, codeът ще работи на различни платформи и операционни системи, без да е необходимо да се адаптира за всяка от тях.

2. Автоматично управление на паметта — Разработчикът не трябва да мисли къде се съхраняват променливите в RAM, да ги чете/записва ръчно or да се тревожи за целостта на данните. Когато решавате бизнес проблем на клиент, трябва да мислите за проблема, а не за това How и къде да пишете byteове.

3. Скорост (JIT компилатор) — В допълнение към статичното компorране, което се случва „предварително“, Java поддържа компorране точно навреме (JIT). Това е много подходящо за сървърния code, който може да работи с месеци or дори години. Често изпълняваният code се компorра по различни начини и се измерва времето за изпълнение. Резултатът е, че колкото по-дълго работи едно приложение, толкова по-бързо става. И това е вярно за активно работещ сървър. Готино, нали?

4. Обратна съвместимост — Кодът, написан на по-стари версии на Java, ще работи и на по-нови версии. Това е удобно: след като спецификацията на Java се актуализира, не е нужно да пренаписвате половината от проекта си „поради актуализацията“, но все още можете да получите най-новите корекции за сигурност.

5. Обектно ориентиране — Хората мислят от гледна точка на обекти: маса, тролейбус, смартфон. Разработчиците не са принудени да мислят в необичайни парадигми, докато работят, и това помага да не допускаме ненужни грешки в нашия code. Вместо това можем да се концентрираме само върху тези детайли, които са важни в задачата. Например, от гледна точка на интериорен дизайнер, размерът и местоположението на масата в стаята са важни. Не са важни датата на производство, името на работника, който е нарязал дървата за масата и телефонът на шофьора на FedEx, който го е доставил. Освен това данните и методите за работа с тези данни се съхраняват заедно в codeа.

6. Статично типизиране (fail fast) — Съвместимостта на типовете променливи се проверява по време на етапа на компилация. Всеки разработчик компorра code, така че грешките при компorрането се улавят почти мигновено. Колкото по-късен е етапът на откриване на грешка, толкова по-скъпо струва нейното отстраняване.

7. Кодът като documentация — Java се чете като изречения на английски. Съответно, в повечето случаи не е необходимо да се харчат усorя за поддържане на documentация, тъй като всеки разработчик, след като погледне codeа, ще разбере Howво прави даден метод or за Howво поведение е отговорен интерфейсът. Нещо повече, има интелигентни конвенции относно "правилното" именуване на всички обекти в codeа. Името на даден метод често изяснява Howво прави.

Например методът getContext() връща контекста, а полето за възраст е отговорно за съхраняването на възрастта. В Java дължината на имената не влияе на количеството системни ресурси, необходими за работа с обекти. C не се справя и с това: когато разработчик се присъедини към нов проект, instead of да схване логиката на codeа, той or тя трябва да го дешифрира.

8. Много библиотеки и рамки с отворен code — 99% от задачите, пред които е изпequals разработчикът в ежедневната си практика, вече са решени от някого. С времето добрите решения прерастват в библиотеки и дори рамки. Кое е по-добре — да търсите в Google за 5 minutesи or да преоткриете собствения си велосипед с квадратни колела?

9. Голяма общност — Този популярен език има огромна база от разработчици, която задава много въпроси в Интернет, дава много отговори, пише много code и се сблъсква и решава много проблеми. И колкото повече разработчици има, толкова по-популярен е езикът и толкова по-бързо расте. Това е добродетелен цикъл.

Много от положителните „качества“ на Java вече бяха споменати, но бих искал да добавя още няколко:

  • JVM (виртуалната машина на Java) управлява паметта instead of вас, което я прави безопасна и език №1 за финансови инструменти.

  • Много е удобно да напишете backend сървъра (сървърната логика) на Java.

  • Доскоро Java беше най-добрият език за Android applications.

    Kotlin, JVM език, който се различава от Java по "синтактичната захар" и няколко функции, сега заема неговото място. Преминаването от Java към Kotlin и обратно ще отнеме няколко дни. И като се има предвид, че цикълът на актуализация на Java вече е шест месеца, следващата version на Java може да има всички рекламирани неща, за които Kotlin е написан.

  • Много известни компании използват Java: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym и много, много други.