[Yr11 Information Technology] Google 'Go' .. a new programming language

Roland Gesthuizen rgesthuizen at gmail.com
Thu Nov 12 15:19:47 EST 2009


Cross posted from the Oz-teachers list from a post by Stephen Loosely <
stephen at melbpc.org.au>. Background info and some YouTube links below. You
are not alone amongst all this buzz. If you need to call upon the help of
some people to help you with this (they accept payment in chocolates), why
not drop past LUV this Saturday 14 Nov in the Docklands at http://tr.im/EMYv

'Go' has been described as a cross between C/C++ and Python. To run this you
need to install the  Python Setup Tools. If you are feeling really brave and
pioneering (or foolish like me) and have too many hours to waste until you
need to start writing school reports, create a VirtualBox VM, install Ubuntu
9.10 then follow these instructions. Enjoy :-)
     http://blog.eznet.frih.net/?p=121

Regards Roland

---

Google 'Go'  http://golang.org is a new systems programming language ..

Go is …

… simple

package main
import "fmt"
func main() {
 fmt.Printf("Hello, &#19990;&#30028;\n")
}

… fast

Go compilers produce fast code fast. Typical builds take a fraction of a
second yet the resulting programs run nearly as quickly as comparable C
or C++ code.

… safe

Go is type safe and memory safe. Go has pointers but no pointer
arithmetic. For random access, use slices, which know their limits.

… concurrent

Go promotes writing systems and servers as sets of lightweight
communicating processes, called goroutines, with strong support from the
language. Run thousands of goroutines if you want—and say good-bye to
stack overflows.

… fun

Go has fast builds, clean syntax, garbage collection, methods for any
type, and run-time reflection. It feels like a dynamic language but has
the speed and safety of a static language. It's a joy to use.

… open source

Go for it.

--

http://www.webmonkey.com/blog/Meet_Go__Google_s_New_Programming_Language


Meet Go, Google’s New Programming Language

By Scott Gilbertson, November 11, 2009

Google has released a brand-new programming language it hopes will solve
some of the problems with existing languages such as Java and C++.

The language is called Go, and it was released under an open source
license Tuesday .. Google has considerably upped its investment in free
software with the release of Go, which is an entirely new programming
language.

At first glance, Go looks a bit like C++, but borrows some elements, such
as garbage collection, from scripting languages like Python and
JavaScript.

But Go’s real standout feature is its speed. This (below) demo video
shows the entire language — over 120K lines of code — compiling in under
10 seconds.

 http://www.youtube.com/watch?v=wwoWei-GAPo

As a systems language, Go is intended to be used for developer
applications like, for example, web servers.

In fact, the http://golang.org website is being hosted by a Go program.

But as Go developer Rob Pike says in recent Google Tech talk, "although
Go is designed as a systems language, it has a much broader use than
that." http://www.youtube.com/watch?v=rKnDgT73v8s

One of the most appealing parts of Go is its ability to handle multicore
processors and, as Google’s FAQ explains, "provide fundamental support
for concurrent execution and communication."

Existing systems languages like C++ evolved long before today’s modern,
and very fast, processors hit the market and make supporting multicore
chips more difficult.

While Google could have concentrated on writing libraries that can handle
those tasks in C++, the developers behind Go say that, "too many of the
problems — lack of garbage collection, long dependency chains, nested
include files, lack of concurrency awareness — are rooted in the design
of the C and C++ languages themselves," and decided it was time for
something entirely new.

Like many of Google’s open source projects, Go began life as a 20 percent
time project (the time Google gives its engineers to experiment) and
evolved into something more serious.

Go has been in development for over two years now, but Google is hoping
that, by releasing Go under a BSD-style license, a community will develop
and build Go into a viable choice for software development.

At the moment, Go is still very young and experimental.

Even Google isn’t currently using Go in "large-scale production"
applications. While the site that’s hosting the code is running a server
built with Go as a proof of concept, the primary purpose of this release
is to attract developers and help build a community around Go.

Despite its fledgling status, Go already supports many of the standard
tools you’d expect from a systems language and even includes support for
other Google tools like Protocol Buffers.

Also, it’s worth noting that Google’s Go is not to be confused with an
existing language entitled Go! (note explanation point). Google
Blogoscoped reports that Go!’s developer Francis McCabe would like Google
to change the name of Go, but thus far Google has not responded to that
request.

At the moment Go is only available for Linux and Mac OS.



-- 
Roland Gesthuizen - ICT Coordinator - Westall Secondary College
http://www.westallsc.vic.edu.au

"Never doubt that a small group of thoughtful, committed citizens can change
the world; indeed it is the only thing that ever has." --Margaret Mead
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.edulists.com.au/pipermail/yr11it/attachments/20091112/b8b6938d/attachment.html


More information about the yr11it mailing list