Go

Software Screenshot:
Go
Software Details:
Version: 1.5 updated
Upload Date: 27 Sep 15
Developer: The Go Project
Distribution Type: Freeware
Downloads: 6

Rating: 5.0/5 (Total Votes: 1)

Go is an open source, cross-platform, expressive, freely distributed, garbage-collected, and concurrent programming language developed by a team of engineers at Google. With Go, any developer will be able to build stable, reliable, and efficient applications. Several interactive examples are available on the project's homepage.

Can be easily debugged using the GDB

The code produced by the Go programming language can be easily debugged using the GDB (The GNU Project Debugger) open source software. To get started with Go on your GNU/Linux operating system, simply download the package that corresponds to your computer’s architecture, save the archive on your Home directory, and unpack it.

Open a Terminal app, go to the location of the ‘bin’ folder (e.g. cd /home/softoware/go/bin/) and run the ‘./go --help’ command to view available command-line options and the usage message. Extended documentation on how to get started with the Go programming language is also provided on the project's main website.

Command-line options

Its built-in commands will allow you to compile packages and dependencies, to list packages, to print information about a Go environment, to remove object files, to fix packages, to generate Go files by processing the source code, to compile and run a Go program, and to test packages.

Additionally, you can run a specific go tool, run the go tool vet on packages, run gofmt on package sources, compile and install packages and dependencies, as well as to download and install packages and dependencies.

Runs on GNU/Linux, BSD, Mac and Windows

As mentioned at the beginning of the review, Go is a cross-platform programming language, which means that you can use it on any GNU/Linux distribution, as well as on the BSD, Mac OS X, and Microsoft Windows operating systems. Both 32 and 64-bit computer platforms are supported at this time.

What is new in this release:

  • The compiler and runtime are now written entirely in Go (with a little assembler). C is no longer involved in the implementation, and so the C compiler that was once necessary for building the distribution is gone.
  • The garbage collector is now concurrent and provides dramatically lower pause times by running, when possible, in parallel with other goroutines.
  • By default, Go programs run with GOMAXPROCS set to the number of cores available; in prior releases it defaulted to 1.
  • Support for internal packages is now provided for all repositories, not just the Go core.
  • The go command now provides experimental support for "vendoring" external dependencies.
  • A new go tool trace command supports fine-grained tracing of program execution.
  • A new go doc command (distinct from godoc) is customized for command-line use.

What is new in version 1.4.2:

  • This new release comes nearly seven months after the release of Go 1.1 in May, a much shorter period than the 14 months between 1.1 and 1.0. We anticipate a comparable interval between future major releases.
  • Go 1.2 includes a couple of minor language changes, several improvements to the language implementation and tools, some performance improvements, and many additions and (backward-compatible) changes to the standard library.
  • Please read the release notes for all the details, as some changes may affect the behavior of existing (buggy) programs. What follows is the highlights of the release.
  • A new three-index slice syntax adds the ability to specify capacity as well as length. This allows the programmer to pass a slice value that can only access a limited portion of the underlying array, a technique that previously required the use of the unsafe package.
  • A major new feature of the tool chain is the facility to compute and display test coverage results. See the go test and cover tool documentation for details. Later this week we will publish an article that discusses this new feature in detail.
  • Goroutines are now pre-emptively scheduled, in that the scheduler is invoked occasionally upon entry to a function. This can prevent busy goroutines from starving other goroutines on the same thread.
  • An increase to the default goroutine stack size should improve the performance of some programs. (The old size had a tendency to introduce expensive stack-segment switching in performance-critical sections.) On the other end, new restrictions on stack sizes and the number of operating system threads should prevent misbehaving programs from consuming all the resources of a machine. (These limits may be adjusted using new functions in the runtime/debug package.)
  • Finally, among the many changes to the standard library, significant changes include the new encoding package, indexed arguments in Printf format strings, and some convenient additions to the template packages.

What is new in version 1.4.1:

  • This new release comes nearly seven months after the release of Go 1.1 in May, a much shorter period than the 14 months between 1.1 and 1.0. We anticipate a comparable interval between future major releases.
  • Go 1.2 includes a couple of minor language changes, several improvements to the language implementation and tools, some performance improvements, and many additions and (backward-compatible) changes to the standard library.
  • Please read the release notes for all the details, as some changes may affect the behavior of existing (buggy) programs. What follows is the highlights of the release.
  • A new three-index slice syntax adds the ability to specify capacity as well as length. This allows the programmer to pass a slice value that can only access a limited portion of the underlying array, a technique that previously required the use of the unsafe package.
  • A major new feature of the tool chain is the facility to compute and display test coverage results. See the go test and cover tool documentation for details. Later this week we will publish an article that discusses this new feature in detail.
  • Goroutines are now pre-emptively scheduled, in that the scheduler is invoked occasionally upon entry to a function. This can prevent busy goroutines from starving other goroutines on the same thread.
  • An increase to the default goroutine stack size should improve the performance of some programs. (The old size had a tendency to introduce expensive stack-segment switching in performance-critical sections.) On the other end, new restrictions on stack sizes and the number of operating system threads should prevent misbehaving programs from consuming all the resources of a machine. (These limits may be adjusted using new functions in the runtime/debug package.)
  • Finally, among the many changes to the standard library, significant changes include the new encoding package, indexed arguments in Printf format strings, and some convenient additions to the template packages.

What is new in version 1.1.1:

  • In 2011 we announced the Go runtime for App Engine. Since then, we have continued to improve the Go App Engine experience, and generally improved Go support for the Google Cloud Platform. For instance, the google-api-go-client provides a Go interface to a range of Google's public APis, including Compute Engine, Cloud Storage, BigQuery, Drive, and many more.

Similar Software

Comments to Go

Comments not found
Add Comment
Turn on images!