I use a fair amount of C++ for my code and its entirely because all the other tools I use - SAT solvers, model checkers, etc. are written in C++. I don&#x27;t like it very much and many others in my community don&#x27;t like either, but we&#x27;re all stuck in this local maximum.<p>Moving to an entirely new language is impractical for any single project so all the new projects end up using C++ which in turn means the projects that come after them ending up using C++ as well. For a concrete example, look at something like ABC (<a href="https:&#x2F;&#x2F;bitbucket.org&#x2F;alanmi&#x2F;abc" rel="nofollow">https:&#x2F;&#x2F;bitbucket.org&#x2F;alanmi&#x2F;abc</a>). There is very little incentive to rewrite the whole thing in a safe language but if you&#x27;re doing new circuit verification research having ABC&#x27;s humongous library of transformations and verification algorithms will be a huge help in implementing new things.<p>There have been a few attempts to break away though. Some folks at SRI wrote the model checker SAL in Ocaml, a lot of CMU folks seem to like Ocaml too: for example the bitblaze project uses Ocaml. And z3py has helped make Python popular.<p>I&#x27;ve lost countless hours of my life debugging the sorts of issues this guy is talking about, so I really hope we do make the switch to something better.