5 ms·
I'm also in the planning stages of re-writing ~1M lines of C doing hardware control for a telecoms system. It's going to be replaced with Elixir (basically Erla
by rkangel 7y ago
I'm also in the planning stages of re-writing ~1M lines of C doing hardware control for a telecoms system. It's going to be replaced with Elixir (basically Erlang) because it's the perfect fit (which is unsurprising given its a telecom system).
My prediction is that it will be 10-20k lines of code when I'm done because there's so much obsolete cruft to remove. Plus ~1k of C as a shim layer to allow an incremental transition.
- bpizzi 7y agoNice, glad to know there's other brave souls that choose the Big Rewrite path, despite the latent idea in our industry that every one of those projects are meant to fail.
- rkangel 7y agoMy approach is that there are a few things that the default answer for should be "no" and then you have to justify (maybe just to yourself) why they're appropriate in this case. Macro Fu in C, template meta-programming in C++ and rewriting from scratch are all examples of these. In this case I am avoiding the 'throw it all away and start from scratch' approach. It would be infeasible for the intervening period. I am putting together an approach that would get us there in a year or so, but we can lop off smaller chunks to rewrite (the existing architecture is a series of daemons, which helps us there).