In article <1129253659.784507.62530 / z14g2000cwz.googlegroups.com>, jussij / zeusedit.com wrote: > > I am always amazed at Linux folk who try to teach newbies > > how to program with vi/emacs and make > > IMHO this is by far the better way to teach a new language. > > Taking the text editor/make file approach will result in a > much better programmer, because it forces the student to > learn the language and nothing but the language. Not really - it forces them to learn the language, the command line, and the make/text editor functionality, instead of the language and the IDE. With a teaching IDE like BlueJ, the IDE has relatively few strange behaviors, and limited functionality, so they are most likely to be learning the language. Don't get me wrong - that command line information can be really important. Just ask anyone who has deployed a webapp - you live and die by knowing exactly how your system is configured. That said, it is a set of skills, and it has to be weighed in relation to other skills they might learn instead. With something like IDEA, I can ask for all of the usages of a method. Doing that in vi requires learning vi's search capabilities, and for anything complicated, that means regexes. I would not want to teach a newbie programmer regexes, unless they were learning Perl or Ruby where they are a core language skill. > Using the IDE approach, too many details are hidden by the > IDE, so in essence all you are learning is the IDE. Some details are worth hiding until the student is ready to learn them. Eventually, those details matter, but not, IMO, until the student has climbed the learning curve. With a new language, you have a lot to learn. I want that learning focussed on the language. As an example, I would rather that a student who has made a syntax error be shown the file and line they screwed up, than be given a line number and file name. With the wrong code right in front of them, they can fix it quickly, and move on. Eventually, I would rather they not make such mistakes, but until the syntax is familiar, showing mistakes right away helps. Scott -- Scott Ellsworth scott / alodar.nospam.com Java and database consulting for the life sciences