Go Vs Rust

The two hype and hot computer languages today are Go (Golang) and Rust. I’ve been discussing their pros and cons for many times with my colleagues but we finally agreed that they simply are not comparable (at least for now). Here are some of the interesting links I’ve found on this subject:

http://dave.cheney.net/2015/07/02/why-go-and-rust-are-not-competitors

https://jaredforsyth.com/2014/03/22/rust-vs-go/

I’m not a big fan of benchmark, as I know how such tests are biased by design but I’m putting it in anyway:

https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=rust&lang2=go

In simple words:

Go: mature, concurrency, simple language, libraries, networking

Rust: low level control, safety, speed, functional features

Personally, I love Python for a simple reason: when I have an idea, I can program it easily test it, and optimize it later (sometimes switch to another language if nice GUIs / high performances are required). On Go, I have the same ease with a great bonus: compiled language, more efficient and with built-in concurrency features.

That’s why I’m betting on Go. Because of with these capabilities, the languages/tools can evolve later, offer a better optimization, even an easier way for a full static linking, maybe support generics (if you’re into such things) while offering a simple and efficient language. For Rust, all-tough I like its concept of safety, I don’t think it can go the other way around.

Advertisements

One comment

  1. Fra · February 3, 2016

    “If you are into such things” for generics. Lol !
    Spot on ; definitely not into.
    GO … go !

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s