Seven Languages Week 1: Ruby
Week one of the seven languages is complete!
Having the support of the study group was great – motivating but without being too much. I was amazed at the breadth of the solutions, especially to the homework for Day 1 and Day 2.
Day 3, I was a bit underwhelmed by – the final part of the chapter introduced a lot of interesting techniques with meta-programming and modules, but the problem set didn’t really seem to challenge me to think too much about them.
The book encouraged me to look at the API to try and find solutions for different problems. Having the study group made this aspect even better, because we often found different things – for example, collect and zip methods for arrays. James in particular found some very short and neat ways to solve the problems.
Overall I think I like Ruby even more after doing this. It has so much “syntactic sugar”, and I definitely have a sweet tooth! Overall I’ve learned that while you can use Ruby to write programs in a rather boring, more Java-esque style, there is almost always a much neater, Ruby-ish way of doing it. I only wish I had more time and opportunities to learn it properly.
- Day 1 reminded me of the usefulness of ranges
- Quick ways to convert between hashes and arrays in Day 2:
- Discovering the ‘grep’ method in Enumerable from James’ day 2 solution.
- Finally getting a better understanding of modules (still far from perfect, but I definitely get them far better than before)
- Learning the ‘zip’ method for arrays – although still not sure I completely understand how to use it!
My solutions are here: https://gist.github.com/jocranford