------ art_67650_2391765.1171361490828 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 2/13/07, Richard Conroy <richard.conroy / gmail.com> wrote: > > BTW: I am assuming you are going to teach her Ruby. About the most > serious argument against Ruby you have raised is the English factor, > and I suspect that affects the alternative choices equally, with the > exception perhaps of mainstream commercial/academic languages. The two strong arguments I have against Ruby are that the syntax is more complicated (remember: the alternative is a Lisp) and that the mapping from code to how it is executed is far, FAR, more complicated to explain (since it is split into many many different cases, with many different rules of precedence etc'). I always found that working with Files was a useful early lesson. You > build on the students existing knowledge of the PC, and it provides > a foundation for other much more interesting tasks, like say: > -indexing all the MP3 files on her PC > -searching through an Instant Message chat log Good idea, thanks. > Perhaps to ask her (I'm just not sure she knows enough to answer)? > > One of the things that is not taught well to beginners is giving them an > appreciation for what Programming can do for you. Mostly because this > is something actually quite hard. The big languages aren't suited for > simple script level activities that are good entry points for beginners, > while many scripting languages have low 'ceilings' - you can exhaust > their usefulness quickly. > > Ruby is quite unusual in that it provides for simple scripting and easy > learning, but it keeps scaling up in complexity. > > But you nailed it: ask her. Some of the ideas she has may be not > appropriate for a beginner, but it is important to know her ambition. > You could structure interim exercises that build towards her > suggestions. That would indeed go against showing her what programming /can/ do. Is there any middle way that does both? Perhaps going through a tree-structure of possibilities? Also a final word: beginners don't know which concepts are hard or > easy. That is SO correct. A very important point. Brian Marick's book 'Everyday Scripting with Ruby' (highly > recommended BTW) is particularly clever about this: it introduces > Ruby Blocks (an advanced concept to an experienced programmer) > before conditionals. This means that beginners will be predisposed > to use more elegant block syntax than verbose conditionals - without > knowing any better, they are being taught to write better code. > > In fact his book has a lot of ideas and I am really warming to it as > an entry level book. I got it to teach Ruby to our testers at work, > but I am considering buying it for my Dad & Girlfriend too, who I am > teaching Ruby to as well. > > ------ art_67650_2391765.1171361490828--