Rails And The 100 Layers Of Abstraction

Yesterday, Bloc.io‘s Hani Sharabash recommended that I watch the first 15 minutes of this MIT Lecture, which I wanted to share, mostly because it really hits home for me as I’ve been trying to learn Ruby on Rails recently:


I’ve had a hard time starting out with Rails initially, because it starts at the end of levels of abstraction. The point of Rails is to be “easy”, but in the process, beginners like me miss out on the harder stuff underneath. This is both an advantage and a disadvantage.

The advantage is that it’s “easy” to put up a working prototype. The disadvantage is that when something breaks or if you need extremely custom code for whatever you’re working on, you don’t know how to do it, since that requires going “under the hood”.

But, at the same time, there are two ways of learning. One is starting from the very first layer, nature, and building something completely from scratch, which is really difficult, but you get to make the rules along the way. The other way is to start with an advanced product (like Rails) and take it apart piece by piece. It looks like I’ll be learning the second way.

Enjoy the article? Join over 17,500+ Swift developers and enthusiasts who get my weekly updates.