Programming is an extension of who you are.
So today, while he was fixing his laptop, we tried to discern the reasons behind us taking on different directions and what made each of us comfortable in the language we were currently working with. Aside from the usually “programming wars” of trying to place which language was better than the other, we actually realized that their is no such thing . At the end of the whole discussion, it hit us that the language one chooses was simply an extension of who they are. Why do I love Ruby and Java so much? And why does Kelvin find JS and Python easy and fun to work with even though I find them frustrating?
A Few Reasons Why I love Ruby and Java
- Simplicity: I am a simple guy. Always have been. I love to break down things to their rudimentary and atomic levels and then work from there. My approach to solving a particular programming problem is logic base, developing algorithms from the easiest to solve and building up. Kind of like Bottom-Top approach. Ruby and Java being highly Object Oriented allows for an easier flow and implementation of such logic and reasoning. Given that there are so many object oriented programming languages, such an approach is adopted by so many. However, the two aforementioned languages implement it, in my perspective, a lot more than other languages. So I found it simple. In fact, when Yukihiro “Matz” invented the Ruby language, simplicity was one of the main things he emphasized on.
- Convention Over Configuration: Personally, I love the fact that in Ruby it stretches beyond just writing the code. The level of strictness and the favoring of convention blends with me. This is how it should be done, period!! I know for most programmers, that might mean lack of freedom, but it really doesn’t. You can mess with Ruby all you like (although no rubbyist would advice you to do that). I love the fact that there is a way of doing things, the elegance and exclusivity. Codes writen in Ruby or Java are beautiful.
A Few Reasons Why Kelvin loves Python and JS
- Results over convention: How it is implemented hardly really matters to Kelvin. Whether the code looks elegant, tabs were used instead of spaces or the hierarchy is one that can easily be understood hardly matters; to him only two questions need be answered: Does the code work? Is it robust? Done! As a matter of fact, he hates convention is the main reason why he has never even tried Ruby. He knows about, he can’t stand writing Ruby codes.
Aside from this, at least we share similar attributes. We are both pretty lazy and hate reinventing the wheel. That’s something all programmers, share I guess. Has it be done before? Good, then we can inject that right in the code.
The rule book says, “ Thou shall not repeat yourself!” DYR (Don’t Repeat Yourself) is one of the good programming habits. At least that’s something even Kelvin agrees. We both hate writing repetitive codes (Although Java has a lot of repetition).
In a nutshell, we went home with a valuable lesson. If you ever met Kelvin or I, then you would quickly understand how our chosen arsenal fits our personality. I hate rules, but I love order. On the other hand, Kelvin neither hates rules nor order, he just doesn’t care for them. While I mind my books folding and getting “dog ears”, important to him is that the notes are up to date. I guess after a while, show me your friends and I’ll tell you who you are has changed to show me your code and I’ll tell you who you are!