After three months as a student apprentice at 8th Light, I’m starting over, now as a resident. And this is not something trivial. I moved from another city to Chicago because of the apprenticeship, and of course I really wanted to continue in the program as a resident. I couldn’t be happier with the project that I developed as a student and with the project that I started working on.

The Clojure Tic Tac Toe

During my student apprenticeship, I learned Clojure and I build a Tic Tac Toe to be playing on the console. It has three levels of difficulty (easy, medium and hard), it can be saved, and it can be played on boards 3x3, 4x4 and 5x5. And, it is colorful and has an animation at the opening :)

The source code is on Github.

Tic Tac Toe initial animation

Scala, nice to meet you!

The language of choice of my mentors for me to learn was Scala, and I am very happy with their choice, specially because it was unexpected. I thought I would be learning Java.

Both Clojure and Scala are designed to be hosted on JVM and, usually, people learn Java before learning them. The fact that I don’t know Java yet is kind cool, because I cannot make comparisons or rely on Java to solve some problems. But, of course, it is also difficult not to be able to do that easily.

One of the testing frameworks is ScalaTest also gives a lot of options, so that we can write tests in a way that is similar to other frameworks for other languages. There is FunSuite, FlatSpec, FunSpec, WordSpec…

The fact that we can choose between when to use the language as functional or object-oriented, plus the multiple possibilities to use the testing framework, makes things look like a cereal isle in an American grocery store. It is hard to know what you want.

For now, I have been using FunSuite and the functional aspects of Scala. The good thing is that I can change my mind later :)


apprenticeship

clojure, scala