Почему мы выбрали Java?

Ява развивается. Дальше будет ещё лучше. И это лучший язык для решения задач типа «всего много сразу с доступом откуда придётся и созданием объектов может быть когда-нибудь примерно вот-таких как вон-то но чтоб вот-так зелёненький был там где три свистка» © bash.org.ru

Синтаксис: алфавитное письмо против иероглифического

Синтаксис Java прост. Да, тысячи иероглифов Ruby позволяют компактнее излагать свои мысли, но двадцать шесть букв Java складываются в более понятные слова. Мы разделяем стремление Ruby-программистов подготовиться к экспансии Китая, но все же считаем, что при создании крупных систем скорость восприятия чужого кода гораздо важнее «синтаксического сахара». А еще у нас есть безопасный сахарозаменитель — мощная IDE, так что Java здесь в выигрыше.

Но если победят индусы — мы все обречены.

Виртуальная машина:
быстро, просто, переносимо

Считается, что виртуальная машина — это такая тормознутая штуковина, которая портит людям жизнь. Так оно и было лет восемь назад. Сейчас в тестах производительности Java практически на равных соперничает с C++, а PHP и другие интерпретируемые языки зачастую обгоняет в десятки раз.

При этом виртуальная машина практически полностью решает вопрос переносимости программ, избавляет разработчиков от ручной очистки мусора и позволяет создавать и использовать предметно-ориентированные языки программирования, прозрачно взаимодействующие с основным кодом.

Только её важно настроить.

Java Enterprise Edition:
индустриальный стандарт

Java — язык № 1 по популярности в мире, а Java EE — лидер среди корпоративных платформ. В эти технологии вливаются огромные деньги. Поставщиками Java-решений являются такие корпорации как Sun, IBM, Oracle, SAP, JBoss, а пользователями — практически все крупные компании, в том числе Amazon, eBay, Flickr, Google, LinkedIn и Яндекс.

Но и это не всё. Sun передала Java в Open Source и теперь решающее слово при принятии спецификаций достается различным высококлассным специалистам, а не бизнес-консультантам, которые делали Java EE столь невыносимой до версии 5.0. На практике это означает, что скорость создания приложений на Java и динамических языках сравнялась.

Мы не очень жалуем стандарты и правила, но тут это действительно помогает.

Впрочем, иногда к  нам приходят видения, будто бы Java это замаскированный Brainfuck. Доктора говорят, что это нормально.

Высокоуровневая архитектура:
не для любителей рутины

С Java нам практически не приходится заниматься разбором параметров запроса, валидацией, созданием подключений к DBMS, проверкой наличия данных в кэше, переносом их в объекты, управлением транзакциями, написанием update-запросов и многими другими вещами, которые превращают программирование в рутину.

В дополнение к этому, Java EE и различные фреймворки предоставляют нам отличные возможности масштабирования, распределенной и асинхронной обработки, компонентного программирования и ограничения доступа к данным.

Все это позволяет сосредоточиться на проработке интерфейсов, создании прозрачной и гибкой архитектуры приложения и его оптимизации, а не на написании однотипного кода.

Да, бывает, что абстракции подводят.

Лучший инструментарий:
лучше просто нет

Инструменты для контроля версий; отслеживания зависимостей; автоматической сборки; непрерывной интеграции; юнит, интеграционного, функционального и нагрузочного тестирования; снятия метрик; генерации документации; инспекции кода; дебаггинга, рефакторинга; профайлинга — всё это и многое другое реализовано в мире Java на очень высоком уровне.

Для Java создавались лучшие на сегодняшний день IDE — IntelliJ IDEA и Eclipse. Те, кто считают, что статическая типизация это недостаток, просто никогда не пользовались этими средами разработки.

Валим вековые деревья. Пилы заточены.

Сообщество профессионалов:
чуть лучше, чем обычно

Очень редко человек вторгается в мир Java, прочитав статью «как слепить портал за 10 минут» — входной барьер выше, чем у других платформ. Это благотворным образом сказывается на качестве статей, обсуждений, документации, библиотек и фреймвоков. Нет, дерьма здесь тоже хватает, но чтобы найти что-то приемлемое нужно просмотреть меньше вариантов.

Также нас, безусловно, радует то, что многие инновации приходят в продакшен именно через Java. Так уже было с ORM, IoC, АОП, аннотациями и т. д. MVC, который, вдруг, стал столь популярен в последние годы, и вовсе перетек в Java вместе со Smalltalk-программистами, которые использовали его еще в семидесятые годы.

Жаль, что Россия от всего этого совсем в стороне.

Чем мы отличаемся от других?