Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 3 reacties
Bron: The Go Blog, submitter: himlims_

Go, ook aangeduid als golang, is een programmeertaal die sinds 2007 ontwikkeld wordt door Google en de opensource-gemeenschap. De taal wordt onder andere door CloudFlare, Google, Netflix en Uber gebruikt. Go-code kan worden gecompileerd voor Android, Linux, OS X, FreeBSD en Windows op i386-, amd64- en ARM-processorarchitecturen. De syntax van Go is vergelijkbaar met die van C en soortgelijke programmeertalen, hoewel er ook enkele opvallende verschillen zijn. Ook biedt Go de mogelijkheid voor gedistribueerd programmeren, waarbij verschillende processen tegelijk uitgevoerd worden. Het team heeft Go 1.7 vrijgegeven met de volgende aankondiging:

Go 1.7 is released

Today we are happy to announce the release of Go 1.7. You can get it from the download page. There are several significant changes in this release: a port for Linux on IBM z Systems (s390x), compiler improvements, the addition of the context package, and support for hierarchical tests and benchmarks.

A new compiler back end, based on static single-assignment form (SSA), has been under development for the past year. By representing a program in SSA form, a compiler may perform advanced optimizations more easily. This new back end generates more compact, more efficient code that includes optimizations like bounds check elimination and common subexpression elimination. We observed a 5–35% speedup across our benchmarks. For now, the new backend is only available for the 64-bit x86 platform ("amd64"), but we’re planning to convert more architecture backends to SSA in future releases.

The compiler front end uses a new, more compact export data format, and processes import declarations more efficiently. While these changes across the compiler toolchain are mostly invisible, users have observed a significant speedup in compile time and a reduction in binary size by as much as 20–30%.

Programs should run a bit faster due to speedups in the garbage collector and optimizations in the standard library. Programs with many idle goroutines will experience much shorter garbage collection pauses than in Go 1.6.

Over the past few years, the golang.org/x/net/context package has proven to be essential to many Go applications. Contexts are used to great effect in applications related to networking, infrastructure, and microservices (such as Kubernetes and Docker). They make it easy to enable cancelation, timeouts, and passing request-scoped data. To make use of contexts within the standard library and to encourage more extensive use, the package has been moved from the x/net repository to the standard library as the context package. Support for contexts has been added to the net, net/http, and os/exec packages. For more information about contexts, see the package documentation and the Go blog post Go Concurrency Patterns: Context.

Go 1.5 introduced experimental support for a "vendor" directory, enabled by the GO15VENDOREXPERIMENT environment variable. Go 1.6 enabled this behavior by default, and in Go 1.7, this switch has been removed and the "vendor" behavior is always enabled.

Go 1.7 includes many more additions, improvements, and fixes. Find the complete set of changes, and details of the points above, in the Go 1.7 release notes.

Finally, the Go team would like thank everyone who contributed to the release. 170 people contributed to this release, including 140 from the Go community. These contributions ranged from changes to the compiler and linker, to the standard library, to documentation, and code reviews. We welcome contributions; if you'd like to get involved, check out the contribution guidelines.

Lees meer over

Versienummer:1.7
Releasestatus:Final
Besturingssystemen:Windows 7, Android, Linux, BSD, macOS, Windows Vista, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10
Website:The Go Blog
Download:https://golang.org/dl/
Licentietype:Voorwaarden (GNU/BSD/etc.)
Moderatie-faq Wijzig weergave

Reacties (3)

Een ontzettend interessant project, helaas te weinig nog mee gedaan. Maar de snelheden die bereikt worden door het compileren van code voor bijna alle platformen spreekt mij aan.

Je ziet bijvoorbeeld bij Hugo (gohugo.io) dat je enorm snel een enorme site kan genereren.
Syncthing is geschreven in Go, beschikbaar voor zo'n beetje elk platform.
Limetext, open source editor. (weet ik niet het fijne af, maar interessant om te zien dat je dus desktop programma's kan maken)
Revel, webframework.

Kritiek luidt vaak dat Go wordt ondersteund/gemaakt door Google, maar dat zie je eigenlijk bij vele technologieŽn (Java -> Oracle, .Net+C# -> MS, Ruby on Rails -> Basecamp, PHP -> Zend, React -> FB). TechnologieŽn waar enorm veel bedrijven/particulieren gebruik van maken.
Een ander interessant Go project om in de gaten te houden is Caddy, een HTTP/2 webserver.
Voor de volledigheid nog even een link naar de complete releasenotes:
https://golang.org/doc/go1.7

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True