V>С++ хорош там, где требуется микросекундный отклик или числодробление. Или там, где охота из имеющихся ресурсов выжать максимум эффективности (до 3-х раз в сравнении с джавой и дотнетом).
Вообще-то разница больше чем в 3 раза. Однажды скомпилировал функцию вычисления БПФ на Java и скорость оказалась
в 8 раз меньше, чем на C++.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, StanislavK, Вы писали:
SK>Интригующий заголовок, но вопросто не в измерении длинны сами знаете чего Прошу на касаться вопросов производительности.
SK>Вопрос в следующем, если бы вам пришлось начать разрабатывать большую серверную, многопоточную, многокомпонентную, распределенную систему, то какой язык бы вы выбрали?
SK>Подскажите как там у С++ в этом плане.
У Java преимуществом является наличие большого количества фреймворков. Если они вам подходят, то на Java будет быстрее.
Вообще, если это вопрос разработки конкретной программы, то я бы рассмотрел конкретные требования к библиотекам и наличие соответсвтующих библиотек на C++.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, StanislavK, Вы писали:
SK>Вопрос в следующем, если бы вам пришлось начать разрабатывать большую серверную, многопоточную, многокомпонентную, распределенную систему, то какой язык бы вы выбрали?
Если выбирать из Java и C++, то правильный ответ, разумеется, Scala.
Здравствуйте, Poopy Joe, Вы писали:
PJ>Здравствуйте, StanislavK, Вы писали:
SK>>Вопрос в следующем, если бы вам пришлось начать разрабатывать большую серверную, многопоточную, многокомпонентную, распределенную систему, то какой язык бы вы выбрали?
PJ>Если выбирать из Java и C++, то правильный ответ, разумеется, Scala.
Здравствуйте, iZEN, Вы писали:
PJ>>Если выбирать из Java и C++, то правильный ответ, разумеется, Scala. ZEN>Почему не Go и не Clojure?
Scala явистам будет привычнее, чем Clojure. Не такой культурный шок.
На счет Go ничего не знаю, то что я про него читал удивляет, что его вообще кто-то хочет использовать.
Здравствуйте, ELazin, Вы писали:
EL>Можно сделать плагин для nginx например (на java ты так не сделаешь).
На Java своих веб-серверов столько, что писать плагин под nginx нет никакой необходимости. Деплоймент приложения под какой-нибудь Томкат фактически и выглядит как подключение плагина.
Nginx как application server это сомнительная идея.
SK>>3. Хорошая совместимость с БД, мессаджингом и т.д. Драйвера есть для всех известных мне продуктов. EL>В той же APR есть драйвера для кучи разных СУБД. Обычно драйвера не проблема найти, так как разработчики всевозможных СУБД, как правило, в первую очередь выпускают драйвер для Си.
Под хорошей совместимостью с БД сейчас подразумеваются уже обычно не драйвера, а более высокоуровневые абстракции.
Здравствуйте, VTT, Вы писали:
VTT>На самом деле непонятно, зачем вообще разводить такую дискуссию не касаясь вопросов производительности... VTT>Вот если бы вы включили в этот список "высокопроизводительную", то тогда c++ был бы фактически безальтернативным вариантом.
Это не так. Выбор всегда строится на основе нескольких критериев — стоимость и время разработки, стоимость вычислительной операции, масштабируемость. По стоимости операции С++ выиграет, потому что код будет более эффективно использовать ресурсы, но по затратам на разработку этот проект на С++ может быть банально нереализуем, а Java по остальным критериям вполне впишется, потому что приемлемую производительность на ней вполне можно достичь, пусть, может быть, и с бОльшим железом.
Здравствуйте, Poopy Joe, Вы писали:
PJ>Если выбирать из Java и C++, то правильный ответ, разумеется, Scala.
Scala это С++ на JVM. И тут, мне кажется, лучше либо мух, либо котлеты...
V>>С++ хорош там, где требуется микросекундный отклик или числодробление. Или там, где охота из имеющихся ресурсов выжать максимум эффективности (до 3-х раз в сравнении с джавой и дотнетом).
lpd>Вообще-то разница больше чем в 3 раза. Однажды скомпилировал функцию вычисления БПФ на Java и скорость оказалась lpd>в 8 раз меньше, чем на C++.
Неплохо бы такие заявления подтверждать тестами. А то может в варианте жабы боксинг на анбоксинге и вызывается это безобразие из JNI. В любом случае в жаве сложнее контролировать ресурсы (время отклика), и печальней с библиотеками числодробилок- они все на C или Fortran. Но это решаемо. В C++ сложнее не портить память и это тоже решаемо.
Здравствуйте, IID, Вы писали:
IID>Здравствуйте, Aртёмка, Вы писали:
Aё>>Неплохо бы такие заявления подтверждать тестами.
IID>Поддерживаю! А то может оказаться что не в 8 раз, а в 18, или даже в 80
Честно говоря вспоминаю, что разные компилеры java показывали тогда результаты, отличающиеся ровно в 2 раза, и я, вероятно, проводил тест БПФ на медленном.
Но вот ссылка на benchmark разных тестов:
Результаты: разница в 1-4 раза.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, Nikе, Вы писали:
N>>>Если не рассматривать финансовый вопрос, то для меня №1 однозначно идёт шарп.
__S>>можешь раскрыть подробнее?
N>Линк + лучший уровень комфорта при работе в среде.
Здравствуйте, __SPIRIT__, Вы писали:
N>>>>Если не рассматривать финансовый вопрос, то для меня №1 однозначно идёт шарп.
__S>>>можешь раскрыть подробнее?
N>>Линк + лучший уровень комфорта при работе в среде.
__S>не точно спросил — получил кривой ответ
__S>Я имел ввиду почему шарп дорог?
Виндовские сервера + SQL Server не дорогое решение разве? Может быть я ошибаюсь.
Здравствуйте, MTD, Вы писали:
MTD>Такого уровня IDE нет, рефакторинг, навигация, поиск — это боль. В качестве примера, в С++ чтобы найти нужный класс до сих пор рулит grep.
Студия с ассистом смотрят на эти заявы с недоумением.
Здравствуйте, MTD, Вы писали:
SK>>1. Развитая система билда (maven, gradle) с поддержкой зависимостей, модулей и т.д. MTD>В С++ такого нет.
Чем cmake не угодил?