Summary

Owner

Current status

Detailed Description

Go is a general-purpose language designed with systems programming in mind. It is strongly typed and garbage-collected and has explicit support for concurrent programming. Programs are constructed from packages, whose properties allow efficient management of dependencies. The existing implementations use a traditional compile/link model to generate executable binaries. (From: [2])

There are currently two implementations:

Google Go (GC) 6g(64-bit)/8g(32-bit) Compiler

GNU GCC-GO

Google Go (GC) 6g(64-bit)/8g(32-bit) Compiler

6g (64-bit) and 8g (32-bit) are compilers for the Go programming Language. Go is an open source project, released under a BSD-style license. [3]

GNU GCC-GO

The gccgo compiler is a new frontend for gcc, the widely used GNU compiler. Although the frontend itself is under a BSD-style license, gccgo is normally used as part of gcc and is then covered by the GNU General Public License. [4]

Benefit to Fedora

Fedora will take some benefit to increase its community of developers with the inclusion of this feature. And an easy way for people who want to try this language.

Scope

Required steps are:

Google Go (6g and 8g)

GNU GCC-Go

Guideline for package Go application

How To Test

Ensure that the 'Hello World' Application on Golang.org compiles and runs. Possibly use some of the examples listed in 'Effective Go'.

Contingency Plan

None necessary. We should get Google Go or GCC-Go packages into the distribution in order to help the Community. We should also monitor upstream development process for potentially discovered issues and proactively apply patches.