So I've been in the tech industry since 2001, and for most of the time I spent interacting and developing for the Java world. Granted I was never ever a huge fan of working with Java. When I was younger I had a mentor (thought he didn't realize he was my mentor) from the AOL days, and he absolutely hated Java. Odd that Java would define so much of my professional career, despite never really caring much for the language.
I was happy to eventually move into the DevOps/Site Reliability Engineer space around 2013, and could use my language of choice Python. Despite having to mess with the odd Netflix API or so (like Cassandra Astynax), I have mostly prided myself as a Python guy, with the occasional Ruby (I'm a DevOps guy after all, and too many DevOps tools are written in Ruby). However, as a hobbyist I never had too many fresh ideas of what to do with Python. As a professional, I always find place where to fit Python into our automation.
Well about a year and a half ago, I decided to get off of the side lines and get involved in the world of cryptocurrencies. I had pondered the idea of getting into Bitcoin and blockchain, but was way too conservative earlier on to consider it. But I eventually bought my first Bitcoin early 2016 and I started to get immersed in this world. As a fiscal illiterate, I made some mistakes, such as selling to quick, going all in, involving myself in shit coins, and mostly having weak hands. To the point where I finally found the one thing I was good at when it came to cryptos... Fundamental analysis. The minute I started doing fundamental analysis, my portfolio became "smarter". And that is because I'm a tech guy, and I love doing the research.
Anyway I guess there is a point I wanted to make. So here it goes. I've finally started to get my feet wet looking into the development of block chain technologies. It is something I've always wanted to do. And I've finally started messing around with Ethereum and Solidity development. I've even compiled a few projects like EOS. However there was just one issue. EVERYTHING IS WRITTEN IN C++. And I mean EVERYTHING.
Now this isn't a problem, I do know some C++ from my college days. But man, this was back when things like MFC and Win32 programming was still in vogue. Anyone remember those ugly MFC macros? Yuck. However C++ as a language has changed quite a bit. There seems to have been a ton of stuff added to the language with C11 and C14. And there are so many build utilities like SCOM and CMake. And what is boost and why does it take so long to compiled!?
I feel like I've been in this C++ coma and I'm just now waking up to a brand new world. But I literally love firing up my CLion compiler and stepping through the bitcoin or EOS code. And while it sounds boring, this stuff really excites me. It feel like I'm learning something new, and it's really amazing. I'm especially enjoying studying the code, although I'm not writing much myself.
And I guess when you think about the world of blockchain and how stateful it is. You can imagine that memory management is of the utmost importance. I've hit some resource limits just trying to get this stuff to compile. And while I do plan to write a small DAPP in Ethereum, just to see how fun it is. Studying the core blockchain code just seems far more exciting.
So is it time to go back into C++? Is it essential to understand blockchain technologies and the tech around it?