C++ News Story
Ad:
-4

Programming Google - expressive, concurrent and garbage-collected

by Davey Winder on Nov 12th, 2009, 6:26 am
First Google expressed an interest in the web browser client market, and then the operating system market and now it has launched its own open source systems programming language.

Google Go is being touted as 'expressive, concurrent, garbage-collected' and promises to produce fast code, fast. According to Google a typical build takes but a fraction of a second while the resulting programs run almost as quickly as comparable C or C++ code.

Go has, we are told, pointers but no pointer arithmetic (for random access Google says use slices which know their limits) and promotes writing systems and servers as sets of lightweight communicating processes which it has called goroutines. You can "run thousands of goroutines if you want and say goodbye to stack overflows" Google insists.

So why this and why now? Well, Google argues that while the computing landscape has changed significantly over the last decade there has not been a major systems language that has emerged alongside to exploit the increasing speed of computers, to address the dependency management that is such a big part of software development today, to counter the growing rebellion against 'cumbersome type systems' such as Java and C++, and to properly support fundamental concepts of garbage collection and parallel computation.

"We believe it's worth trying again with a new language, a concurrent, garbage-collected language with fast compilation" Google states.

It tells us that a large Go program will compile in just a few seconds on a single computer and that Go provides a software construction model that makes dependency analysis easy peasy while at the same time avoiding much of the overhead of C-style include files and libraries.

It reveals that the open source Go type system has no hierarchy and so there is no time wasted defining relationships between types. Unlike typical OO languages, Go makes its static types feel lightweight, apparently.

Of course, it remains to be seen just how this programming language experiment, for that is what it undoubtedly is, will work out. It's one of those things that has emerged from an internal project, initially conceived to make it easier to write Google server software. But Google admits it isn't actually ready for any kind of large-scale production use yet, although the server behind the golang.org site is a Go program I am told.

There's an in-depth tutorial here so take a look and let me know what you think. How far can Google Go, er, go?
Similar Threads
 
 
Comments on this News Story
Nov 12th, 2009
0

Re: Programming Google - expressive, concurrent and garbage-collected

I'm stumbling around trying to understand what it means by garbage. Is Google calling their own Go language garbage???
Newbie Poster
ChaseNetwork is offline Offline
11 posts
since Nov 2009
Nov 12th, 2009
0

Re: Programming Google - expressive, concurrent and garbage-collected

Hahaha, no.

Check this out : garbage-collection
Really?
Nick Evan is offline Offline
3,691 posts
since Oct 2006
Message:
Previous Thread in C++ Forum Timeline: Binary Tree Question
Next Thread in C++ Forum Timeline: i do not understand this Q





About Us | Contact Us | Advertise | Acceptable Use Policy
Build Custom RSS Feed


Follow us on Twitter


© 2010 DaniWeb® LLC