[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: learning languages [Was: Re: Y Store now C++]



On Friday, Mar 14, 2003, at 17:21 US/Eastern, Ken Anderson wrote:
> The plan is to be all Java (with scripting languages for debugging) by 
> November.  When we brought in new programmers to learn Lisp it would 
> take about 3 weeks before they learned enough of Lisp, the application 
> and its jargon to actually check in changes to code.  I remember being 
> suprised several times about how quickly this transition happened.

I think mentoring makes all the difference with Lisp.  Or, just 
learning with someone else.  For some weird reason, many people are 
scared to death of parentheses, while I couldn't think of more a 
flexible way to group things.  Good developers from other languages 
just don't know where to start with such freedom, and I sympathize.  I 
came back from an extended trip across the USSR in 1985 and got lost in 
a Star Market in Cambridge trying to figure out which one of fifty 
kinds of coffee I wanted--then I slapped myself:  "Dude, you're from 
the U.S., you grew up with choice, so make one, ANY one!"

Today I was lucky to be using JScheme [yours Ken A.] to help a very 
good Java developer learning JScheme figure out why his piece of the 
application wasn't working.  We fired up a VNC connection, because 
we're 200 miles apart, so he could see what I loaded in Emacs Lisp and 
JScheme code to pick apart the data structures in search of the bug.  
In another window, we had a chat going so we could exchange questions.  
Within an hour, he was correcting me.  And because we were using VNC, 
other programmers on the team could fire up or shut down their own 
viewers.

The beauty of it, really, was that at the start, I was almost as much 
in the dark as he was, in terms of what we were looking for, and what 
we would eventually find.  We were exploring together, and, 
importantly, it was ALL there for us to dissect, we could have changed 
just about any aspect of the system we wanted.  I didn't write much, I 
just borrowed pieces of code here and there to see what they would do, 
because heck, I didn't know.  When we discovered something interesting, 
we'd go down that path.  When we got stuck, we took a break.  We spent 
a few hours generating tons of debugging output, then we boiled it all 
down to a half-dozen lines of code that expressed everything we'd 
figured out, not twenty pages of garbage for someone else to wade 
through.

Geoffrey