News for hackers. Stuff that matters.
Re:Teaching how to code is broken by majormajor on Friday January 14, 2022 @08:47PM (#29942800)
I don't know anything about column buckling, but if you'd cranked out a bunch of column buckling problem sets and not paid any attention to when/where it would be applicable, would it still have helped you later? If you had forgotten the exact technique, would you have been able to check a reference book anyway?

Do you think memorizing names and dates of people and events from World War I gives much mastery of history? Or would memorizing the names of standard library functions and the academic definition of `pointer` and `recursion` give you much mastery of C?

(The flip side of this is folks I've worked with who will immediately say "this is the Command Pattern" or such and jump to writing a bunch of code that either is massive overkill and/or just breaks down when the real world introduces some edge cases.)

Re:Teaching how to code is broken by WalterBright on Friday January 14, 2022 @10:06PM (#29943160)
I knew how the column buckling equations were derived, therefore I knew when they were applicable and when they weren't.

As for checking a reference, I knew that "column buckling" was a thing. Before I studied it, I didn't know the concept even existed, and would have no idea how to look up something I didn't even know existed or what it might be called.

> Do you think memorizing names and dates of people and events from World War I gives much mastery of history?

How are you going to understand WW1 without knowing who Ludendorff was? I know that if you don't know names and dates and events, you cannot have a mastery of history. You don't have any framework to hang analysis or understanding on.

> Or would memorizing the names of standard library functions

Nobody does that. But I will say that if you can't name any of them, I guarantee you don't know squat about C.

> and the academic definition of `pointer` and `recursion` give you much mastery of C?

I wonder how many C experts you know can't answer a question about what a pointer is.