Sunday, March 04, 2012

C++ Driving Google Car

After winning $2M DARPA self-driving vehicle challenge for Stanford team,
prog Sebastian Thurn is now making self-driving cars in Google
(and teaching excellent AI and robotics online classes)

Most popular programming language in Google are:
  • Python
  • Java, and
  • C++

    Can you guess what is the programming language mostly used for Google car?

    cs373_oo2_00_l_Office-Hours-Week-2 - YouTube


    The keyword is "efficiency".
    When it comes down to computers, the performance is "king".

    Similar considerations influenced Microsoft recent focus on "Native".
    On "Build" developers conference, there was more talk about C++ than about .NET.

    iPhone battery can last longer
    because its software is (mostly) based on (objective-)C.
    Most of Android phones, using less efficient Java,
    have a simple solution: a replaceable battery :)

    Windows Vista was originally attempted in .NET, with many features.
    The project was late, and code slow, so it was re-written in "native" C++
    (and many features canceled)... Lesson learned,
    Windows 8 is taking 1/2 of .NET (XAML) and moving it in WinRT core,
    this time completely "native" (C++).
    C++ (version 11) language is also greatly improved...

    Amazon is also running on C++ for the most part...

    Facebook has an interesting twist: software is written in PHP (easy to write)
    and then it is converted to C++ to run fast...

    There are places (Enterprise, maybe Cloud) where
    performance compromise of Java and .NET is acceptable.
    Everywhere else... "the good, the bad, and the ugly" C/C++
  • No comments: