Thursday, November 12, 2009

Lo, and Google Chrome was good.

I'm very impressed with Google Chrome, and I must say, Google's venture into the browser world has been very interesting, to say the least.  However, Chrome's release wasn't about profit.  Is Google profiting from it?  Probably, but that's not why they made it.

Prior to the release of Chrome, there were 4 browsers really worth talking about: Internet Explorer, Firefox, Opera and Safari.  Each of these browsers has its issues, but Internet Explorer had (and has) the most; unfortunately, it's the most popular.  Google saw that most common internet browser being used was Internet Explorer 6, and this was problematic, since Internet Explorer 6 is very old, and has little to no modern features (like tabs), and is ridiculously sluggish.  This was keeping Google and other websites from pushing their site design forward.  So, for the greater good of the internet developer, and the internet user, Google made Chrome.  That alone, however wasn't enough, they also started putting notices on their websites for users that aren't using Chrome suggesting that users upgrade to Google Chrome.

Now, Chrome has a very small market share, the last I heard was 3%.  However, Google made Chrome open source (much like Firefox), so any improvement that's made in Chrome, any revolutionary feature, can be inspected and understood by other browser makers, and incorporated into their browsers.  Google doesn't want to win, they want the world to win, by making every browser better, and to provide a better browser themselves.

This brings me to a recent Google project release, Go.  Go is a new programming language that is being developed at Google.  Now, there is no way that Google can directly profit from an open and free programming language.  Let's consider the reasons why they started Go.  From the website:

  • Computers are enormously quicker but software development is not faster.

  • Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation.

  • There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript.

  • Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.

  • The emergence of multicore computers has generated worry and confusion.

  • These statements form the mission statement for Go, and from reading the documentation, I've gleaned some other things.  I believe that they are trying to start over in a way.  The old programming languages are either incredibly outdated and can't support modern programming dilemmas well, or they've become so feature bloated that they are confusing and unwieldy.  Go is trying to give a new language that easily supports modern programming problems without being complicated and cumbersome.  They also want their code to be clean, and make sense.

    Also, Go is an attempt to find a new way for them to more efficiently code their servers.  They want to get more out of their servers for the same amount of time and electricity.  Efficiency.  They want Go to be FAST, and it's currently well on its way to fulfilling that goal.  This language could help save the environment.  They want server programming to be easy, and efficient.  Go will make things easier for Google to develop, plain and simple.  I'm excited for when I'll finally get to program in it.  I need to get myself a Unix based system first, and I have a spare computer that I can load Linux on, I just need to get around to doing it.

    Next however, I would like to talk about the Chrome OS.  Not only has Google announced that they are working on a Linux based OS, but certain files related to it are showing up in the the Chrome browser builds. My question is though, why?  How will Google benefit, even if indirectly?  From the description, they want it to load fast, and get you to the internet fast.  They want Chrome OS applications to be webpages.  They're trying to eliminate the desktop part of the OS, and trying to make an operating system that gets you on the internet as fast and as securely as possible.  This sounds like an operating system that's geared for netbooks, lightweight and net-centric.  This operating system will likely get more people using Google services, which increases their ad revenue, but I don't feel that's enough impetus.  What is it that they're playing at?  Only time will tell, or a press release.