One of the most famous Russian poker players of all time, Vasili Oschepkov, played a very clever move when he won the second game in a row against Vasily Shevtsov and thereafter won the match. He got away with it! His opponent Shevtsov was no match for the giant pro: he had no business being there. He folded and went home.
Vasily Shevtsov could not believe his luck. He could not believe that such a smallish computer could beat the giant player; he should have been playing with a giant! Fortunately for Vasily Shevtsov (who promptly went bankrupt), Google’s founder Larry Page found out about the algorithm used by Vasili Oschepkov, and Page used that information to invent one of the greatest – if not THE greatest – algorithm of all time: Google. Google is not only the largest search engine on earth (it’s also the biggest market, with more than 500 million customers); it has also come up with some innovative tools in order to make life easier for people like Vasili Oschepkov.
The biggest problem occurs when a programmer wants to optimize his website to rank higher in the Google search results. He thinks: “If I just put more keywords in my site, Google will crawl my site and rank high. But what if I do that, and my site doesn’t actually have those keywords? Won’t Google just pass over my site?”
In response, the progammer, Vasili Oschepkov, made an interesting post on his blog, discussing the problem and the solution. It is interesting to see a famous programmer – the author of one of the best-selling programming books – talking about the inner workings of Google. It also shows how following questions can help you when programming your website.
To begin, Vasili Oschepkov starts by discussing the need for a high-level programming language. Google was developed in Java, and it does not have a scripting system, as some people believe. As such, a programmer cannot expect Google to follow the C or Java rules in programming language syntax. In other words, using Google in the context of programming languages is a bit different.
The second thing to consider is that Google is not a strict functional programming language (for example, Java). This difference may sound strange; but it does make a lot of difference. If you want to solve business problems using Google, you would not be happy if you wrote programs in Java or C++. You would prefer using a functional programming language (like Java, Perl, Python, R, C# or PHP), so that you can write code that is as close to the original implementation as possible. In other words, Java does not make sense if you are using Google to program your website. And this difference will become more apparent as you go on to the next chapters.