LINUX.ORG.RU

История изменений

Исправление dimuska139, (текущая версия) :

если умеешь их писать на python,php,go то зачем изучать как делать тоже самое на java?

php: динамическая типизация, отсутствие асинхронности (можно рассуждать долго на тему нужна она там или нет, но лично мне иногда её не хватает при написании тех же грабберов, из-за чего приходится юзать python/go)

python: динамическая типизация, дофигища магии, отсутствие нормальных ORM типа TypeORM и отсутствие хотя бы одного квери-билдера, кроме Pypika. Sqlalchemy - монстр с кучей магии и очень далёкий от SQL (глядя на эти конструкции, вообще не ясно, что там в базу уйдёт и в каком количестве)

go: всё классно, но чтобы написать нормальное юзер френдли API, надо весьма сильно постараться. Как минимум, валидация JSON с фронта - боль и страдания. Если с фронта прилетает неправильный тип (вместо {"age":10} приходит {"age":"10"}), то обработать это нормально (указать юзеру, в каком именно поле ошибка, когда их куча) невозможно без кучи самописных костылей. То есть всё как-то слишком уж деревянненько.

nodeJS: юзабельно только в связке с тайпскриптом, поэтому из фреймворков остаётся лишь один NestJS - выбора особого нет. Так или иначе, всё равно приходится окунаться в js с его убогой типизацией и проблемами.

Так что по сути и остаётся либо C#, либо Java.

Исходная версия dimuska139, :

если умеешь их писать на python,php,go то зачем изучать как делать тоже самое на java?

php: динамическая типизация, отсутствие асинхронности (можно рассуждать долго на тему нужна она там или нет, но лично мне иногда её не хватает при написании тех же грабберов, из-за чего приходится юзать python/go)

python: динамическая типизация, дофигища магии, отсутствие нормальных ORM типа TypeORM и отсутствие хотя бы одного квери-билдера, кроме Pypika. Sqlalchemy - монстр с кучей магии и очень далёкий от SQL (глядя на эти конструкции, вообще не ясно, что там в базу уйдёт и в каком количестве)

go: всё классно, но чтобы написать нормальное юзер френдли API, надо весьма сильно постараться. Как минимум, валидация JSON с фронта - боль и страдания. Если с фронта прилетает неправильный тип (вместо {"age":10} приходит {"age":"10"}), то обработать это нормально (указать юзеру, в каком именно поле ошибка, когда их куча) невозможно. То есть всё как-то слишком уж деревянненько.

nodeJS: юзабельно только в связке с тайпскриптом, поэтому из фреймворков остаётся лишь один NestJS - выбора особого нет. Так или иначе, всё равно приходится окунаться в js с его убогой типизацией и проблемами.

Так что по сути и остаётся либо C#, либо Java.