понедельник, 14 апреля 2014 г.

10 причин, почему Java рулит как никогда

В индексе TIOBE языки программирования Java и C длительное время разделяют первое и второе места, а благодаря недавнему выпуску общедоступной версии JDK 8 ситуация вряд ли изменится.


Java просто рулит! Это самай лучшая платформа для разработки почти любых приложений. Но в чем причина? Заслуга ли это JVM? Или обратной совместимости? Простой синтаксис? Или миллионы свободного и коммерческого ПО для создания приложений? Не только.

Первое: Java-компилятор
В каждом языке мы принимаем компилятор за должное, не задумываясь о его восхитительных функциях. В Java, в отличие от C++, можно просто компилировать код, не слишком заботясь о связывании, оптимизации и других обычных возможностях компилятора. Частично нужно поблагодарить JIT-компилятор, выполняющий дальнейшую компиляцию во время выполнения программы.

Второе: Базовый API
Java Core API состоит из коллекции надёжных, устойчивых и понятных библиотек. Хотя многие жалуются на недостаточность функций в данной области (имея ввиду Google Guava или Apache Commons), они забывают, что в основе этих расширений лежит Java Core API. Опять-таки, непозволительная роскошь для C++.

Третье: Open Source
В данном разделе точка зрения Гирта Бевина из ZeroTurnaround на суть Open Source совпадает с нашей в Data Geekery - не важно, идет ли речь о свободе или бесплатности, главное, что столь много систем и программ на Java обладают открытым исходным кодом.

Четвертое: Модель памяти Java
Java с самого начала могла похвастаться отличной многопоточностью и моделью памяти, исправленной лишь однажды в JDK 1.5 в 2004 году, которая сформировала прочную базу для новых моделей на основе акторов (Fork/JOIN и так далее).

Пятое: Высокопроизводительная JVM
Нельзя обойти вниманием JVM - она позволила стольким языкам работать на широком ряде аппаратных платформ.

Шестое: Байткод
… и, разумеется, в крутости JVM есть заслуга байткода. Байткод представляет собой независимую от поставщика абстракцию машинного кода - прогнозируемую, которую можно генерировать, обрабатывать и видоизменять с помощью разных технологий. Недавно опубликовали пост, в котором автор показывает, как можно использовать трансформации байт-кода для эмуляции LINQ на Java. Давайте поаплодируем байткоду!

Седьмое: Разумные IDE
Пятнадцать лет назад разработка ПО происходила иначе. Можно писать ассемблер или C-программы с помощью редактора vi или Notepad. Но когда вы пишите сложную корпоративную Java-программу, стоит воспользоваться IDE. Мы рассказывали о причинах провала SQLJ. Отсутствие полноценной поддержки IDE - одна из них.

Восьмое: Инструменты профилирования
Помните, как Oracle выпустила Java Mission Control для свободного использования разработчиками в составе JDK 7u40? Современные профайлеры позволяют точно установить, где находится узкое место, просто анализируя каждую часть вашей JVM. Больше не нужно строить догадки.

Девятое: Обратная совместимость
Несмотря на недостатки обратной совместимости, все равно впечатляет, как долго существуют язык Java, JVM и JDK без внедрения значительных регрессий обратной совместимости. Единственное, что приходит в голову - введение ключевых слов assert и enum.

Можете себе представить введение Java 8 Streams API, лямда-выражений, методов по умолчанию, обобщений, enums и кучи других функций, не нарушая работу системы? Восхитительно!

Десятое: Зрелость и новаторство
По сути, этот пункт резюмирует все остальные, называя Java хорошо спроектированной и зрелой платформой, которая никогда не прекращала обновляться. Так и есть. Релиз Java 8 позволит изменить понимание корпорациями разработки ПО в лучшую сторону.


Источник

Комментариев нет:

Отправить комментарий