I was always thrilled about learning new stuff, and recently that new stuff happened to be Go. Why Go? I was hesitating between Rust, Elixir and Go. After some googling I found out that Go is the fastest of the three and the most mature one.

I’ve always enjoyed implementing raytracing algorithms, it is the most rewarding kind of programming, when after hours of brain-twisting programming you can see the result in a form of a beautiful, rendered image. I’ve also found that implementing raytracers is the fastest way to learn a new language, because it touches on all the basic concepts:

  • collections
  • file I/O
  • concurrency
  • packaging and architecture
  • branching, looping, recursion

The project will be written using TDD where it is possible. For testing I will be using the following packages:

  • testing - the Go test package
  • testify - from stretchr, mainly the assert package

I will attach test code in snippets, where available.

comments powered by Disqus