Pybind11 – Seamless operability between C++11 and Python
If you like to program in C++ and Python, the Nim language might appeal to you: C++-like features (generic types, operator overloading, function overloading, inline functions, optional O-O, optional data hiding, C pointers, bitwise-compatibility with C, your choice of manual memory management or GC) and C++-like run-time speed, combined with Python-like syntax and compile-time Lisp-like macros.<p>I spent most of a decade mastering pre-11 C++, learning to apply the recommended tricks &amp; idioms (like the copy-swap idiom for strong exception safety guarantees), learning to sidestep the gotchas.  Meyers books, Sutter books, GotW, &quot;Modern C++&quot;, etc.  Then, when C++11 came out, the language became even more complicated, not less.  That was a breaking point for me.<p>As a long-time programmer (and fan) of both C++ and Python, Nim offers the best balance that I&#x27;ve yet found between C++&#x27;s ethos of thoughtful, precise control and Python&#x27;s user-friendliness.<p>(And if you ever happen to need seamless Nim-Python compatibility, including native Nim support for Numpy arrays with C++-style iterators, my Pymod project may be of assistance: <a href="https:&#x2F;&#x2F;github.com&#x2F;jboy&#x2F;nim-pymod" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jboy&#x2F;nim-pymod</a> )