In article <1129253659.784507.62530@z14g2000cwz.googlegroups.com>,
> 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
···
jussij@zeusedit.com wrote:
--
Scott Ellsworth
scott@alodar.nospam.com
Java and database consulting for the life sciences