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