Porting C to Rust
&gt; Achieving abstraction is super hard when you can just reach down into some bytes and noodle around with them instead.<p>Disagree. In my experience all was wonderful once I was past the point where I decided to just not worry. Much the opposite, so much pointless and confusing OOP boilerplate (as well as blood, sweat, and all that) goes into &quot;securing&quot; code against misuse.<p>Invest some time into data structures with obvious meaning, or a procedural API that is easily understood. &quot;Nobody&quot; will &quot;ever&quot; misuse, and misuse will be easy to detect. Much better tradeoff IMO.<p>And lastly, of course, abstraction has nothing to do with &quot;security systems&quot;. It&#x27;s against popular opinion, but you can in fact have good abstraction with nothing but plain functions and void pointers. I like to view abstraction as mostly a conceptual thing that doesn&#x27;t even happen in code.