Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go for Rubyists!

Go for Rubyists!

It's funny to think that software development, like in the fashion world, somehow, works in cycles. Trends come and go all the time and as a result new programming languages, frameworks, services, libs are born but just a few remain relevant enough to mature and keep a community growing stronger and healthier.

Go is a open source programming language created at Google by Robert Griesemer, Rob Pike, and Ken Thompson whereas Ruby was conceived in the nighties, by Yukihiro Matsumoto. Both, Ruby and Go, are strongly growing and becoming go-to programming languages choices for developers/companies around the world.

In this talk we will compare the languages against each other and see how a Rubyists can start and become productive with Go.

Avatar for Kleber Correia

Kleber Correia

September 30, 2017

Other Decks in Programming

Transcript

  1. AGENDA ▸ Go’s Purpose ▸ Go’s tooling ▸ Comparing Ruby

    to Go idioms (solving a real world problem) ▸ Conclusion (WARNING: It may contain biased opinions ¯\_(ツ)_/¯)
  2. Go at Google: Language Design in the Service of Software

    Engineering https://talks.golang.org/2012/splash.article
  3. The computing landscape today is almost unrelated to the environment

    in which the languages being used, mostly C++, Java, and Python, had been created. The problems introduced by multicore processors, networked systems, massive computation clusters… weren’t addressed. Rob Pike Go at Google: Language Design in the Service of Software Engineering
  4. RUBY VS GO RUBY GO rbenv, rvm, … travis-ci/gimme gem

    install bundler go get -u github.com/golang/dep bundle init Gemfile.lock/Gemfile dep init Gopkg.lock/Gopkg.toml bundle install dep ensure
  5. RUBY VS GO RUBY GO rbenv, rvm, … travis-ci/gimme gem

    install bundler go get -u githu../dep bundle init Gemfile.lock/Gemfile dep init Gopkg.lock/Gopkg.toml bundle install dep ensure
  6. RUBY VS GO RUBY GO rbenv, rvm, … travis-ci/gimme gem

    install bundler go get -u github.com/golang/dep bundle init Gemfile.lock/Gemfile dep init Gopkg.lock/Gopkg.toml bundle install dep ensure
  7. RUBY VS GO RUBY GO rbenv, rvm, … travis-ci/gimme gem

    install bundler go get -u github.com/golang/dep bundle init Gemfile.lock/Gemfile dep init Gopkg.lock/Gopkg.toml bundle install dep ensure
  8. CONCLUSIONS ▸ Learning Go is not about decorating syntax but

    is about approaching problem with a different mindset. ▸ Go was created to solve Googles problems. If you have problems like Google has, go for it ▸ Even though concurrency in Go is simple, It should be used carefully. ▸ It’s quite verbose ¯\_(ツ)_/¯
  9. RESOURCES ▸ https://golang.org/doc/effective_go.html ▸ https://golang.org/doc/faq ▸ https://gobyexample.com/ ▸ https://play.golang.org/ ▸

    The Go Programming Language book ▸ Go at Google: Language Design in the Service of Software Engineering ▸ https://speakerdeck.com/klebervirgilio/go-for-rubyists