So, I’m not a poet, but sometimes, C++ inspires me with its sheer bloody-mindedness:

With apologies to Rogers, Hammerstein, Stroustrup, and possibly Julie Andrews…

Pointers that point to obscure memory pages
Memory management from the dark ages
References that don’t reference anything
These are C++’s evilest things

Templates that keep all my types safe and strong
But make all my declarations 10 lines long
Char arrays pretending that they are strings
These are C++’s evilest things

When my ruby
Module is lost
And I’m feeling sad
I remember C++’s evilest things
And then I don’t feel so bad!

Stupid loop constructs will make you feel restless
Compilers moaning about const-correctness
Silly operator overloading
These are C++’s evilest things

STL libaries with complex containers
“For each” iteration should be a no-brainer
‘Static’s a keyword with many meanings
These are C++’s evilest things

When the code hangs
And my box is
A puddle of lava
I smile and remember that at least I am
Never using… Java!