Информация об изменениях

Сообщение Re[6]: Go заменяет С++ ? от 17.05.2025 12:35

Изменено 17.05.2025 13:09 Философ

Re[6]: Go заменяет С++ ?
Здравствуйте, undo75, Вы писали:


Ф>>Тут речь не только про HTTP — про любой IO. Если тебе надо делать множество чтений или записей (откуда угодно и куда угодно) с небольшой обработкой прочитанного, то гошка будет хорошим выбором.


U>вопрос конечно холивора и закостенелости. но повод ли для этого изучать что-то, если инструмент прекрасно справляется с задачей?


Если ты про шарп, то он с такими задачами справляется хуже: конкурентность в шарпе явная (я про async/await), а в гошке она из коробки — у тебя простой линейный стиль написания. Заметь, программист, который понимает как работают async/await — редкий зверь. Но это было бы половина беды: для IO-bound приложений тебе придётся что-то явно городить с размером стека — твои потоки сожрут всю доступную память под свои стеки и проблема встанет в полный рост.
Попытка уложить число потоков в кол-во ядер ОС на шарпе — задача в общем случае не решаемая, а значит твоя программа будет жрать System Time на переключение контекстов.
Re[6]: Go заменяет С++ ?
Здравствуйте, undo75, Вы писали:


Ф>>Тут речь не только про HTTP — про любой IO. Если тебе надо делать множество чтений или записей (откуда угодно и куда угодно) с небольшой обработкой прочитанного, то гошка будет хорошим выбором.


U>вопрос конечно холивора и закостенелости. но повод ли для этого изучать что-то, если инструмент прекрасно справляется с задачей?


Если ты про шарп, то он с такими задачами справляется хуже: конкурентность в шарпе явная (я про async/await), а в гошке она из коробки — у тебя простой линейный стиль написания. Заметь, программист, который понимает как работают async/await — редкий зверь. Но это было бы половина беды: для IO-bound приложений тебе придётся что-то явно городить с размером стека — твои потоки сожрут всю доступную память под свои стеки и проблема встанет в полный рост.
Попытка уложить число потоков в кол-во ядер ОС на шарпе — задача в общем случае не решаемая, а значит твоя программа будет жрать System Time на переключение контекстов.

ЗЫ: гаечный ключ всё же нужен для закручивания, для забивания молоток лучше подходит