Day 3. Programming. Why? How? What?
Finally about programming language that I chose to learn.
As I’m sort of a geek and in love with mobiles I decided that I need to learn something related to AndroidOS and iOS.
I know almost nothing about programming and it was an obvious step to get the info about the programming in general. And I think, that if your are person like me, you’ll totally like the course Foundations of Programming: Fundamentals with Simon Allardice. He explains everything to you as you are a 5-years-old kid, so I’m sure you won’t have any problems understanding the material. Together with Simon you’ll pass through Basics, Syntax, Variables, Loops, Programming Styles, Input and Output, what to do when something go wrong, a bit of Object Orientation Programming and currently most popular languages.
After the course I realised that what I need is to learn any of the OOP language. I had two options, either to go with JAVA or with Swift, and even if I’m an Apple-fan for some reason I decided to go with JAVA (looking ahead I must tell that it was a mistake). Mainly because it is the most popular programming language according to the several indices. Another one reason was that learning JAVA will help understand C-based languages and it’s pretty much any currently popular programming language. Next step was Foundations of Programming: Object-Oriented Design with the same Simon Allardice. And here I learned core concepts (object, class, abstraction, encapsulation, inheritance, polymorphism), UMLs, patterns and principles. And I thought that I’m ready to go!
Oh boy, I was so wrong!
I jumped in a TeamTreehouse track — Learn Java. After passing Java Basics course I found myself simply copy/pasting the code, renaming variables, googling ready objectives almost without any understanding what I’m doing. It’s highly important to admit yourself that you’re doing something wrong. I didn’t want to be in illusion of understanding the material. I really wanted to know WHAT I’m doing, and more importantly WHY, so I will understand HOW to apply it in the future. I suppose, that these three questions are keys to growing.
After fail with JAVA I start looking at more high-level programming languages such as Perl, Python, Ruby and Visual Basic. I chose Ruby. I heard a lot about it, heard that it is easy to learn and understand, it is not so strict, and it’s cool. As you might guess I jumped in another TeamTrehouse track — Learn Ruby :)
Oh boy, I was so right!
Indeed Ruby was breath of fresh air! And everything what I heard about it was true. Right now I’m finishing the course and it’s a pleasure for me to code in Ruby (even very simple tasks), knowing why I’m doing what I do, and knowing how to do it. after finishing the Ruby course I’m going to return to learn Java (oh yes, I’m persistent).