Около месяца назад статью "Performance of Kafka Consumers: 1 Billion messages". Ничего интересного или полезного для себя там не нашел.
Но одна мысль засела в голову после прочтения и не отпускает до сих пор. Попробую эту мысль озвучить.
В конце статьи есть абзац:
Maybe Go’s performance overshadows Python, but Python is developer friendly. Of course, I can choose Python in these scenarios. If I don't need a performance or need to develop minimized consumer or I need to one-time run/remove console app. But when I need performance or huge numbers, I would rather Go without question.
Т.е. автор говорит, что когда нужна производительность, то Go его выбор без вопросов. Но когда важно удобство (да и скорость написания кода, пожалуй), то Python.
А вот мне сама необходимость делать такой выбор кажется не то, чтобы странной (хотя да, и странной в том числе), сколько ненормальной.
Ведь одно дело, когда мы выбираем между условными Ada/C++/Rust и не менее условными Java/C#/Scala/Kotlin. Тогда понятно, что небезопасные нативные языки берутся в рассмотрение не просто так, а потому что либо нужно опускаться на весьма низкий уровень, либо нужно выжимать последние крупицы производительности (объективности ради нужно сказать, что есть и другие факторы в пользу группы небезопасных нативных языков, но это уже совсем другая история).
Но вот когда речь идет о языках, которые изначально создавались для удобства программиста, а не для скорости исполнения или тотального контроля за всем и вся... То откуда берется эта ложная дихотомия?
Казалось бы, бери себе Kotlin или C# и не парь мозги. Будет и достаточно удобно, и достаточно быстро. Но нет, зачем-то нужно делать выбор между Go и Python. Нипанятна :)
Еще одно впечатление от упомянутой выше статьи: никакого интереса к задаче извлечения большого объема данных из Kafka не возникло. Хотя могу предположить, что это и нужная, и интересная задача, сопровождающаяся сложными техническими моментами. Однако нет, не торкает. А вот сделать что-то вроде Kafka -- вот это уже совсем другое дело... Ну а чего еще ожидать от хронического велосипедостроителя? ;)
2 комментария:
А в чем претензия к Go? Или это больше о том, что автор, который делая выбор между Go и Python считает Go более быстрым (не беря во внимание например C|C++|Rust)?
@Unknown
> А в чем претензия к Go?
Не, Go быстрее Python, тут спору нет.
Меня удивляет озвученная автором дилема. Мол Python медленный (да), но удобный (нет). А Go не удобный (да), но быстрый (нет).
Т.е. как будто выбор только между двумя сортами известной субстанции. И главный вопрос: а зачем себя ограничивать лишь этой самой известной субстанцией?
Отправить комментарий