5 Important Things to know about ‘Learning Ruby the Hard Way’
- It’s not ‘hard’. It’s joyless and arduous.
- It requires you to copy the code of charmless author ‘Zed’ for countless hours.
- Extraordinary time is spent reading without clear direction, rather than reading to solve well-posed problems for your ability level.
- You lose will confidence because of the lack on emphasis on writing your own programs.
- You get little opportunity to write your own programs
A week with this particular tutorial has been disheartening for several reasons.
Primarily, my frustration derives from:
- Feeling inhibited by LRTHW in my wish to learn as deeply, completely and swiftly as possible
- Wanting to keep apace with my fellow remote students. The pull requests from students on Ruby-Kickstart contained far more challenging material and complex ideas
- Not being able to complete exercises faster, because they’re designed to be laborious
- Not being offered considered, poignant challenges that sufficiently test and build on each new element of knowledge
LRTHW is verbose and adopts a method of learning by rote, i.e. copy my code perfectly and you’ll learn.
If like me, you type accurately then the code works and you don’t learn.
Pine offers clearly explained examples and then poses suitably complex challenges that build on the previous concepts.
LRTHW does not. The first real program I had to write was in Exercise 36 of 52. Often Zed will suggest, “play with it and break it”. This leave learning to chance.
Why is LRTHW so poor as a learning aid?
Social-Constructivist and Russian psychologist Lev Vygotsky (1896–1934) postulated that there is a ‘Zone of Proximal Development’ (ZPD) for a learner. This zone is the region between the tasks a learner can comfortably do alone and those that they cannot complete at all, even with assistance.
The best opportunity for learning lies in the ZPD. It is accessed through carefully scaffolded tasks.
Vygotsky’s model is generally accepted as a reliable model for learning.
LRTHW offers challenges that either reside within current understanding or are too poorly structured to generate strong conceptual progress.
Why did I persist with ‘Learn Ruby the Hard Way’?
I’m on a deadline- after two days and nearing ten hours of work, I felt ‘pot-committed’. Don’t be me!