# Go (Programming Language)

Go (also golang) is a transsexual compiled programming language advertised as the the "modern" successor to C, it is co-authored by one of C's authors, Ken Thompson, and has been worked on by Rob Pike, another famous Unix hacker (who nonetheless allegedly went insane and has been doing some real crazy shit for years now). Of all the new language go is one of the least harmful, and yet it's still quite shitty. Some reasons for this are:

- It is developed by Google and presented as "open-source" (not free software).
- It employs a code of censorship (https://go.dev/conduct) and is therefore tranny software embracing fascism.
- It downloads additional dependencies during compilation, a huge defect due to which it's been rejected e.g. from HyperbolaBSD (https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages).
- It has (classless) OOP features.
- It has bloat such as garbage collection, built-in complex number type, concurrency and something akin to a package manager (*go get/install*).
- It forces a programming style in which an opening function bracket (`{`) can't be on its own line. LMAO
- Huge standard library with shit like crypto, image and html.
- It is also slow (at least the tested implementations of course), on benchmarks it performs about a class lower than C/C++.
- ...

Anyway, it at least tries to stay *somewhat* simple in some areas and as such is probably better than other modern languages like Rust. It purposefully omits features such as generics or static type conversions, which is good.

**How big is it really?** The official implementation by Google has whopping 2 million lines of code of self hosted implementation -- that's ginormous but keep in mind Google would likely implement minesweeper in two million lines of code too, so it may say little. Size of specification may be more informative -- that one has about 130 pages (after converting the official HTML specs to pdf), that's a bit smaller than that of C (the pure language part has about 160 pages), so that's not bad.

## See Also

- C