So for the first module, we’ve spent a lot of time learning that a simple childhood game, Tic Tac Toe, is more than it really seems. As we learn Ruby code, we learn that this game is as challenging as going from playing a flutaphone in grade school (playing the game) to playing an oboe in a concert hall (coding the game). What other challenges in life have we taken for granted and now as we move through the FlatIron curriculum realize not is all as it seems.
To play Tic Tac Toe on paper is as easy as assigning who the player’s are: who is “X” and who is “O”, who goes first, the sequence starts, who ultimately has a winning combination or a draw occurs, and then you can choose to start over or go out and get an ice cream.
However, in Ruby code, these simple actions, while ultimately are simple for those coding experts, to us beginners create huge mountains to climb. How many methods are required? In what order do they go? How many syntax errors have I made this time, or I’m missing an argument, or I’m caught in an endless loop–How often do I casually mention these things to friends and family who look at me like I’m crazy.
Well, there is the pot of gold at the end of the rainbow! My tests all work, I understand what I’m doing (only for a minute), I feel relief, and yet I have a nagging suspicion that I’ve only learned 10% of what there is to know about Ruby Code. I know there are more efficient methods I can construct, better ways to loop or interate, and yes, take advantage of instance variables in my Object Orientated approach as my brain refactors from a Procedural approach.
But in the end, we’ve experienced making the simple complex, and then the complex back to simple. At least, that is what they tell me. I eagerly await the next chapter in my Online Full Stack Web Development program and expect many more challenges ahead!