Adam D’Angelo on Why Quora Chose C++

Yesterday, I absorbed a fair amount of information from Quora.com that I put together in a post about programming. Earlier today, there was another good post on Quora from Carter Page in which I shared his insight about learning the skills behind the skills. I wondered about the idea of high performance server technology and I saw a post on Quora answered by Adam D’Angelo, one of the founders of this high traffic website, on why they chose C++ for many of the operations on Quora.

I must say his rationale echoes why I chose C++ for my series on cross-platform programs using SFML. You use a minimal subset of C++ and combined with the performance capabilities of the various compilers, you gain efficiency (with good design) in the code’s execution profile. You gain greater control over optimization by avoiding it by default. You can it avoid in some cases because the technology itself leans towards greater optimization in the specification and implementation of the language and compilers.

You can gain additional performance with several mechanisms C++ provides but you do not have to prematurely optimize if you hold to an efficient, minimal subset. The STL can make a huge difference in reducing the amount of written code. When you need to optimize, you may encounter far less areas to revise. Long-term, it can be a very smart way to code since you can bridge to C when required or go very high level as the C++ spec evolves.

Taken together, you have a solid output. Tools like Apache Thrift (reminds me of Microsoft WCF), used by Quora. for example, seem to provide a good way to apply C++ in a service oriented way. An approach that appears to be at the core of how Amazon.com operates based on the information available.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s