top | item 24187930

(no title)

connorrigby | 5 years ago

Hello, Nerves Core Team member here. Unfortunately, most of this just isn't true and i'd like to address some of your concerns to prevent incorrect information from being spread.

> 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.

discuss

order

d33lio|5 years ago

Hi, I apologize for the rather inflammatory nature of my post. I actually built a brewing controller back in the day with Nerves and it's still kicking today! At that point I was much more of an elixir noob and was referring back to my knowledge of nerves at the time.

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!