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 включает в себя объектно-ориентированное программирование (OOП) — концепцию, в которой вам не только можно определить тип данных и его структуру, но и набор функций, применяемых к нему.
Таким образом, структура данных становится объектом, которым можно управлять для создания отношений между различными объектами.
При процедурном программировании - нужно следовать четким инструкциям, использовать переменные и функции.
+ НЕЗАВИСИМОСТЬ ОТ ПЛАТФОРМЫ, «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, то в следующей статье мы поговорим о ряде недостатков, о которых, надеюсь, вам тоже будет интересно узнать.
Валентин Хорошилов