Whether it’s his love of skiing or his prominent contributions to the C++11 development platform, Howard Hinnant is a man of passion. Luckily for us at Ripple Labs, the happily married father of four and self-described crypto-“newbie” is currently revved up about the Ripple protocol.
“When I met the team, everyone was just so enthusiastic!” said Howard, who spent a few minutes chatting with me about his first day on the job. “People aren’t that enthusiastic if they don’t believe in what they are doing and thrilled to be doing it. And now they have infected me with that enthusiasm.”
You are a key contributor to the C++11 standard, but for those who may not be “in the know,” tell us about yourself.
Well, I’m a refuge from the aerospace industry (which was a great experience). I started teaching myself C++ in the early 90s and really liked the language (I was coming from C, Pascal, Fortran, etc.). This was my first exposure to “object oriented” programming.
By 1998, I was providing the standard C++ library for Metrowerks CodeWarrior, which mainly served Apple developers at the time. Metrowerks sent me to my first C++ standards meeting that year, and I was just in awe from meeting all the movers and shakers in the industry.
Over the years I was able to contribute several key features to C++11, including move semantics, unique_ptr, and the chrono time facilities. Along the way I was authoring the standard C++ library over and over (twice for Metrowerks and once for Apple).
What’s your role on the team?
I will be working on the Ripple protocol implementation.
What about the rippled codebase excites you?
When I was contributing things to C++11, it wasn’t without an ulterior motive. I was helping to build the language I wanted to program in. When I found out that the Ripple programmers were aggressively adopting C++11, I was like a kid in a candy store.
How do you think C++11 will help improve rippled?
Move semantics makes value semantics practical. It makes passing heavy weight around by value, or returning them from functions, blazingly fast—so many trips to the heap are avoided.
Additionally, I strongly suspect the multi-threading features are going to be a great help. And ultimately, I believe coding in C++11 will lead to cleaner, more readable (and thus more reliable) code than is possible in C++03 because one spends more time programming exactly what you want to do and less time working on arcane optimizations that exist only to work around things you can’t do, but wish you could.
What part(s) of the rippled codebase are you particularly excited to work on?
I’m afraid I don’t yet know enough about rippled to give a good answer to this question. My first job will be to come up the learning curve and get a good overall knowledge of the codebase.
How and when did you get into the cryptocurrency space?
You have just interrupted me from creating my first Ripple Wallet. I’m a complete newbie.
What sort of impact do you see these technologies having on people and the economy?
As grease is to wheels, the Ripple protocol is to currency exchange. With the friction taken out of the old fashioned payment/exchange model, I believe Ripple is going to have a profoundly positive impact on the global economy.
So how was your first day?
Wow!!! I don’t think I’ve ever had a more technically challenging first day. Nor have I ever enjoyed one as much. The team at Ripple Labs is the people I want to work with!