GO
- multi purpose
Characteristics
- Strong static type system
- C-Inspired syntax
- Compiled
- Multi-paradigm
- Garbage-collected
- Fast
- Single binary compilation
Timeline
- 2007: start of the project
- 2009: Publically announced
- 2012: Go 1.0 released
- 2023: Go 1.20 released
Go 2.0 will be a different language, developed using the experiences of GO 1.x
Values and Philosophy
- Simplicity
- Language that know the existance of network requests and concurrency execution
- Library-free experience for: strings, network, compression, file management, testing
- Cross-platform
- Backwards Compatibility
- Powerful Command Line Interface
Tools
- GO
- VS code
- Go plugins for VS code
Multi-platform
- It can generate executable binary files for different platforms and operating systems.
- It can compile to WebAssembly(WASM)
- It can transpile to Frontend JavaScript(GopherJS)
Common Use Cases
- Web services
- Web applications
- DevOps
- Desktop UI
- Machine Learning
Language Types
Developers write code in Then ship
Interpreted languages -> Source Code (JS)
Intermediate Compiled Languages -> Bytecode (Java)
Compiled languages -> Machine Code (GO)