From: Chris Pine Date: 2004-09-30T22:12:51+09:00 Subject: Re: Too Many Ways? On Thu, 30 Sep 2004 11:09:33 +0900, Gavin Kistner wrote: >�At what point do you cross over from: "Various ways to accomplish >�the same goal is good, because it allows the language to work the >�way different people think about working." into the land of: >�"Duplicate names and techniques to do the same atomic thing ends up >�confusing the nubys" ? Simple: nubys should only be taught one way to do a thing. What's harder than learning to program? Learning to program twice. Or you could ask, I'm getting ready to teach someone two things about Ruby... shouldn't they be *different* things? (This is something I really tried to follow in my tutorial, which even has a TMTOWTDI section near the end: http://pine.fm/LearnToProgram/) So I think the cross over is really in the other direction: from nuby to TMTOWTDI. On Thu, 30 Sep 2004 19:04:00 +0900, David A. Black wrote: >�If only the things that make life easier for newcomers could >�disappear later, like training wheels on a bicycle.... :-) So naturally I completely disagree with this! :) Duplicates do *not* make things any easier for newcomers. Learning something twice is just that much harder, and then having one of them disappear later would be disastrous. Again, I think it really moves in the other direction: from nuby to TMTOWTDI. (Yes, if you are teaching Ruby to a functional programmer, you use map instead of collect (are those really the same? I just always avoided collect: wrong english word, I think), but you still teach them only *one* of them.) First you learn one way to do it. (Depending on your background, lambda might make more sense than proc (nevermind that these *aren't* the same, though I'll never keep up with that).) Then, once you are doing a pretty good job of coding Ruby on your own, you learn a few other ways to do things so you can read other people's code (which is always a little trickier, anyway). Just some thoughts, Chris