commit 897ae47a0a0d239af839a6fb73fb3db607d46a2c
parent 8a2152624237d1e4abb3ade3eaeae95fef06b6f4
Author: decentral1se <decentral1se@web>
Date: Sat, 3 Aug 2024 19:53:18 +0200
gccgo/gollvm grouped, more bootstrap info
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Go.mdwn b/Go.mdwn
@@ -2,13 +2,13 @@ Go is a general-purpose programming language created in 2007 designed primarily
Go is often favoured for its portability, relative simplicity, ease of concurrent programming, performance and fast build times.
-There are several major implementations: [gc](https://go.googlesource.com/go), [gccgo](https://github.com/golang/gofrontend), [gollvm](https://go.googlesource.com/gollvm/), [GopherJS](https://github.com/gopherjs/gopherjs) and [TinyGo](https://tinygo.org).
+There are several major implementations: [gc](https://go.googlesource.com/go), [gccgo](https://github.com/golang/gofrontend)/[gollvm](https://go.googlesource.com/gollvm/), [GopherJS](https://github.com/gopherjs/gopherjs) and [TinyGo](https://tinygo.org).
Go has a published [language specification](https://go.dev/ref/spec) and a [v1 compatibility promise](https://go.dev/doc/go1compat) which is useful when considering long-term program maintenance.
The loading of program dependencies is based on URLs. This implies always-on internet connectivity and typically centralised git repository hosting. A work-around for this is to use [vendoring](https://go.dev/ref/mod#vendoring) which supports downloading and bundling all program dependencies into the source tree.
-Go can be [[bootstrapped|bootstrapping]] with Go itself, or [[C]] (via `gccgo`/`gollvm`). However, with the introduction of generics, not all new version of Go can be bootstrapped with C. `gccgo` supports [up to 1.18](https://go.dev/doc/install/gccgo). This may be a useful version to target when considering compatibility with unported systems.
+Go can be [[bootstrapped|bootstrapping]] with Go itself, or [[C]] (via `gccgo`/`gollvm`). However, with the introduction of generics, not all new version of Go can be bootstrapped with C. `gccgo` supports [up to 1.18](https://go.dev/doc/install/gccgo). It's also possible [to bootstrap from Go 1.4](https://go.dev/doc/install/source#bootstrapFromSource), the last version written in C.
There are [language design decisions](https://tinygo.org/docs/concepts/faq/why-a-new-compiler/) which make Go unsuitable for embedded systems. The [TinyGo](https://tinygo.org) project aims to provide an alternative.