(no title)
connorrigby | 5 years ago
> until you realize it's basically all just ported C code that you're trusting to not crash the whole erlang VM.
We rely on very little C code at runtime. The networking libraries have a tiny bit of C glue code to talk to Linux, but other than that we use mostly Elixir. I've been shipping Nerves in production for 4+ years now and "trusting C code not to crash" has never been a problem for me or anyone else I know using Nerves in production.
> It's effectively one huge NIF.
We actually don't have any NIFs in the core of Nerves. You would have to bring them in yourself, which I expect would be caught in the dependency screening process of your project. Any time we need C to access something in Linux, we usually reach for Ports since they can be properly supervised.
> I'm still waiting for a nerves compatible PID control module!
there is at least one PID library in Elixir that I know several people have used, and at least one company uses in production.
I wish you had done a bit more research before writing this message, but I hope I've addressed any concerns for future viewers.
d33lio|5 years ago
Thank you for educating me and informing me that I was wrong ;). We need more people like you who know how to tell others they're wrong while doing so in a cordial and friendly matter.
cheers!