Skip to content

Instantly share code, notes, and snippets.

@taeguk
Last active April 18, 2017 16:08
Show Gist options
  • Save taeguk/90918b9c1a7a4608df1f501fab0438e9 to your computer and use it in GitHub Desktop.
Save taeguk/90918b9c1a7a4608df1f501fab0438e9 to your computer and use it in GitHub Desktop.
Native Programming Languages Comparison (C++, Rust, Swift, Go)

Comparison Summary

Feature C++11/14 Rust Swift3 Go
Memory Management Manual (In convection, Use Smart Pointer) Manual (But, compiler checks correctness.) ARC(Automatic Reference Counting) Garbage Collection
Platform Many Windows, Linux, OS X OSX, Ubuntu Windows, Linux, OS X, FreeBSD, Plan 9
Implementations GCC, Clang, MSVC, ... www.rust-lang.org https://swift.org https://golang.org

Memory Management

http://softwareengineering.stackexchange.com/questions/285333/how-does-garbage-collection-compare-to-reference-counting https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/ https://medium.com/@itchyankles/memory-management-in-rust-and-swift-8ecda3cdf5b7#.k6s99pxiw

Platform

Rust : https://forge.rust-lang.org/platform-support.html

Benchmark

http://benchmarksgame.alioth.debian.org

In my personal opinion, commonly C++ < Rust < Swift = Go (The lower is better.)

@taeguk
Copy link
Author

taeguk commented Feb 5, 2017

Comparison Summary

Feature C++11/14 Rust Swift3 Go
Memory Management Manual (In convection, Use Smart Pointer) Manual (But, compiler checks correctness.) ARC(Automatic Reference Counting) Garbage Collection
Platform Many Windows, Linux, OS X OSX, Ubuntu Windows, Linux, OS X, FreeBSD, Plan 9
Implementations GCC, Clang, MSVC, ... www.rust-lang.org https://swift.org https://golang.org

Memory Management

http://softwareengineering.stackexchange.com/questions/285333/how-does-garbage-collection-compare-to-reference-counting
https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/
https://medium.com/@itchyankles/memory-management-in-rust-and-swift-8ecda3cdf5b7#.k6s99pxiw

Platform

Rust : https://forge.rust-lang.org/platform-support.html

Benchmark

http://benchmarksgame.alioth.debian.org

In my personal opinion, commonly C++ < Rust < Swift = Go (The lower is better.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment