1 Go
Go is a statically typed, compiled programming language having the syntax similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency. It is often referred to as Golang because of its former domain name, golang.org, but its proper name is Go.
2 Rust
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. It is syntactically similar to C++, but can guarantee memory safety by using a borrow checker to validate references. It achieves memory safety without garbage collection, and reference counting is optional. It has been called a systems programming language, and in addition to high-level features such as functional programming it also offers mechanisms for low-level memory management.
The same
- Open-source programming language
- Multi-paradigm
- Type inference (x := 0 or var x = 0 vs let x = 0)
The differences
- Garbage collection vs borrow checker
- Simplicity vs security
- Development performance vs run-time performance
- Goroutines - channels vs threads - channels
No comments:
Post a Comment