Позвольте порассуждаю, если не прав, поправьте. Реально, хочу разобраться.
Работа какого-нибудь апи метода - это не на 100% i/o-bound задача. Там всегда есть cpu-bound составляющая. Парсинг запроса и json'а, формирование запроса в бд, манипуляция с полученными данными, какая-то дополнительная логика, формирование ответа и так далее. Это всё cpu-bound. Значит, что при каких-то понятных нагрузках, в сервисе всегда будут cpu-bound задачи, то есть вся система перейдёт в работу в один поток.
Не понимаю, при чём здесь инфоцыгане? Я даже курс не покупал, когда начинал, учился сам. Вы хотите оспорить тезис про популярность языка Python? Пыху он точно подвинет. C# и Java, кажется, для других задач, Python им тоже не конкурент.
Да, по началу самого бесили эти постоянные if err != nil, но сейчас привык, и мне нравится. Перехват ошибки может осуществляться где-то в непонятном месте, что увеличивает когнитивную сложность системы, а тут ты ошибки протягиваешь через цепочку исполнения и явно видишь их.
Проблема, согласен.
Дженерики завозят скоро.
Всё-таки, к этому можно по-разному относится. Для кого-то это преимущество, и возможность без проблем обновлять систему на новую версию языка.
В Go нет ORM. Точнее есть, но сообщество пришло к тому, что это не Go way.
По поводу фреймворка, они есть, но Golang используют в основном в крупных корпорациях, и там юзают свою обвязку на Golang.
Так что в Go фреймворк вторичен, нужно учить сам язык и синтаксис. Также советую посмотреть вот этот видосик, он прольёт больше света по проблеме, которую вы озвучили: https://youtu.be/XR9NiwuiK-k
Съедается выгода от асинхронщины. Потому что весь флоу исполняется в один поток. Я не старался драматизировать, но многие говорят об этом. При этом, прекрасно понимаю, что не каждому сервису это нужно. Как я уже сказал в статье, Python решает свои задачи, и делает это хорошо.
Мы, как приличные люди, не хотим общаться с конспирологами.
Жирнющий лайк за статью. Очень хороший стиль написания. Если сделаешь оставшиеся части, то это будет лучший гайд по собеседованиям ever.
У меня зп не упала, я наоборот очень вырос. Это из-за того, что Ozon сам хантит с других языков, и естетсвенно, компенсируют тебе это падение.
По поводу замечания по переезда с одного языка, на котором пишешь бэкенд на другой. Отчасти согласен с вами. Неплохо бы такой эксперимент провести )
Спасибо большое, что объяснили, очень ценная инфа
Хотел хитрый пример найти, но, видимо, не получилось ( замечание полностью валидно, сорян (
Позвольте порассуждаю, если не прав, поправьте. Реально, хочу разобраться.
Работа какого-нибудь апи метода - это не на 100% i/o-bound задача. Там всегда есть cpu-bound составляющая. Парсинг запроса и json'а, формирование запроса в бд, манипуляция с полученными данными, какая-то дополнительная логика, формирование ответа и так далее. Это всё cpu-bound. Значит, что при каких-то понятных нагрузках, в сервисе всегда будут cpu-bound задачи, то есть вся система перейдёт в работу в один поток.
Не понимаю, при чём здесь инфоцыгане? Я даже курс не покупал, когда начинал, учился сам. Вы хотите оспорить тезис про популярность языка Python? Пыху он точно подвинет. C# и Java, кажется, для других задач, Python им тоже не конкурент.
Но в рамках воркера с async/await синтаксисом всё исполняется в рамках одного треда.
Да, по началу самого бесили эти постоянные if err != nil, но сейчас привык, и мне нравится. Перехват ошибки может осуществляться где-то в непонятном месте, что увеличивает когнитивную сложность системы, а тут ты ошибки протягиваешь через цепочку исполнения и явно видишь их.
Проблема, согласен.
Дженерики завозят скоро.
Всё-таки, к этому можно по-разному относится. Для кого-то это преимущество, и возможность без проблем обновлять систему на новую версию языка.
В Go нет ORM. Точнее есть, но сообщество пришло к тому, что это не Go way.
По поводу фреймворка, они есть, но Golang используют в основном в крупных корпорациях, и там юзают свою обвязку на Golang.
Так что в Go фреймворк вторичен, нужно учить сам язык и синтаксис. Также советую посмотреть вот этот видосик, он прольёт больше света по проблеме, которую вы озвучили: https://youtu.be/XR9NiwuiK-k
Иду прямо сейчас на hh.ru, выбираю Москва. Ищу только Junior вакансии:
"python junior": 264 вакансии;
"java junior": 192;
"php junior": 93;
"php junior": 93.
Ну и я сам нашёл работу джуном без проблем. Кажется, ваш поинт невалиден )
Съедается выгода от асинхронщины. Потому что весь флоу исполняется в один поток. Я не старался драматизировать, но многие говорят об этом. При этом, прекрасно понимаю, что не каждому сервису это нужно. Как я уже сказал в статье, Python решает свои задачи, и делает это хорошо.
Да, вы правы. Но, кажется, с форматированием, код не стал понятнее. Хотя это моя вкусовщина, но я бы точно поставил nitpick, когда ревьювил код.
Спасибо огромное, действительно неточность. Убрал эту штуку из статьи.