Archive for January 2019
GOOGLE IS 2 BILLION LINES OF CODE—AND IT'S ALL IN ONE PLACE
HOW BIG IS Google?
We can answer that question in terms of revenue or stock price or customers or, well, metaphysical influence. But that's not all. Google is, among other things, a vast empire of computer software. We can answer in terms of code.
Google's Rachel Potvin came pretty close to an answer at an engineering conference in Silicon Valley. She estimates that the software needed to run all of Google's Internet services—from Google Search to Gmail to Google Maps—spans some 2 billion lines of code. By comparison, Microsoft's Windows operating system—one of the most complex software tools ever built for a single computer, a project under development since the 1980s—is likely in the realm of 50 million lines.
So, building Google is roughly the equivalent of building the Windows operating system 40 times over.
The comparison is more apt than you might think. Much like the code that underpins Windows, the 2 billion lines that drive Google are one thing. They drive Google Search, Google Maps, Google Docs, Google+, Google Calendar, Gmail, YouTube, and every other Google Internet service, and yet, all 2 billion lines sit in a single code repository available to all 25,000 Google engineers. Within the company, Google treats its code like an enormous operating system. "Though I can't prove it," Potvin says, "I would guess this is the largest single repository in use anywhere in the world."
Google is an extreme case. But its example shows how complex our software has grown in the Internet age—and how we've changed our coding tools and philosophies to accommodate this added complexity. Google's enormous repository is available only to coders inside Google. But in a way, it's analogous to GitHub, the public open source repository where engineers can share enormous amounts of code with the Internet at large. We're moving toward a world in which we regularly collaborate on code at a massive scale. This is the only way we can keep up with the rapid evolution of modern Internet services.
"Having 25,000 developers, as Google does, means it's sharing code with a diverse set of people with diverse set of skills," says Sam Lambert, the director of systems at GitHub. "But, as a small company, you can get some of that same advantage using GitHub and open source. There's that saying: 'A rising tide raises all boats.'"
The flip side is that building and running a 2-billion-line monolith is no simple task. "It must be a technical challenge—a huge feat," Lambert says. "The numbers are absolutely staggering."