Thursday, April 14, 2022

Go vs Rust - Introduction


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