Folks, those of us writing managed code in here should be really grateful.
I know because on the weekend I tried to resurrect some of my C++ library
code that has been untouched since 2003. Well ... everything has changed
thanks to the security review, Unicode, new standard libraries, language
features and compilers. It took me hours to get the old code modernised to
compile, but then I ran into incomprehensible linker errors that I still
haven't solved. So I'm not there yet.

Then this morning I had to prove to a colleague who only writes C++ that
Azure Storage was usable from C++ programs without too much suffering
because I expected and hoped that helper libraries would be available. I
found good sample articles here
<https://docs.microsoft.com/en-us/azure/storage/storage-c-plus-plus-how-to-use-blobs>
and here
<https://docs.microsoft.com/en-us/azure/storage/storage-c-plus-plus-how-to-use-blobs>,
and I eventually made a simple working sample, but it was hell. The
namespaces are unfamiliar, the iterators are cryptic, there are new magic
string macros, but worst of all is asynchrony via the pplx library. In
managed code we can just await or let! bind for asynchrony, and the
language syntax is short and clear. I still haven't managed to get a single
async C++ function call to work yet.

I was hoping that after all these years, and with the trend to "modern C++"
that things would be better, and I'm sure they are once you get the hang of
it, but the change in style, libraries, language and compilers makes your
20th century C/C++ code experience mostly obsolete. Now I really appreciate
how lucky we are writing C# and F#.

Here endeth the post Easter sermon.

*Greg K*

Reply via email to