Calculator...Done!
Tags: devjournal, beginners, theodinproject, ruby
Published: 2022-05-30 16:37:52

##The Beginning of the End!
I finished the calculator project! That marks the end of the first part of my TOP ([The Odin Project](https://www.theodinproject.com)) journey with the completion of Foundations. That also means it was time to pick out the next part of my journey and decide between learning Ruby on Rails, or continuing with JavaScript and learning NodeJS. 

I never really struggled with this part. I knew the decision was going to have to be made and right up until the start of the final project (Calculator) I had my mind set on going with JavaScript and NodeJS. Then, while working through the project and getting help in the Discord, some things were mentioned that piqued my curiosity and for the first time I decided to at least check out the Ruby path and see what it had to offer. Upon inspecting the coursework, I realized the Ruby path also required the completion of the JavaScript course. The only thing I wouldn't be taking would be the NodeJS course and if/when I felt inclined, I could go and take that as well if needed. 

I say all that to say, the Ruby course seemed more challenging to me and thus influenced me to picking that course. That is also why, I haven't really written anything in the last two weeks or so. I've been busy reading and studying a new language. 
##Ruby
I'm not going to pretend that I'm not excited about my decision to learn Ruby! Ruby has some REALLY cool features and the way the language is designed, it forces you to use Object Oriented Programming (OOP) because everything is an object in Ruby, and every 'function' is a method of an object. It has been slightly frustrating working through some of the key differences between JavaScript and Ruby, but for the most part it has been a seamless transition and the learning is going great thus far.

Since starting the Ruby path last week, I've gone over the following curriculum:
* Basic Data Types
* Variables
* Input and Output
* Conditionals
* Loops
* Arrays
* Hashes
* Methods
* Debugging

I have a few more topics to cover before Ruby Basics will be completed which should be done within the next few days and that leads into the first few projects that will utilize Ruby. The projects are four mini projects that are designed to solidify the previous training. They are also the precursor to the major topic of OOP that will be followed by Tic Tac Toe and Mastermind projects.
##Closing Thoughts
I'm genuinely excited about where I am in my journey to becoming a software developer. The idea that just a few months ago I could only program minor snippets that didn't really do anything but utilize the console, to where I am now, having designed and built three applications, one being a usable calculator (for simple calculations), I can't be more pleased with this program. The Odin Project is the real deal. As with anything, the more you apply yourself and put into it, the more you will get out of it. As I progress through part two of my journey in TOP, I will continue to apply myself to what I'm learning and will finish strong!  

Photo by Polina Tankilevitch: https://www.pexels.com/photo/a-cellphone-calculator-and-cash-on-a-flat-surface-6927360/