IS IT TIME TO “GO”?
Today, Google introduced their new systems language called “Go”. Where does the name “Go” come from? Well, lets put it this way; the documentation states that a great name for the debugger would be “Ogle”. I will let you put the pieces together. “Go” is Google’s alternative to C or C++. The primary difference is that they have removed many of the language constructs, which either contributes to coding errors or common problems related to secure coding. In addition, they have added fundamental support for concurrent execution and communications, garbage collection, and even multiple return values. All of these features are interesting, and would be a joy to have in a major language; however, none of them are groundbreaking in nature.
LOOK BOTH WAYS BEFORE CROSSING
Everyone is looking in the wrong direction. Most of the literature and editorials that I have read so far all seem to focus on the fact that Google has introduced a new language to potentially compete or replace C/C++ or Java. They are trying to figure out why the world needs another language. Is “Go” better than C++? Why can’t you just create new classes in C++? Should major new applications be written in “Go”? How does “Go” compare with Java? They are all missing the point. Google did not create a new language just for the fun of it nor the technical challenge of it all. Furthermore, this is NOT a battle of the computer languages; this is a battle for the next major operating system: The Browser Based Operating System. The introduction of the “Go” language is a key strategic move in this direction.
CAUTION…CURVES AHEAD
What does a language have to do with a browser!? Months ago, Google quietly introduced a powerful new feature into the Chrome browser called Native Client. This is essentially a sandbox, which can run untrusted x86 native code. This has major implications. This provides browsers like Chrome the ability to perform intense computational tasks that far exceed the speed and capabilities of Flash/Java/Javascript/or Silverlight. In a perfect world, a traditional ActiveX control would be cross platform, unable to harm your computer/browser, and executed in a secure runtime environment. This is exactly what the Native Client provides! However, standard compilers cannot create code that is compatible with the Native Client runtime environment. According to the paper “Native Client: A Sandbox for Portable, Untrusted x86 Native Code” presented by Google at the 2009, IEEE Symposium on Security, there are seven key constraints that must be met in order for code to run in the sandboxed environment:
Except for constraint #5, most compilers don’t meet the requirements to produce valid code for the Native client environment. Google has introduced experimental modifications to GCC and other tools to produce Native Client applications, but they are all based around forcing an existing coding methodology to meet a new more secure execution environment. This technique inevitably leads to many compromises, and create a disconnect between the language, the programmer, and the reality of the seven aforementioned constraints.
The “Go” language will provide a modern day, systems type language, which will create code from the ground up that meets the constraints listed above. In addition, programmers won’t feel like they have to compromise on functionality or capabilities when developing software, because Google has replaced all important “C” language constructs, such as Pointer arithmetic, with secure and very usable alternatives such as Slices.
CAN ANDROIDS DRIVE?
Google’s mobile platform, “Android”, certainly wont be excluded from the master plan. Currently, the premier language for development on Android is Java. However, Java is considered a high-level language and always struggles to meet the performance capabilities of a real systems language such as C or C++. It is noted in the FAQ that ARM chip support is currently under development has already been tested on Android phones. In upcoming years, you will find that Go will be used to develop plug-ins for the already robust Android browser, and also as an alternative language for Android mobile application and driver development.
FULL SPEED AHEAD
There are many interesting features in the “Go” language that will make it a very intriguing tool for general application development, such as garbage collection, fast compilation, and flexible typing. However, in the near term you can expect the “Go” language to mature quickly and fully support the Native Client environment. Currently, this support is not complete, however, it is certainly a high-priority for Google. Looking ahead, I believe that this “Go” language will be the premier language for the development of plug-ins for the Chrome browser. Ultimately, it will become the foundational language of choice as the Google OS fleshes out and becomes a reality.
13 Responses
Where is Google “Go”-ing? by Robert E. Johnson, III | Neorack Tutorials
November 12th, 2009 at 4:34 pm
1[...] to coding errors or common problems related to secure coding . See the original post: Where is Google “Go”-ing? by Robert E. Johnson, III Share and [...]
Boris Matakovic
November 21st, 2009 at 10:46 pm
2I think Google is doing something to create a secure computing environment for the web. It seems quite natural that our desktop computing platforms should become a web based environment. I can’t wait till the day you can replace your computer and within 10 minutes you are back up and running on another piece of hardware with all your files and services coming from the Internet or local Intranet. Mainframes and minis are making their way back with a different look! I hate upgrading Windows and having to reload every dog gone thing I need. It’s an 8 hour project that I just don’t care for. And viruses, don’t get me started!
baccara
December 25th, 2009 at 9:08 am
3I want to quote your post in my blog. It can?
And you et an account on Twitter?
Robert E. Johnson, III
January 13th, 2010 at 10:58 pm
4I agree. Once of the growing challenges will be for companies that must meet certain compliance requirements, such as PCI. It leaves us with the challenging question: “How do you effectively implement these policies, when you are unable to audit much of your infrastructure, because it is in the cloud?”
Kylie Batt
April 20th, 2010 at 8:13 pm
5Браво, это просто отличная мысль…
I will let you put the pieces together. “Go” is Google’s alternative […….
Dominantavip-139
May 18th, 2010 at 7:58 am
6Dominantavip-139…
Замечательный сайт по технике на PHP http://habitation-rent.ru/ на уровне профи…
Kylie Batt
May 19th, 2010 at 2:50 pm
7Я думаю, что Вы ошибаетесь. Могу это доказать. Пишите мне в PM, поговорим….
I will let you put the pieces together. “Go” is Google’s alternative […….
Kylie Batt1
June 13th, 2010 at 2:56 am
8в топку…
http://rel” rel=”nofollow”> IS IT TIME TO “GO”?
Today, Google introduced their new systems language called “Go”…..
CAMERON
June 24th, 2010 at 8:13 am
9Medicamentspot.com International Legal RX Medications. Special Internet Prices (up to 40% off average US price). NO PRIOR PRESCRIPTION REQUIRED!…
Combivir@buy.online” rel=”nofollow”>.…
LLOYD
June 25th, 2010 at 5:28 pm
10PillSpot.org. Canadian Health&Care.Special Internet Prices.No prescription online pharmacy.Pillspot.org. Vitamins@buy.online” rel=”nofollow”>.…
Categories: Eye Care.Anxiety/Sleep Aid.Womens Health.Weight Loss.Pain Relief.Stomach.Stop SmokingSkin Care.Antidepressants.Mental HealthBlood Pressure/Heart.Antidiabetic.Vitamins/Herbal Supplements.Antibiotics.Mens Health.Antiviral.Anti-allergic/A…
Fireplace
August 29th, 2010 at 10:06 pm
11Fireplace http://xkeg5o-tmgu.ANTIQUEFURNINISHING.INFO/tag/gas+logs+fireplace+Fireplace/ : fireplace…
gas…
ADRIAN
September 5th, 2010 at 1:59 pm
12Buy:Lipothin.Wellbutrin SR.Prozac.Zocor.Seroquel.Female Pink Viagra.Benicar.Cozaar.SleepWell.Zetia.Amoxicillin.Nymphomax.Ventolin.Advair.Buspar.Lipitor.Lasix.Female Cialis.Acomplia.Aricept….
TERRANCE
September 6th, 2010 at 10:18 am
13Buy:Soma.Viagra Super Active+.Levitra.Tramadol.Zithromax.Viagra.Super Active ED Pack.Viagra Super Force.Propecia.Cialis.Cialis Soft Tabs.Maxaman.VPXL.Viagra Soft Tabs.Cialis Super Active+.Cialis Professional.Viagra Professional….
RSS feed for comments on this post · TrackBack URI
Leave a reply
About Me
Robert E. Johnson, III
Technologist
Entrepreneur
Developer
Inventor
Categories
Archives
Security
Technology
Meta
Interesting Bits
Recent Posts
RobertJohnson.com is a personal website. Opinions expressed are not necessarily those of any company for which Mr. Johnson is affiliated with.
Robert E. Johnson, III is proudly powered by WordPress - BloggingPro theme by: Design Disease