Managed and unmanaged code.
Adventures into generating bitmap images of PDF documents without using Adobe® products or libraries. The reason was simple, Adobe does not allow anyone to automate against their desktop products and if you do then you need to use 'clipboard' to get bitmap data (very 1980's). It was also an internal experimental task, requiring it to be simple and effective in favour of accuracy and speed. GhostScript came to mind, but was big and unstable in a server environment and with a STA (Single Threading) model was not suitable in a dynamically scalable environment.
Being put to the test as it's been a while since programming in C++, the pain of 'off the cuff' programming and associated memory leaks soon get the better of me and decided to use the complete array of languages where it suited best. The core is C++ as there is no faster or better way to deal with rendering PDF structures besides maybe MASM, or using the hardware on a graphics display adaptor, but as said, it's an internal project and I don't want it specific hardware dependent.
Created two shells or wrappers calling the C++ that does all the nasty grind work with p/invoke. It was a joy building it in C# as the underlaying technology is very similar so passing pointer parameters is a breeze. VB.net on the otherhand, just as effective and efficient, but I did have to martial virtually all intprts and strings before it would run, has to do with byvar and byref as this fundamental differences between C# and VB.net. One of the joys of working with managed and unmanaged code.