Re: java vs. c++
От: MTD https://github.com/mtrempoltsev
Дата: 18.08.15 17:12
Оценка: 42 (2) +5 -1
Здравствуйте, StanislavK, Вы писали:

SK>Вопрос в следующем, если бы вам пришлось начать разрабатывать большую серверную, многопоточную, многокомпонентную, распределенную систему, то какой язык бы вы выбрали?


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

SK>1. Развитая система билда (maven, gradle) с поддержкой зависимостей, модулей и т.д.


В С++ такого нет.

SK>2. Реально много библиотек и фреймворков. Надо встроить вебсервер — не проблема, надо математическую билиотечку, тоже пожалуйста, надо какой-нить complex event processing — все есть и т.д.


Библиотек навалом, но как и в Java — горы известной субстанции, надо фильтровать. Еще неприятный момент — отсутствие в С++ единого style guide, через это выглядит код использующий несколько библиотек неряшливо.

SK>3. Хорошая совместимость с БД, мессаджингом и т.д. Драйвера есть для всех известных мне продуктов.


Хотя ORM-ы есть, но до реализаций JPA не дотягивают. В плане тестирования БД Java тоже дико заруливает.

SK>4. Легко (это все кончено относительно) интегрирутеся со всем чем угодно, есть JNI, можно в пол-тычка сделать rest-сервис и т.д.


Тут все нормально.

SK>5. Есть очень хорошая среда разработки (IntelliJ), которая легко работает (рефакторинг, поиск и т.д.) с проектами в десятки тысяч файлов.


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

SK>6. У меня лично есть опыт как это все делается на Java. Насколько реально человеку "со стороны" сделать такое на C++?


Сделать на С++ реально все. Вопрос в том нужно ли? Конкретно для твоих задач, думаю — нет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.