4 ms·
@CSDude: Thanks for sharing this very interesting project! From a technical point of view, what are the reasons you chose Go over alternatives, such as C, C++,
by vog 11y ago
@CSDude: Thanks for sharing this very interesting project!
From a technical point of view, what are the reasons you chose Go over alternatives, such as C, C++, OCaml or Rust?
(Just curious, as all those languages have compilers that produce fast, optimized, self-contained binaries.)
- CSDude 11y agoThank you. I found it easier to develop in Go and I use Go in the work environment heavily. But compared to C/C++, I think having a garbage collector is a must for modern init, and I will write all the other utilities in Go as well for better maintainability.
- vog 11y agoDo you also have some comparison to Rust? Rust has a very advanced memory lifecycle management. The promising part is that it may give you almost all of the advantages of a garbage collector while not needing an actual garbage collector in most cases. Like RAII in C++, but much more advanced. I'd be interested whether this actually works well for a nontrivial project such as an init system.
- pcwalton 11y agoGarbage collection isn't a must for a modern init. Memory safety may arguably be, but I see no reasonable argument that garbage collection (a particular strategy for memory management) is.
- CSDude 11y agoWell I would say memory safety, not necessarily garbage collection. It was also a bit overstatement but I would really love memory safety for many core utilities.