Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Those Rust and Go bugs aren't much different from C gotchas when writing portable UNIX code.


> Those Rust and Go bugs aren't much different from C gotchas when writing portable UNIX code.

Maybe, but:

1. It's irrelevant to this product (no one is writing portable UNIX code when they are writing some Linux-specific software, like container implementations).

and

2. It's irrelevant to the author's goals (learning Linux kernel stuff using the language that the interface to the kernel uses is a better idea than using a different language and hacking shims for all the stuff you want to do).

and

3. The cost to switch to a new language is substantial, and only makes sense if you're either joining a team and project that uses that new language, or if the goal is to learn that new language.


1. Containers predate Linux, appeared in other UNIXes before GNU/Linux, and Windows also has them.

2. Any languge able to call into Linux API surface is usable. And if we go down the UNIX native languages route born at Bell Labs, C++ also counts.

3. That depends on how much someone knows C (properly), versus other alternatives


It depends what you mean by "container". As far as I know, Windows containers aren't using namespaces, cgroups and seccomp. BSD Jails are definitely a different thing. So if you wanted to know how exactly linux containers worked, it's probably easiest to use what the linux docs provide (which is C).


Of course Windows containers aren't using Linux APIs, they are using Win32 mechanisms for process sandboxing.

Just like HP-UX vaults, and Solaris Zones aren't using namespaces, cgroups and seccomp, rather their own UNIX flavours.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: