less_retarded_wiki/golang.md

14 lines
1.4 KiB
Markdown
Raw Normal View History

2023-10-01 21:35:42 +02:00
# Go (Programming Language)
2023-06-11 13:19:57 +02:00
Go (also golang) is a compiled [programming language](programming_language.md) advertised as the the "[modern](modern.md)" [C](c.md) and is co-authored by one of C's authors, [Ken Thompson](ken_thompson.md). Neverheless Go is actually [shit](shit.md) compared to C. Some reasons for this are:
- It is developed by [Google](google.md) and presented as "[open-source](open_source.md)" (not [free software](free_software.md)).
2023-11-03 22:26:49 +01:00
- It downloads additional [dependencies](dependency.md) during compilation, a huge defect due to which it's been rejected e.g. from [HyperbolaBSD](hyperbolabsd.md) (https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages).
2023-06-11 13:19:57 +02:00
- It has (classless) [OOP](oop.md) features.
- It has [bloat](bloat.md) such as [garbage collection](garbage_collection.md), built-in [complex number](complex_number.md) type, [concurrency](concurrency.md) and something akin a [package manager](package_manager.md) (*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.
2023-11-03 22:26:49 +01:00
Anyway, it at least tries to stay *somewhat* simple in some areas and as such is probably better than other modern languages like [Rust](rust.md). It purposefully omits features such as [generics](generics.md) or static type conversions, which is good. But rather don't use it.
2023-06-11 13:19:57 +02:00