[erlang-questions] Troll bait: If your code really matters, you'll write it in C++

Garrett Smith g@REDACTED
Tue Apr 3 17:08:54 CEST 2012


On Tue, Apr 3, 2012 at 5:33 AM, Hendrik Visage <hvjunk@REDACTED> wrote:
> http://blog.achrissmith.com/2012/03/if-your-software-matters-you-will-write.html
>
> No, I didn't say it, I just snickered at the "definition":
> <quote>
>
> Definition: "software which matters"
>
> "Software which matters" is defined as:
> - Software which is used by hundreds of millions of people daily.
> - Software which generates billions of dollars in income annually.
> </quote>

His premise is that if you can optimize you will and that optimization
equals performance. With those axioms, I think the conclusion is
sound.

The first commenter cited this excellent summary of the architectural
approaches that YouTube takes:

http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html

Some interesting quotes (many worthy of sacred text status):

- Choose the simplest solution possible with the loosest guarantees
that are practical
- Whole process is what scalability is about
- YouTube is not asynchronous, everything is blocking
- Things change over time
- If a user can’t tell a part of the system is skewing and
inconsistent, then it’s not
- Not every comment is a financial transaction. So know when you can cheat
- A component might last a month or six months, who knows
- The most efficient thing is to write it in C and cram it into one
process, but that’s not scalable
- The more magical the code is the harder is to figure out how it works
- The fastest function call is the one that doesn’t happen

I'm of course cherry picking the quotes to emphasize my own
impression, but the YouTube approach seems more about managing
constant change than making things go fast. It seems that "software
that matters" is "software that's subject to intense pressure by
users".

It's also hard to imagine software as single applications these days.
It tends to quickly become "systems". So C++ could certainly be the
Right Choice for part of what matters.

Garrett



More information about the erlang-questions mailing list