работы с железом и нетолько
Golang - тоже можно назвать системным инструментом для работы с железом, но есть но... Именно сборщик мусора! Да вы можете изолироваться от сборщика мусора через unsafe, но зачем? Узкие места спомощью unsafe, но весь продукт хм... потратишь больше времени, нервов и сил!
Если ваша наши работать с OS, разрабатывать драйвера, выжать из железа максимальной производительности выбирайте Rust!
В остальных случаях Golang отлично справляется
К примеру для написания драйверов сетевой карты под Fedora на Golang(CGO, unsafe) у меня заняло 5 дней, таже реализация драйвера на Rust 3 дня. Но для других задач вы потратите больше времени используя Rust, то что вы можете сделать на Golang
Иногда одна возможность использовать Go стоит того оверхеда, который он вносит. Например, тот же Cilium. Возможно на расте было бы удобнее писать именно низкоуровый код, но интегрировать с остальным на Go оказалось удобнее.
В чем тогда проблема использовать их вместе, а не спорить что лучше?
Да спорить вообще смысла мало на самом деле, а использовать вместе мешает оверхед на поддержку двух языков.
> Rust - системный инструмент для работы с железом и нетолько это не так (не совсем так)
это макет подводной мины, точно такой же как настоящая, только меньше, и другая
В упомянутом тобой cilium как раз два языка
Там сишка наверное ещё
Именно. И дальше ты пишешь на двух языках: си и go. А потом клеишь типы между собой.
Если ЗП выше рынка, то почему бы и нет?
Значит профит от go в конкретном проекте даже это перевешивает
Драйвер на Go? Это точно драйвер, а не какое-нибудь приложение DPDK/XDP?
Именно) Драйвер...
а что удевляет?
Не понимаю с каких пор код Go работает в ядре.
Я писал, что использовал CGO.
Обсуждают сегодня