Go
What is Go?
- Go is a cross-platform, open source programming language
- Go can be used to create high-performance applications
- Go is a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language
- Go was developed at Google by Robert Griesemer, Rob Pike, and Ken Thompson in 2007
- Go's syntax is similar to C++
What is Go Used For?
- Web development (server-side)
- Developing network-based programs
- Developing cross-platform enterprise applications
- Cloud-native development
Why Use Go?
- Go is fun and easy to learn
- Go has fast run time and compilation time
- Go supports concurrency
- Go has memory management
- Go works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc.)
Six Main Points about Go
- Statically Typed Language
- Strongly Typed Language
- GO is Compiled (faster than python 120x)
- Fast Compile Time
- Built In Concurrency (Goroutines)
- Simplicity
Go - Pros and Cons
Pros
- Easy to learn/use
- Simple!
- Great concurrency support
Cons
- not as performant
- not memory safe
Go VS Python and C++
Go | Python | C++ |
---|---|---|
Statically typed | Dynamically typed | Statically typed |
Fast run time | Slow run time | Fast run time |
Compiled | Interpreted | Compiled |
Fast compile time | Interpreted | Slow compile time |
Supports concurrency through goroutines and channel | No built-in concurrency mechanism | Supports concurrency through threads |
Has automatic garbage collection | Has automatic garbage collection | Does not have automatic garbage collection |
Does not support classes and objects | Has classes and objects | Has classes and objects |
Does not support inheritance | Supports inheritance | Supports inheritance |
Comparing Go Web Frameworks
https://medium.com/@chaewonkong/comparing-go-web-frameworks-25bf93524a6a