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 позволит изменить понимание корпорациями разработки ПО в лучшую сторону.
Источник
Комментариев нет:
Отправить комментарий