Особенности языка Java
Язык Java был создан в 1995 году, и за 22 года своего существования покорил сердца миллионов программистов. Как ему это удалось? Почему за это время не появилось ни одной достойной замены? Чтобы разобраться в этом, поговорим об особенностях языка Java.
Компания Sun Microsystems при выпуске языка заложила 5 парадигм потенциального успеха:
- простота, объектная ориентированность и понятность;
- надёжность и безопасность;
- переносимость и независимость от платформы;
- высокая производительность;
- интрепретируемость, поточность и динамичность.
Рассмотрим каждую из них подробнее.
Простота
Синтаксис языка был унаследован от C++. Сегодня на фоне Python, Groove или Go его трудно назвать простым, однако тогда эволюционный вид позволил привлечь внимание Си-разработчиков.
Стандартная программа “Hello World” выглядит следующим образом:
{
System.out.println("Hello World");
}
Такая форма конструкций не увеличивает скорость набора, однако читать, понимать и воспроизводить его просто.
Надёжность
Надёжность обеспечивается двумя принципами:
- ООП. Иерархия наследования увеличивает читаемость кода и снижает количество невынужденных ошибок.
- Строгая типизация. Разработчику приходится выполнять больший объём работы, но данные интерпретируется однозначно.
Кроме того, первоначально в Java предполагался запрет прямого доступа к памяти, что также повышало бы надёжность. Но разработчики оставили несколько лазеек, например бэкдор sun.misc.Unsafe, которые этот запрет обходят.
Безопасность
Кроме сохранения общей формы конструкций, Java по сравнению с C++ формально лишился двух потенциальных опасностей: указателей и множественного наследования. На деле обе функции сохранены, но представлены в ином виде: вместо указателей используются значения, а в множественном наследовании участвуют не классы, а интерфейсы. Тем не менее, такая особенность java программирования почти исключает возможный урон от невнимательности разработчика.
Удобство
Дословно концепция Java звучит как: «Write once, run anywhere». То есть исполняемость кода не зависит от используемой операционной системы или установленного ПО. Достигается это благодаря транслированию в байт-код виртуальной машиной JVM.
Как нельзя кстати пригодилась эта особенность java на android. Разнообразие производителей, моделей телефонов, характеристик — всё это могло бы негативно сказаться на работе приложений, если бы не существование такого универсального инструмента.
Производительность
Особенность ява, связанная с транслированием в байт-код, положительно сказывается и на производительности конечных продуктов. По скорости исполнения однотипные программы на java уступают в 1,5-2 раза программам на C/C++, при этом превосходят JavaScript, Ruby, Python.
Развитая экосистема
За 22 года жизни язык оброс десятками IDE и фреймворков, сотнями сообществ и форумов, тысячами библиотек и плагинов. Всё это благоприятно сказывается на пороге вхождения в профессию, востребованности и качеству производимых с помощью java продуктов.
Безусловно, каждый популярный язык программирования уникален, каждый имеет свои недостатки и преимущества. Особенности Java не имеют революционного характера, они незначительны, но вместе с тем фундаментальны. Именно то, что отличает хороший язык от лучшего.
Советуем пройти бесплатный двухдневный интенсив по основам Java и познакомиться с этим языком :)