David Masover
5/28/2008 8:52:00 PM
On Wednesday 28 May 2008 14:37:56 Mark Wilden wrote:
> On May 28, 2008, at 4:03 AM, Albert Schlef wrote:
>
> > Mark Wilden wrote:
> >> Programming is much more about knowing where to find
> >> the answer
> >
> > Flash cards aren't meant for "finding the answer". That's because
> > they're random (and flashy ;-)
>
> That's exactly what I meant. Since programming _is_ about "finding the
> answer," I don't think flash cards are the best way to learn a
> framework.
But learning a framework is very different than learning to program.
There are a few Rails-isms that are very much syntactical, like
5.hours.ago
> I try to state it more simply: Flashcards are great for memorizing
> stuff. Memorizing stuff isn't very useful in programming. Therefore,
> flashcards aren't very useful to learn programming (including learning
> a language or a framework).
I think the point is that learning a framework is very different than learning
a language. Learning a language involves a new way of thinking, and problem
solving, and a bit of syntax. Learning a framework is mostly memorizing.
Simple example: It would probably take less than a day to teach any programmer
C, assuming they didn't know. There's just not much to it.
However, to learn to _program_ in C, you're going to want to know the C
standard library, at least. That's going to mean knowing things like strcmp.
And it's going to be almost entirely memorizing.
There is some overlap, of course. Some frameworks, especially in a DSL-heavy
language like Ruby, will play tricks with syntax and with your assumptions
about the language. But I can see why this argument is being made for
Rails -- once you grok MVC, and a few odd conventions like method calls in
your class definitions (has_many, validates_uniqueness_of, and friends), the
rest is mostly going to be memorizing details like the difference between
AssociationProxy#size and AssociationProxy#length. (That's important, by the
way!)