Ответы пользователя по тегу Java
  • Зачем делают backend на разных языках?

    @InoMono
    Возьмем например Дропбокс.

    Изначально был написан на Python - это быстрее для прототипирования.
    Потом был переделан на Go - для предсказуемости и скорости. Но зачем переделывать полностью? Многие куски на Python существуют там до сих пор. И работают.
    И маааалюсенький кусочек был переделан на Rust - для ускорения самого узкого места.

    Вот вам и 3 языка работающих одновременно в Дропбоксе на бэке.

    Или имеется в данный момент свободен тот или иной специалист, который лучше знает тот или иной язык. Ему поручили - он сделал на том, что лучше знает, чтобы сделать быстрее и качественнее.

    Или такова была особенность задачи. Пример с комбинацей Rust/Go выше приведен. Где то может быть лучше один язык, где то другой.

    А если мы вспомним, что проект не только пишется, а еще и готовые компоненты применяются - то автоматически к любому почти проекту добавляются С/С++ те что в БД к примеру и пр. и пр. SQL - тоже язык бэкенда. И пр. и пр.

    Вы преувеличивайте значение языка. Это всего лишь инструмент программиста. Такой же как клавиатура. Опытный программист за долгие годы изучает не меньше десятка языков, а кто то и намного больше. Ничего такого в этом нет.
    Ответ написан
    Комментировать
  • Безопасно ли делать приложение с прямыми запросами к БД?

    @InoMono
    Через интернет в смысле?
    Безопасно. Но нерационально из соображений производительности.
    Ответ написан
    2 комментария
  • Асинхронность Node.js против Java, в чем подвох?

    @InoMono
    Ну во первых, у Java дофига всяких разных greenlet и пр. технологий, где и явная асинхронность не нужна (она и неудобна)

    Во вторых, отдельные воркеры в Apache нужны только для тех бэкэндов, которым это нужно.
    Если вы хотите максимизировать число параллельно выполняемых бэкэндом запросов, то, очевидно, что нужно искать другой путь, без воркеров Apache. Например, https://habrahabr.ru/company/itsumma/blog/337346/

    В третьих, для лучшего понимания следует изолировать мысленно задачу и вообще исключить тут Апач. Рассматриваем возможности только самой Ноды и самой JVM.

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

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

    В шестых, при прочих равных (при одинаково хорошем познании программиста в обеих системах) - JVM будет завсегда быстрее. Ибо она и от С-то отстает ненамного.

    В седьмых, но нельзя не обратить внимание на тот факт, что используя Ноду можно обойтись знанием одного языка. Собственно, взлет Ноды именно этим и обусловлен. Что множество фронтендеров, которые желают писать бэкенд. И написали уже для нее кучу вспомогательных инструментов/библиотек и пр. Более ничего такого особо волшебного в Ноде нет.
    Ответ написан
    Комментировать