RE: Introspect whether setCharacterEncoding i s present..

Robert Sanford <[email protected]> Thu, 14 Oct 2004 10:21:17 -0500
Newsgroups gmane.comp.java.advanced-servlets
Message-ID <8343824939973D4FAC4AD93C1CF35944BCB96F@orrtax_exchg3.nls.nlsholdings.com>
> > > Of course, I ended up mainly teaching computer
> > > science and not particularly Java. But because
> > > they understood the computer science they
> > > understood Java.
> > 
> > I wouldn't say what I do is that different,
> > though I _would_ ask what exactly you mean by
> > "teaching computer science".
> 
> My last gig I had to explain what closures are
> and that meant explaining scope, one of the most
> overlooked aspects of programming. 

Closures... Those hurt. Those make me need more coffee. Lambda expressions
and closures just about killed me in my second semester of CS when we were
being taught Lisp.

Pretty much everyone got Pascal in the first semester (hey, it *was* 1983!).
In the second semester we did FORTRAN, C and then Lisp. FORTRAN didn't kick
anyone out but when we got into pointers and dynamic memory allocation the
separation started. And then we hit Lisp and there were two distinct groups
of people - those that got it and those that didn't. I didn't. One of my
study partners got it and I remember that I would just stare at him when he
tried to explain the code to me and how simple it was. Finally, about two
weeks before the end of the semester I was working on an assignment and was
talking through it in my head before I started asking my study partner (did
I really say "Study Buddy" back then??? Gack!) questions and I played
through the conversation he was going to give me in my head and all of the
sudden it clicked. The easy assignments that were taking me four and five
days of misery were gone and this hard assignment took me four to five hours
and it was done. It clicked.

I've always regretted that I never was able to go back and do more work with
Lisp and I'm afraid now that I would have to struggle again until I hit that
moment of epiphany...

> In the last two years I've had to explain how a
> call stack works and what tail recursion is. I've
> recently explained memory protection, memory
> allocation, etc, etc, etc...

And I thought my life was difficult having to explain to people that when
you are using SAX or DOM directly that you have to check *all* of the text
and CDATA nodes because the API allows implementors to split text into more
than one of them as they see fit...

> Alan Perlis said that, as programmers, code was
> our chief communication mechanism. I try to get
> that across to the programmers I teach. Code is
> what we do, it should be written for us to read.

Yes, very much so. I really hate reading code where someone is doing funky
things to make it perform better. As long as I don't do something outrageous
to hinder them compilers will typically do a much better job of optimizing
my code than I will. In light of that I choose to improve my personal
productivity by making code easy to read and maintain.

rjsjr


------------------------ Yahoo! Groups Sponsor --------------------~--> 
$9.95 domain names from Yahoo!. Register anything.
http://us.click.yahoo.com/J8kdrA/y20IAA/yQLSAA/saFolB/TM
--------------------------------------------------------------------~-> 

Before posting a question, try to find your answer here: 
<http://www.egroups.com/links/advanced-servlets>
Announcements should go to: [email protected]
To Post a message, send it to: [email protected]
To Unsubscribe, send a blank message to: [email protected] 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/advanced-servlets/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/