- in Coding
I wrote recently about learning the Ruby on Rails programming framework. That post outlined some initial thoughts on why I picked Ruby, but I decided to expand on this for readers with an interest in learning programming.
A lot of commentators say you shouldn't agonize about this decision, but I disagree for two reasons. First, when you spend six months learning anything, you should invest a lot of time upfront making sure it makes sense. Second, all the research involved in choosing a first programming language proved a tremendous education into the current state of programming languages and web development. Just researching where to start was a big part of acquiring some of the basic vocabulary of programming and web development.
So Here's Why I'm Focused On Ruby On Rails First
- I can get to a baseline skillset of creating marketable apps most quickly with RoR. Why? Because Rails is such an "opinionated" language, there are massive guardrails in place to help a newbie get an app up and running. (Hence the word "Rails" in the RoR title.).
- If, down the road, I need to learn a backend framework build on Node.js, I will.
- Learning Ruby and RoR is the least steep path to building true, functional apps. This is important because I'm starting from a fairly basic level of knowledge. Learning this stuff isn't that easy. So making it as painless as possible is important. Seeing progress matters.
- The matter of Node.js-based websites' greater performance (in terms of speed) vis-a-vis Rails is irrelevant to me and almost everyone not developing web apps that will scale into thousands of simultaneous users. Speed and ease of development are significantly more important to me than application performance at this stage.
- I love languages in general. I learned basic Latin and Ancient Greek in college. I've also learned French, Spanish, Latvian, and Croatian. Within that context, I enjoy the crazy Zen nature of the Ruby language. It's no accident that Ruby was developed by someone from Japan, a culture with a greater emphasis on economy of effort, minimalist design, and beauty in the mundane. To Learn Ruby is to learn something beautiful and practical.
This question of what to learn first is an important one. I'd love to hear any thoughts from readers. What's your take? Any flaws in my thinking?