Kids These Days! (not much Scheme content, but an appeal to Educators)

15 views
Skip to first unread message

David Rush

unread,
May 2, 2001, 6:59:19 AM5/2/01
to
meklund97 (or whatever his lazy-ass name is) was really the last straw.

<rant>
What is wrong with kids coning into this business these days?

OK, I'm just a line-grunt. In fact, I'm a University drop-out and my
aspirations to academia stem from an addiction to ACM TOPLAS (although
these days I don't have access to it anymore) and a fairly refined
coding aesthetic. But I've been programming professionally for 17
years now (and as an enthusiastic amateur for another few before
that), and I've got to say that the general quality of code that I'm
seeing deployed has dropped even as we've gotten better and better
tools for doing things right.

I can't even begin to tell you how frustrating this is.

I currently work for a *large* internet/media company whose
three-letter acronym shall remain unmentioned. As we've expanded into
international markets some of our core services have encountered
well-solved problems in the networking world. In this case, we're
delivering email from servers in the USA to clients in many timezones
around the world. The local portals want the delivery times to be
shown in their native TZ rather than EST.

This is a well-solved problem in the Unix world. /etc/zoneinfo (on
Linux, /usr/share/lib/zoneinfo on Solaris, &cet) has an extensive
database of precise timezone definitions. The basic library functions
exists on every Unix box (ctime, mktime, strptime &cet...), and the
library source is freely available at ftp://elsie.nci.nih.gov/pub
Over the last 4 workiung days I have watched a fairly sharp young guy
tell his manager that he can't implement code that correctly handles
DST changes *on Unix* because he doesn't have a *PERL* language
library to handle it. In two hours last night I hacked together a C
program (which you can bloody well call from PERL) that does the exact
job. When I demo'd it for the manager, said mgr gave me a FUD answer
about not trusting the zoneinfo DB (because he admittedly didn't know
Unix) and that I was only able to solve the problem because of my
*great expertise*. It's 62 lines of code! How hard can it be?!
Manager said that he couldn't expect guys fresh out of school to be
able to do what I did.

OK, so maybe it takes a day to read through all the manual pages if
you never dealt with that sort of turgid prose before, but what is
wrong with expecting new grads to be able to actually analyze a problem
and use the right tools to solve it? NOOOOOO! Programming has become a
matter of finding the right recipe and following it blindly! That
way you "de-risk the deliverable". As if the project wasn't already
late anyway, and it will actually *DO THE RIGHT THING*, which the
*CUSTOMER* actually *WANTS* (a rare enough thing in this business).

This problem cuts right to the heart of what's wrong with the web. In
another case I recently witnessed, an entertainment portal used
300+lines of Javascript to encode (things like town names into magic
numeric codes) *two* HTML form fields and send them off to back-end
server search processing. WTF? Aren't servers supposed to do the hard
work? And why are you doing this stupid encoding in the first place?
NOOOO! We've got some manager delegating to some half-assed new grad
who doesn't know enough to question the question, and thinks it's
really cool to solve something using the only technology he
knows^W^W^W^W latest buzzword^W web-standard technology! Nobody uses
those minority browsers anyway!

And then we have feckless^Wmecklund97and his amazing:

> > Bruce R Lewis <brl...@my-deja.com> wrote:
> > > mekl...@aol.com (Meklund97) writes:
> > > > If anyone out there likes to do this for fun please help me
> > > > because I am lost and this is the last homework before I am
> > > > done. Please help!!!!!!!!
> >
> > > But with eight exclamation points, it must be
> > > really important for us to do this for you. Please post your TA's
> > > address so that we can send the answer in directly and eliminate the
> > > middleman.
>
> my ta's address is sca...@cs.com if you were really serious. please
> send me a copy also if you could - mekl...@aol.com

The cynicism is just too much for words. This is *exactly* the
attitude that commits these coding/managerial atrocities. "I don't
care I just want it behind me" didn't build the internet. Or Linux. Or
Microsoft. Or Apple. Or *anything* worth having for that matter.

Profs! Please! Flunk 'em if they won't learn. You'll be doing the
world a favor. They're making what could be one of the most elegant of
engineering disciplines into a field I'm becoming increasingly ashamed
ot have my name associated with. How often do I have to say to
non-techies that "software sucks", and yes, I am a
co-perpetrator. Much more of this and I *will* just cash in and
exercise what we used to call the drywall option (although for me it
would be carpentry).

<ObScheme>
So anyway. Let's all push BRL, *and* SSAX, *and* PLT and make the
bastards learn how to program properly using good and apropriate
tools.
</ObScheme>

</rant>

Oh bloody hell. I'm running out of steam here. Sorry If I haven't got
Olin's style, but this is really annoying. The training of these
programming puppies *must* be more than teaching them not to piddle on
the floor. Those heads full of mush must learn to *think*, and a lot
of the people are responsible for that process. Fight for Scheme and
SICP. There's so much more to this craft than using the latest
libraries.

david rush
--
Finding a needle in a haystack is a lot easier if you burn down the
haystack and scan the ashes with a metal detector.
-- the Silicon Valley Tarot

Matthias Felleisen

unread,
May 2, 2001, 9:43:49 AM5/2/01
to
David Rush wrote:

> Profs! Please! Flunk 'em if they won't learn. You'll be doing the
> world a favor. They're making what could be one of the most elegant of
> engineering disciplines into a field I'm becoming increasingly ashamed
> ot have my name associated with.

Some of us feel like you do and some of us act and flunk such people.
You do need to understand, however, that grades are assigned to students
by the university _not_ the professors. If a student doesn't like the grade,
he sues, and the university president changes the grade. But at least some
of us have to have the guts to stand up and say what we think about these
non-learners.

-- Matthias

Ehud Lamm

unread,
May 2, 2001, 11:55:09 AM5/2/01
to
> > Profs! Please! Flunk 'em if they won't learn. You'll be doing the
> > world a favor. They're making what could be one of the most elegant of
> > engineering disciplines into a field I'm becoming increasingly ashamed
> > ot have my name associated with.
>

I always felt like you do. However, I also feel that most of these
non-learners will be found out after a ten seconds interview. So good
companies won't hire them, and good universities won't accept them for
graduate studies.
But perhaps I am just too optimistic by nature...


--
Ehud Lamm msl...@mscc.huji.ac.il
http://purl.oclc.org/NET/ehudlamm <== Me!

Eli Barzilay

unread,
May 2, 2001, 2:00:03 PM5/2/01
to
Matthias Felleisen <matt...@rice.edu> writes:

> [...] You do need to understand, however, that grades are assigned


> to students by the university _not_ the professors. If a student
> doesn't like the grade, he sues, and the university president

> changes the grade. [...]

This is amazing! Is this really happening (students suing for better
grades)? Is there any text on the web about such cases?


"Ehud Lamm" <msl...@mscc.huji.ac.il> writes:

> I always felt like you do. However, I also feel that most of these
> non-learners will be found out after a ten seconds interview. So
> good companies won't hire them, and good universities won't accept
> them for graduate studies.

In addition, I think that such programming is an extreme case of a job
that the differences between real programmers and "programmers" are
*huge* -- which is (IMO) the real reason for that timezone incident --
in this was not a rare case (seeing people that one hour of a good
programmer is roughly equivalent) about two days of theirs. The
result of this is that (again, IMO) good programmers will always be a
precious thing to have, which makes me not worry much about graduating
into the dot-com breakdown...


> But perhaps I am just too optimistic by nature...

Me too. Must be an Israeli thing...

--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!

Max Hailperin

unread,
May 2, 2001, 4:01:00 PM5/2/01
to
Matthias Felleisen <matt...@rice.edu> writes:

Like the optimistic Israelis, I don't really think this is a major
source of the problem. Yes, I too teach in the U.S., and so yes, I
too know that it occasionally happens. I just don't think very often,
by comparison with some of the other sources of problems.

One very fundamental problem with David Rush's wish is that it has an
underlying assumption: that we (the computer science professors) have
any opportunity to pass or fail those who go into industry. Actually,
only one quarter of those entering programming jobs have computer
science degrees. (See ``Are Too Many Programmers Too Narrowly
Trained'' by David Clark, Computer, June 2000, p. 13.)

Of course, even the quarter who do pass through our educational halls
are subject to grade inflation, etc. But there are much more
pernicious causes of that than the threat of suit. For example,
universities are increasingly making decisions which faculty to tenure
and promote based on on student ratings of their teaching. Students'
ratings are in turn greatly influenced by the grading. So there is a
feedback loop that works towards grade inflation. I'd say this is a
much bigger problem than the occasional post-facto intervention. -max

Joe Lisp

unread,
May 2, 2001, 6:37:10 PM5/2/01
to
Matthias Felleisen <matt...@rice.edu> writes:
> Some of us feel like you do and some of us act and flunk such people.
> You do need to understand, however, that grades are assigned to students
> by the university _not_ the professors. If a student doesn't like the grade,

For one Harvard prof's solution to the problem of grades, check this out:

http://www.economist.com/world/na/displayStory.cfm?Story_ID=574187


Meklund97

unread,
May 2, 2001, 7:12:41 PM5/2/01
to
ok, ok everyone settle down, i did my homework all by myself and it took all of
about 10 minutes. goodness!! the one time i try an easy way out and everyone
starts freaking out...well if you are so unsatisfied with the programmers
coming out of college right now, maybe instead of pointing the finger at all of
us "little boys" for doing everything wrong you should take a look at who is
teaching us all this stuff - your generation of programmers - so if you want us
to do things right, then by all means mr. wizard show us how it's done and
communicate the material to us effectively so we can be as perfect as you are.
if you are all going to critique and write big editorials on the downfall of
the computer science field then maybe you picked the wrong profession anyhow -
you should go back to school and get an english major so you can critique and
cut everyone down for a living.

Matthias Felleisen

unread,
May 2, 2001, 7:20:46 PM5/2/01
to
Eli Barzilay wrote:

> Matthias Felleisen <matt...@rice.edu> writes:
>
> > [...] You do need to understand, however, that grades are assigned
> > to students by the university _not_ the professors. If a student
> > doesn't like the grade, he sues, and the university president
> > changes the grade. [...]
>
> This is amazing! Is this really happening (students suing for better
> grades)? Is there any text on the web about such cases?

About two or three weeks ago an appelate court handed down the
decision, and the media reported on this. I read it in the free part of
CHE, but I can't find the URL. You may be able to find it with a
Google search.

As Max correctly points out, this isnt the real problem.

The real problem: industry hires unqualified people, because we
can't produce enough qualified people.

Another real problem: colleges "qualify" many students who aren't
qualified. So, "hey, but if these guys are programmers, we are programmers,
too. They can do X. They make those mistakes. I am no worse. Right?"

Throw in a few students who complain loud enough to get a better grade,
and it doesn't make a real difference.

-- Matthias


David M Einstein

unread,
May 2, 2001, 9:12:27 PM5/2/01
to
Meklund97 (mekl...@aol.com) wrote:
: ok, ok everyone settle down, i did my homework all by myself and it
: took all of about 10 minutes. goodness!!

I doubt that anyone is really surprised by the amount of effort needed.

: the one time i try an easy way out and everyone starts freaking out...
: well if you are so unsatisfied with the programmers coming out of college

: right now, maybe instead of pointing the finger at all of us "little boys"
: for doing everything wrong you should take a look at who is teaching us
: all this stuff - your generation of programmers - so if you want us
: to do things right, then by all means mr. wizard show us how it's done and
: communicate the material to us effectively so we can be as perfect as you
: are.

I believe that many of the people that you deride, especially
Mathias Felleisen,along with his cohorts and minions are working very
hard at that, and seem to be succeeding, though I doubt that their
students would agree with them until two or three years after they
have finished the course.

: if you are all going to critique and write big editorials on the downfall of


: the computer science field then maybe you picked the wrong profession anyhow -
: you should go back to school and get an english major so you can critique and
: cut everyone down for a living.

Don't knock english majors. It is a damn sight easier to
teach an english major to program than it is to teach a CS major to
write. Unfortunately the english major can usually get through life without
programming.


Robert S.

unread,
May 2, 2001, 9:09:40 PM5/2/01
to

"Ehud Lamm" <msl...@mscc.huji.ac.il> wrote in message
news:9cpb0j$rmq$1...@news.huji.ac.il...

> However, I also feel that most of these
> non-learners will be found out after a ten seconds interview. So good
> companies won't hire them, and good universities won't accept them for
> graduate studies.
> But perhaps I am just too optimistic by nature...

In my 25+ years, (and about 10 different jobs), I have NEVER been asked a
technical question on a job interview!

In my current position, at an R&D group for a large media company, I'm known
for my tough interviewing style...often I'm the only interviewer who bothers
asking questions!

I've found that, for example, about 80% of folks who put "C++" on their
resumes can't answer FUNDAMENTAL questions about the language, stuff that's
in the first few chapters of Bjarne's book. About half the time they're just
lying, the rest of them beleive that since they ran some app builder that
made dialog boxes and some C++ glue code to tie a form to a database, that
they're C++ experts.

It's also funny how many people can't answer basic math questions, (I'm
talking algebra and trigonometry here).

Our group hires pretty well, but we do that mainly by picking top students
from top schools.


Robert S.

unread,
May 2, 2001, 9:15:18 PM5/2/01
to
> It is a damn sight easier to
> teach an english major to program than it is to teach a CS major to
> write.

That's why you shouldn't hire CS majors, you should hire MATH MAJORS, who
tend to be good in just about any subject.


Eli Barzilay

unread,
May 2, 2001, 9:24:25 PM5/2/01
to
Matthias Felleisen <matt...@rice.edu> writes:

> About two or three weeks ago an appelate court handed down the
> decision, and the media reported on this. I read it in the free part
> of CHE, but I can't find the URL. You may be able to find it with a
> Google search.

I tried but found nothing - what's CHE?


> As Max correctly points out, this isnt the real problem.

I know, I was just curious...


> The real problem: industry hires unqualified people, because we

> can't produce enough qualified people. [...]

Yeah, that's all true... So as someone who teaches programmers, I can
only be sad about the situation (and try to keep *myself* from going
down (which would probably make it tough for me to teach in America)),
but as a programmer who is concerned about future income I can just
sit back and enjoy the fact that chances are that I'll always be
valuable enough (up to the point where I'll get senile...)

The same goes for language wars -- you can either get frustrated at
people who think that C++ is the best thing that could ever happen to
mankind, or you can smile at the fact that it took you 4 days to make
a web-server that does things that C++ programmers would have to spit
blood to get...

Hartmann Schaffer

unread,
May 2, 2001, 11:53:18 PM5/2/01
to
In article <skhez37...@mojave.cs.cornell.edu>, Eli Barzilay wrote:
>
>> [...] You do need to understand, however, that grades are assigned
>> to students by the university _not_ the professors. If a student
>> doesn't like the grade, he sues, and the university president
>> changes the grade. [...]
>
>This is amazing! Is this really happening (students suing for better
>grades)? Is there any text on the web about such cases?

actually, this is an old thing. i remember a case in the mid 1960s where
we had to fail a guy who somehow had managed to get the qualifications
for our class on paper (easy to guess how). he complained to some advisor
and we had to give him a retest. his preparation was to write algol60
programs like
begin
real pi;
read(pi);
print(pi)
end;

even though we simplified the test (he was a foreign student and needed to
pass something to assure continued financing) he failed miserably again and
tried to get yet another retest. we stood our ground, but it wasn't easy
(no courts involved, though)

> ...
--

hs

----------------------------------------------------------------

"The cheapest pride is national pride. I demonstrates the lack of
characteristics and achievements you can be proud of. The worst loser
can have national pride" - Schopenhauer

Biep @ http://www.biep.org

unread,
May 3, 2001, 3:29:36 AM5/3/01
to
"Ehud Lamm" <msl...@mscc.huji.ac.il> wrote in message
news:9cpb0j$rmq$1...@news.huji.ac.il...
> I feel that most of these non-learners will be found out after a ten

seconds interview.
> So good companies won't hire them, and good universities won't accept them
for graduate studies.
> But perhaps I am just too optimistic by nature...

I am afraid many companies will accept a degree as proof of *technical*
competence, and spend their interviews finding out other qualities (team
work, customer-directedness, ...). Specific technical *knowledge* (the
stuff that's in manuals) will be picked up along the way.

So maybe companies should be educated not to trust degrees.. Or
universities not to issue them indiscriminately..

--
Biep
Reply via http://www.biep.org


Ehud Lamm

unread,
May 3, 2001, 4:03:11 AM5/3/01
to
> Our group hires pretty well, but we do that mainly by picking top students
> from top schools.

I always thought that it is much safer to assume that top students are
indeed pretty clever, than to assume that passing grades mean anything.

Bruce Hoult

unread,
May 3, 2001, 5:08:38 AM5/3/01
to
In article <skhez37...@mojave.cs.cornell.edu>, Eli Barzilay
<e...@barzilay.org> wrote:

> seeing people that one hour of a good

> programmer is roughly equivalent about two days of theirs

That's conservative. I've seen plenty of examples where an hour of a
good programmer is worth a month of a poor one. And that's not even a
month of a totally incompetent one -- *those* actually produce negative
results, as often as not.

-- Bruce

Bruce Hoult

unread,
May 3, 2001, 5:22:29 AM5/3/01
to
In article <9cr195$f5v2p$1...@ID-63952.news.dfncis.de>, "Biep @
http://www.biep.org" <repl...@my.webpage.com> wrote:

> I am afraid many companies will accept a degree as proof of *technical*
> competence, and spend their interviews finding out other qualities (team
> work, customer-directedness, ...). Specific technical *knowledge* (the
> stuff that's in manuals) will be picked up along the way.

And that make good sense, as everyone here should appreciate. So you
don't know anything about some wacky programming language they want you
to use, but you know SICP inside-out. No problem -- you really *will*
learn it.

The problem is how to sort out who can learn the new stuff and who
can't. I don't know how to do that, but asking "puzzle" type questions
is probably reasonable. Maybe dropping the candidate a manual for
something an hour before the interview and then asking open-book
questions about it is a good way too.

I've only once formally interviewed someone (the local university wanted
an outside interviewer for confirmation about a particular candidate)
but I came up with a question that I thought was quite a good one:

What is the total mass of the Earth's atmosphere?

I've found from trying it on my friends and colleagues that this
question is actually a pretty good discriminator and there are many
others like it. I find the good people come up with a workable method
of attack within 10 or 15 seconds and the really good get one decimal
place numerical result within a minute or so.

-- Bruce

brl...@my-deja.com

unread,
May 3, 2001, 10:20:34 AM5/3/01
to
Seeing how you were able to solve the problems all by yourself in about
ten minutes once you applied yourself, it seems to me that the material
*has* been communicated to you effectively.

Don't be surprised that "everyone starts freaking out" when you ask us
to do all the work for you and mail it to your TA. You didn't exactly
make a stellar first impression. Hopefully this kind of behavior is
atypical for you. It touched a nerve because there are students for
whom such behavior is typical.

Will Clinger - Sun Microsystems

unread,
May 3, 2001, 3:13:37 PM5/3/01
to
On 29 Apr 2001 at 19:42:27 GMT Meklund97 wrote:
If anyone out there likes to do this for fun please help me because I am lost
and this is the last homework before I am done. Please help!!!!!!!!

On 02 May 2001 at 01:26:10 GMT he wrote:
CAN ANYONE DO THESE?? PLEASE?? IT'S MY LAST PROJECT AND I AM DONE WITH SCHEME
FOREVER. IF ANYONE ENJOYS DOING THESE PROBLEMS THEN HAVE FUN AND LET ME KNOW
WHAT YOU COME UP WITH

On 02 May 2001 at 23:12:41 GMT he wrote:
ok, ok everyone settle down, i did my homework all by myself and it took all of
about 10 minutes. goodness!! the one time i try an easy way out and everyone
starts freaking out...

Sorry to change the subject, but it seems to me that the real
problem here may lie not with the young, with the old, or with
the educational system, but with the hardware vendors. When a
computer costs $1000 or more, its keyboard should come with
a reliable shift key.

> well if you are so unsatisfied with the programmers
> coming out of college right now,

My personal opinion is that the programmers coming out of college
right now are no worse than the programmers who came out of college
25 or 40 years ago. In fact, today's programmers may be better,
because even the best of the old programmers were awful in ways
that today's programmers can only dream about. You can read about
one of those old guys, Mel, at

http://www.ccs.neu.edu/home/will/com1205/mel.html

But I'll say this for Mel: He was honest.

> maybe instead of pointing the finger at all of
> us "little boys" for doing everything wrong you should take a look at who is
> teaching us all this stuff - your generation of programmers

Methinks Meklund97 has a point here.

> - so if you want us
> to do things right, then by all means mr. wizard show us how it's done and
> communicate the material to us effectively so we can be as perfect as you are.

Oh dear me. Pardon my laughter. I can think of no response to
this more appropriate than the words of Robert Hunter and Jerry
Garcia (Meklund97: These were holy men of antiquity):

If I knew the way, I would take you home.

> if you are all going to critique and write big editorials on the downfall of
> the computer science field then maybe you picked the wrong profession anyhow -
> you should go back to school and get an english major so you can critique and
> cut everyone down for a living.

This must be Meklund97's editorial comment on the field of
English majoring, but I doubt whether he has the proper
academic credentials to be cutting people down like that.

Will

Evan Prodromou

unread,
May 3, 2001, 3:44:29 PM5/3/01
to
>>>>> "DME" == David M Einstein <Dei...@world.std.com> writes:

DME> Don't knock english majors. It is a damn sight easier
DME> to teach an english major to program than it is to teach a CS
DME> major to write.

Actually, I've found that good writers very often make better
programmers than good math or engineering folks. The process of
creating a program is much more analogous to writing a clear, concise
essay than it is to making a bridge or proving a theorem.

Skills that liberal arts majors develop, and especially literature or
English majors, are very applicable to programming. For example:

- using stages in development to aid the writing process
(notes -> outline -> draft 1, etc.)
- composing and decomposing complex ideas
- editing for clarity
- re-writing for efficiency
- keeping in mind a goal, and not straying from that goal
- making different parts of an idea work together as a whole

Most of all, I think that people with writing skills usually remember
that code is written not only to be _run_, but also to be _read_.

~ESP

--
Evan Prodromou
ev...@prodromou.san-francisco.ca.us

Eli Barzilay

unread,
May 4, 2001, 12:15:17 AM5/4/01
to
[I'm just freaking out here, if you feel nice and the sun is smiling
at you, then please ignore.]


Evan Prodromou <ev...@prodromou.san-francisco.ca.us> writes:

> >>>>> "DME" == David M Einstein <Dei...@world.std.com> writes:
>
> DME> Don't knock english majors. It is a damn sight easier
> DME> to teach an english major to program than it is to teach a

> DME> CS major to write.

This is flame stuff, the results are expected.


> Actually, I've found that good writers very often make better
> programmers than good math or engineering folks. The process of
> creating a program is much more analogous to writing a clear,
> concise essay than it is to making a bridge or proving a theorem.
>
> Skills that liberal arts majors develop, and especially literature
> or English majors, are very applicable to programming. For example:
>
> - using stages in development to aid the writing process
> (notes -> outline -> draft 1, etc.)
> - composing and decomposing complex ideas
> - editing for clarity
> - re-writing for efficiency
> - keeping in mind a goal, and not straying from that goal
> - making different parts of an idea work together as a whole
>
> Most of all, I think that people with writing skills usually
> remember that code is written not only to be _run_, but also to be
> _read_.

So I'm going to have to go and disagree with you on this one...

You just wrote a list of things which are useful in almost any field I
can think about, so maybe English majors are the new super-humans? I
want to see the mathematician or the engineer that will agree that
development-stages, complex-ideas, editing, re-designing/writing,
goal-focusing and the parts thing are not really necessary qualities
for their field. Or that they are important, but not as important as
for the super-English majors. What is this kind of statement supposed
to say? "English majors are more goal oriented than engineers"?
"English majors are handling more complex ideas than programmers"? Or
that things with the different parts working together... All good
programmers that I have seen *know* that code needs to be read. Most
people here will agree that this is one strong feature of Scheme code.

If all of these things are important to programmers and to writers,
and you have two people with the same IQ, and both studied these
concepts but one from a CS dept and one from an English dept, who
would you take? Both of them have these things as important things,
except that the *specific* complex ideas the English major has been
dealing with for the last N years are pretty different than those
taught in the CS department.

Did you even see what you wrote? Would you hire plumbers for as
network consultants because they know about transferring stuff in a
pipe from point A to point B? How about gardeners who have total
respect for uniformity? What about that old man in the subway who
sits there every morning and solves crossword puzzles - those are
pretty complex things there, he'd be a good sysadmin. Hired killers
are very goal oriented. McDonald's employees know all about queueing
events.

You could talk about the *kind* of people who'd go to each field,
about the fact that the easy money chance draws a lot of
PLEASE-DO-MY-HOMEWORK people, that English majors have such low
chances of jobs in their field that they must be dedicated /
non-conformists / creative people, but your list of points above have
no value at all. As a matter of fact, all good programmers that I saw
were *really good* at writing, maybe I should reverse that list and
claim that good programmers are better writers?

Ji-Yong D. Chung

unread,
May 4, 2001, 1:02:38 PM5/4/01
to

Meklund97 <mekl...@aol.com> wrote in message
news:20010502191241...@ng-mq1.aol.com...

> ok, ok everyone settle down, i did my homework all by myself and it took
all of
> about 10 minutes. goodness!! the one time i try an easy way out and
everyone
> starts freaking out...

It should have been fairly obvious that, after graduating,
people generally do not enjoy doing other people's homework.
If you, a student, do not like doing homework, what
in the world makes you think, other people here
who generally GIVE homework, would enjoy doing one?
Does that makes sense to you?

Personally, your homework is the last thing I'd want to do
today, or the rest of my life, and I am not even in
a teaching profession.

> well if you are so unsatisfied with the programmers
> coming out of college right now, maybe instead of pointing the finger at
all of
> us "little boys" for doing everything wrong you should take a look at who
is
> teaching us all this stuff - your generation of programmers - so if you
want us
> to do things right, then by all means mr. wizard show us how it's done and
> communicate the material to us effectively so we can be as perfect as you
are.

You sure don't know what you are asking for.--
God forbid an average programmer
of our generation successfully teach you how it is
done and make you as perfect as he is.

And with your attitude young man,
you have a good chance of becoming just like him.
Given that you have first tried to get others
to shoulder what is your responsibility,
you should be the last one on this planet to have
the attitude "... you should take a look at who
is teaching us all this stuff." Obviously, it wasn't
the educators who taught you to get others to do
your homework.

> if you are all going to critique and write big editorials on the downfall
of
> the computer science field then maybe you picked the wrong profession
anyhow -
> you should go back to school and get an english major so you can critique
and
> cut everyone down for a living.

No, son, people here were not writing editorials on the downfall
of the computer science field, but were expressing frustration at
their roles as educators/professionals when they saw your email.
They are dismayed at what you "represent"; their failings.

Good thing your email was, at least, chock full of amusing
and transparent mental gymnatics. Otherwise, it would
be just depressing.

Biep @ http://www.biep.org

unread,
May 4, 2001, 3:35:05 AM5/4/01
to
"Eli Barzilay" <e...@barzilay.org> wrote in message
news:skvgnho...@mojave.cs.cornell.edu...

> If all of these things are important to programmers and to writers,
> and you have two people with the same IQ, and both studied these concepts
> but one from a CS dept and one from an English dept, who would you take?
> Both of them have these things as important things,
> except that the *specific* complex ideas the English major has been
> dealing with for the last N years are pretty different than those
> taught in the CS department.

When grading CS work at university, I have always graded for natural
language as well as for the CS stuff, so ideally CS students should be
versed in both. (Reality was rather different, however..)
To what degree is your average student of English trained in programming?

ronald schroder

unread,
May 4, 2001, 4:10:24 AM5/4/01
to
On Fri, 4 May 2001 09:35:05 +0200, "Biep @ http://www.biep.org"
>When grading CS work at university, I have always graded for natural
>language as well as for the CS stuff, so ideally CS students should be
>versed in both. (Reality was rather different, however..)
>To what degree is your average student of English trained in programming?
>
I believe that it was as early as the sixties when research at IBM
showed that training in natural language and training in maths are
equally important for CS professionals.
After all, a computer programming language is still a language and
should be treated as such.Then again, a computer program is nothing
more than a (long) mathematical formula, and (again) should be treated
as such.
In short, reading and writing skills are as important as maths skills.

Ronald Schröder

Ehud Lamm

unread,
May 4, 2001, 6:15:18 AM5/4/01
to
> In short, reading and writing skills are as important as maths skills.
>

Shorter version of this debate: smarts count.


How surprising.

Shriram Krishnamurthi

unread,
May 4, 2001, 9:03:55 AM5/4/01
to
Eli Barzilay <e...@barzilay.org> writes:

> What about that old man in the subway who
> sits there every morning and solves crossword puzzles - those are
> pretty complex things there, he'd be a good sysadmin. Hired killers
> are very goal oriented. McDonald's employees know all about queueing
> events.

I suspect that hired killers would make excellent computer scientists.
I pity the fool who fails to answer a codewalk question from one!
Perhaps the current labor shortage in IT/CIS stems from the fact that
companies are advertising in all the wrong places: /CACM/ and /IEEE
Computer/ instead of /Soldier of Fortune/.

Shriram

Evan Prodromou

unread,
May 4, 2001, 6:10:51 PM5/4/01
to
>>>>> "EB" == Eli Barzilay <e...@barzilay.org> writes:

EB> [I'm just freaking out here, if you feel nice and the sun is
EB> smiling at you, then please ignore.]

The sun is absolutely beautiful out here, but how could I ever pass up
an opportunity to practice the dialectic with a worthy opponent and
thus improve my own ideas?

Me> Actually, I've found that good writers very often make better
Me> programmers than good math or engineering folks.

This is the thesis, right here.

EB> So I'm going to have to go and disagree with you on this
EB> one...

But of course! I'm not sure what your point exactly is, though. Would
you say that writers are not -better- at programming than, say,
engineers, but equal? Or worse? Or totally unqualified whatsoever?

Or were you just saying that I'm a big dork?

EB> You just wrote a list of things which are useful in almost any
EB> field I can think about, so maybe English majors are the new
EB> super-humans?

I can't comment on how important editing for clarity is to, say,
lumberjacks. However, I can say pretty clearly that learning to
prepare a text can help someone who is going to be a programmer.

I don't think that that was a particularly comprehensive list of all
skills ever needed to survive, or even to be a good programmer. In
particular, there wasn't any mention of interpersonal skills or time
management.

EB> I want to see the mathematician or the engineer that will
EB> agree that development-stages, complex-ideas,
EB> editing, re-designing/writing, goal-focusing and the parts
EB> thing are not really necessary qualities for their field.

Yes, but are they the primary field of study? I'd say that they pick
up these skills as a means of surviving, and not as part of the formal
curriculum. For an English major, creating your own texts, or studying
how someone else created texts, are the main point of study.

Other educational backgrounds give different sets of skills that
translate into different styles of programming. An industrial
engineer, for example, learns some skills that are applicable to a
particular style of programming -- making little machines that do
stuff efficiently. I just happen to think that this style of
programming ends up with less useful programs in the long term than
those that are made with the goal of preparing a text.

EB> "English majors are more goal oriented than engineers"?

?? I don't think I said that. I said that English majors learn to
tailor a text towards a goal, and to edit out stuff that doesn't help
towards reaching that goal. This is an important skill for a
programmer, too.

EB> "English majors are handling more complex ideas than
EB> programmers"?

Why are you contrasting "English majors" with "programmers?" I was
talking about English majors who become programmers. Surely you can't
be suggesting that only people who did CS majors in college become
programmers, or that they are the only ones who are any good?

EB> All good programmers that I have seen *know* that code needs
EB> to be read.

Yes, indeed. And I would say that programmers with a liberal arts know
this better. And that programmers who don't realize this are bad
programmers.

EB> If all of these things are important to programmers and to
EB> writers, and you have two people with the same IQ, and both
EB> studied these concepts but one from a CS dept and one from an
EB> English dept, who would you take?

A couple of things: first, I was contrasting English majors and
engineering or math majors. So, I wasn't actually making the
comparison you made.

Second, have you ever hired someone right out of a CS program for a
professional programming job? They usually need as much on-the-job
training as any film major or art student. They have something of a
leg up in that they grok the basic premise of programming, and have
familiarity with the constructs used in common programming languages,
but that is usually about it. Knowing how to program and being a good
programmer are two very different things.

EB> Both of them have these things as important things, except
EB> that the *specific* complex ideas the English major has been
EB> dealing with for the last N years are pretty different than
EB> those taught in the CS department.

And, of course, both are different from any problems that I'll
actually need them to work on, or that they'll be dealing with in 5 or
10 years.

EB> Did you even see what you wrote? Would you hire plumbers for
EB> as network consultants because they know about transferring
EB> stuff in a pipe from point A to point B?

No, but I'd hire a network consultant who got a degree in plumbing. I
wouldn't demand that he had a degree in... whatever it is they give
people degrees in so they can become networking folks.

EB> What about that old man in the subway who sits there every
EB> morning and solves crossword puzzles - those are pretty
EB> complex things there, he'd be a good sysadmin.

Hrm. I dunno about that one, but I'd probably give him a shot at doing
database design work.

EB> Hired killers are very goal oriented.

They tend to be bad in team situations, though, and they don't do very
good reporting.

EB> McDonald's employees know all about queueing events.

I'd hire a good burger-flipper, sure. They have great team experience,
and McDonald's corporate culture puts a big emphasis on continuous
improvement of an efficient, repeatable process.

I'm only being semi-serious here, but I think my main point is that
considering programming as a strictly mathematical or engineering
discipline not only masks out a large amount of good input from other
fields of knowledge, and unfairly disqualifies people with
understanding in those fields, but also may be quite incorrect, and
lead to a style of programming that makes for bad software.

EB> You could talk about the *kind* of people who'd go to each
EB> field, about the fact that the easy money chance draws a lot
EB> of PLEASE-DO-MY-HOMEWORK people, that English majors have such
EB> low chances of jobs in their field that they must be dedicated
EB> / non-conformists / creative people, but your list of points
EB> above have no value at all.

Preparing a text is very much like creating a program, and the same
skills are needed for both. I think the list is entirely accurate.

EB> As a matter of fact, all good programmers that I saw were
EB> *really good* at writing, maybe I should reverse that list and
EB> claim that good programmers are better writers?

"Good programmers are better writers than people who aren't good
programmers."? I wouldn't say that's necessarily right, but I'd
probably say that that's it's a defensible claim.

thi

unread,
May 5, 2001, 12:43:08 AM5/5/01
to
Evan Prodromou <ev...@debian.org> writes:

Other educational backgrounds give different sets of skills that
translate into different styles of programming. An industrial
engineer, for example, learns some skills that are applicable to a
particular style of programming -- making little machines that do
stuff efficiently. I just happen to think that this style of
programming ends up with less useful programs in the long term than
those that are made with the goal of preparing a text.

i've found liberal arts majors who become programmers to be heavy on the
metaphorical, which can be useful if the problem domain supports easily
maintained abstractions. however, such programmers often shirk the
gritty details and when it comes down to it, indulge mostly in hiding
their lack of grounding (w/ more metaphors). ymmv.

thi

Eli Barzilay

unread,
May 5, 2001, 2:06:43 AM5/5/01
to
Evan Prodromou <ev...@debian.org> writes:

> But of course! I'm not sure what your point exactly is,
> though. Would you say that writers are not -better- at programming
> than, say, engineers, but equal? Or worse? Or totally unqualified
> whatsoever?

As someone just said, this NG is full of people who are related to
teaching in a university - being among these people (though on a much
smaller place than some), I find it, um, annoying when people come and
say that the kind of people I have been trying real hard to educate
are not better than English majors. I think that we might have a
misunderstanding about the definition of "engineer" - I assume talking
about CS majors (which are a subset of engineering in many places I've
seen around here) but you seem to be talking about engineers in
general - so I will restrict myself to "CS majors" (if you want to
compare non-CS engineers to English majors, that's something I really
couldn't care less about). Anyway, my point is that CS education
makes better programmers. You say that English majors learn property
X which is good for programmers and I say that if that's the case, not
only will CS majors learn X too, but they will learn it in a context
which is *by definition* closer to programming. I see no way that any
reasonable line of logic will make you disagree.


> I can't comment on how important editing for clarity is to, say,
> lumberjacks. However, I can say pretty clearly that learning to
> prepare a text can help someone who is going to be a programmer.

So maybe your claim is that preparing a text is something that English
majors study and CS majors don't study? I think that enough time has
passed having CS around for it to be mature enough to avoid such
obvious things as "studying X is good for programming and we don't
teach it. I have never yet seen anyone who thinks that students are
being taught too much CS and they should get more education in
literature or something instead of some CS material - all CS programs
I have seen were extremely intense, and all teachers were constantly
facing the problem of trying to teach more stuff while what they get
to is less than they wanted.


> EB> I want to see the mathematician or the engineer that will
> EB> agree that development-stages, complex-ideas,
> EB> editing, re-designing/writing, goal-focusing and the parts
> EB> thing are not really necessary qualities for their field.
>
> Yes, but are they the primary field of study? I'd say that they pick
> up these skills as a means of surviving, and not as part of the
> formal curriculum. For an English major, creating your own texts, or
> studying how someone else created texts, are the main point of
> study.

Take a few seconds to reverse the argument, and it makes perfect
sense: substitute "Math" for "English" and "proofs" for "texts". This
applies to other items on your list and I'd say that most of them are
better fitted to a mathematician or a CS major than to an English
major. Goal: when you program there is the very clear goal of a
working solution within resource constrains and also when you prove
something. Developement in stages: without this I would say that any
CS major is bound to get completely lost, and I'm sure that any CS or
Math majors would consider their domain's objects that they compose
and decompose on an order of magnitude more complex than the English
major's concepts. etc etc. As a demonstration of the last point, how
often do you see someone reading a single page for more than a week?
Compare the answer for CS and for English majors.


> Why are you contrasting "English majors" with "programmers?" I was
> talking about English majors who become programmers. Surely you
> can't be suggesting that only people who did CS majors in college
> become programmers, or that they are the only ones who are any good?

They are the *only* ones who were *educated* as programmers. If some
CS major starts a brilliant career making movies I wouldn't jump to
the nearest film newsgroup suggesting that CS education makes you a
better director. When English majors become programmers, they need to
fill in gaps that CS people spent lots of time over.


> A couple of things: first, I was contrasting English majors and
> engineering or math majors. So, I wasn't actually making the
> comparison you made.

Oh, so you do mean engineering as in the non-CS part... Then we go
into the I-don't-care zone.


> Second, have you ever hired someone right out of a CS program for a
> professional programming job? They usually need as much on-the-job
> training as any film major or art student. They have something of a
> leg up in that they grok the basic premise of programming, and have
> familiarity with the constructs used in common programming
> languages, but that is usually about it. Knowing how to program and
> being a good programmer are two very different things.

I have seen one two many uneducated (in CS) programmers who didn't
even realize the concept of runt-time (making their program fail
miserably when moving from toy test data to a customer). This is true
for many other things (not knowing about algorithms, not knowing about
control statements other than VB arrows, not understanding recursion
etc etc). (As funny as it may sound, I have personally witnessed an
implementation of a *three* level hierarchical tree - three meaning
that there was *no code* for handling deeper trees.)


> EB> Both of them have these things as important things, except
> EB> that the *specific* complex ideas the English major has been
> EB> dealing with for the last N years are pretty different than
> EB> those taught in the CS department.
>
> And, of course, both are different from any problems that I'll
> actually need them to work on, or that they'll be dealing with in 5
> or 10 years.

And this is the core of what I disagree on. While buzzwords (like
JavaJunk) will certainly change, CS programmers will change better
with them since they have good *general* knowledge - as hey say in the
beginning of most Scheme courses - it's not a Scheme course, but a
course about the principles of programming. English majors might
learn Perl as fast as CS majors, but not having the education, they
will still be shitty programmers (and Perl is not chosen at random
here, I think the main thing I don't like it is that every 4-year-old
writes Perl scripts that makes my hair fall).


> EB> Did you even see what you wrote? Would you hire plumbers for
> EB> as network consultants because they know about transferring
> EB> stuff in a pipe from point A to point B?
>
> No, but I'd hire a network consultant who got a degree in plumbing. I
> wouldn't demand that he had a degree in... whatever it is they give
> people degrees in so they can become networking folks.

If you were making a precondition to this that the plumber *looked*
more intelligent or whatever, I would at least see some vague logic.
Without it, I'm completely lost on this kind of reasoning.


> EB> You could talk about the *kind* of people who'd go to each
> EB> field, about the fact that the easy money chance draws a lot
> EB> of PLEASE-DO-MY-HOMEWORK people, that English majors have such
> EB> low chances of jobs in their field that they must be dedicated
> EB> / non-conformists / creative people, but your list of points
> EB> above have no value at all.
>
> Preparing a text is very much like creating a program, and the same
> skills are needed for both. I think the list is entirely accurate.

Either you stopped reading my reply a this point or you're at a
completely different wavelength. The list is completely irrelevant to
this discussion just because it is relevant to both fields (and many
others).


> EB> As a matter of fact, all good programmers that I saw were
> EB> *really good* at writing, maybe I should reverse that list and
> EB> claim that good programmers are better writers?
>
> "Good programmers are better writers than people who aren't good
> programmers."? I wouldn't say that's necessarily right, but I'd
> probably say that that's it's a defensible claim.

Good programmer => intelligent person => good writer.
The arrows are probabilistic implications.

Eli Barzilay

unread,
May 5, 2001, 2:33:05 AM5/5/01
to
Evan Prodromou <ev...@debian.org> writes:

> But of course! I'm not sure what your point exactly is,
> though. Would you say that writers are not -better- at programming
> than, say, engineers, but equal? Or worse? Or totally unqualified
> whatsoever?

As someone just said, this NG is full of people who are related to


teaching in a university - being among these people (though on a much

lower place than some), I find it, um, annoying when people come and
say that the kind of people I have been trying real hard to educate in
programming are no better programmers than English majors.

We might have a misunderstanding over the definition of "engineer" - I


assume talking about CS majors (which are a subset of engineering in
many places I've seen around here) but you seem to be talking about
engineers in general - so I will restrict myself to "CS majors" (if
you want to compare non-CS engineers to English majors, that's
something I really couldn't care less about). Anyway, my point is

that *CS education makes better programmers*. You say that English


majors learn property X which is good for programmers and I say that
if that's the case, not only will CS majors learn X too, but they will
learn it in a context which is *by definition* closer to programming.

I see no way that any reasonable line of logic will make you disagree,
but you probably will.


> I can't comment on how important editing for clarity is to, say,
> lumberjacks. However, I can say pretty clearly that learning to
> prepare a text can help someone who is going to be a programmer.

So maybe your claim is that preparing a text is something that English


majors study and CS majors don't study? I think that enough time has
passed having CS around for it to be mature enough to avoid such
obvious things as "studying X is good for programming and we don't

teach it". I have never seen anyone who thinks that students are


being taught too much CS and they should get more education in
literature or something instead of some CS material - all CS programs
I have seen were extremely intense, and all teachers were constantly
facing the problem of trying to teach more stuff while what they get
to is less than they wanted.

> EB> I want to see the mathematician or the engineer that will
> EB> agree that development-stages, complex-ideas,
> EB> editing, re-designing/writing, goal-focusing and the parts
> EB> thing are not really necessary qualities for their field.
>
> Yes, but are they the primary field of study? I'd say that they pick
> up these skills as a means of surviving, and not as part of the
> formal curriculum. For an English major, creating your own texts, or
> studying how someone else created texts, are the main point of
> study.

Take a few seconds to reverse the argument, and it makes perfect


sense: substitute "Math" for "English" and "proofs" for "texts". This
applies to other items on your list and I'd say that most of them are
better fitted to a mathematician or a CS major than to an English
major. "Goal": when you program there is the very clear goal of a

working solution within the resource constrains and the same when you


prove something. "Developement in stages": without this I would say

that any CS major is bound to get completely lost. "De/composing
concepts": I'm sure that any CS or Math majors would consider their
domain's concepts on an order of magnitude more complex than the
English major's. etc etc. As a demonstration of the last point, how


often do you see someone reading a single page for more than a week?
Compare the answer for CS and for English majors.

> Why are you contrasting "English majors" with "programmers?" I was
> talking about English majors who become programmers. Surely you
> can't be suggesting that only people who did CS majors in college
> become programmers, or that they are the only ones who are any good?

They are the *only* ones who were *educated* as programmers. If some


CS major starts a brilliant career making movies I wouldn't jump to
the nearest film newsgroup suggesting that CS education makes you a
better director. When English majors become programmers, they need to

fill in gaps that CS people spent lots of time over, just like it
would take me years to get the director's intuitions without having
other directors educate me.


> A couple of things: first, I was contrasting English majors and
> engineering or math majors. So, I wasn't actually making the
> comparison you made.

Oh, so you do mean engineering as in the non-CS part... Then we go


into the I-don't-care zone.

> Second, have you ever hired someone right out of a CS program for a
> professional programming job? They usually need as much on-the-job
> training as any film major or art student. They have something of a
> leg up in that they grok the basic premise of programming, and have
> familiarity with the constructs used in common programming
> languages, but that is usually about it. Knowing how to program and
> being a good programmer are two very different things.

I have seen one two many uneducated (in CS) programmers who didn't


even realize the concept of runt-time (making their program fail
miserably when moving from toy test data to a customer). This is true
for many other things (not knowing about algorithms, not knowing about
control statements other than VB arrows, not understanding recursion
etc etc). (As funny as it may sound, I have personally witnessed an
implementation of a *three* level hierarchical tree - three meaning
that there was *no code* for handling deeper trees.)

> EB> Both of them have these things as important things, except
> EB> that the *specific* complex ideas the English major has been
> EB> dealing with for the last N years are pretty different than
> EB> those taught in the CS department.
>
> And, of course, both are different from any problems that I'll
> actually need them to work on, or that they'll be dealing with in 5
> or 10 years.

And this is the core of what I disagree on. While buzzwords (like
JavaJunk TM) will certainly change, CS programmers will change better
with them since they have good knowledge of the general *concepts* -
as they say in the beginning of most Scheme courses - it's not a
*Scheme* course, but a course about the *principles* of programming.


English majors might learn Perl as fast as CS majors, but not having
the education, they will still be shitty programmers (and Perl is not

chosen at random here, I think the main thing that makes me hate it
that much is that every 4-year-old writes Perl scripts that makes my
eyes pop out).


> EB> Did you even see what you wrote? Would you hire plumbers for
> EB> as network consultants because they know about transferring
> EB> stuff in a pipe from point A to point B?
>
> No, but I'd hire a network consultant who got a degree in plumbing. I
> wouldn't demand that he had a degree in... whatever it is they give
> people degrees in so they can become networking folks.

If you were making a precondition to this that the plumber *looked*


more intelligent or whatever, I would at least see some vague logic.
Without it, I'm completely lost on this kind of reasoning.

> EB> You could talk about the *kind* of people who'd go to each
> EB> field, about the fact that the easy money chance draws a lot
> EB> of PLEASE-DO-MY-HOMEWORK people, that English majors have such
> EB> low chances of jobs in their field that they must be dedicated
> EB> / non-conformists / creative people, but your list of points
> EB> above have no value at all.
>
> Preparing a text is very much like creating a program, and the same
> skills are needed for both. I think the list is entirely accurate.

Either you stopped reading my reply a this point or you're at a


completely different wavelength. The list is completely irrelevant to
this discussion just because it is relevant to both fields (and many
others).

> EB> As a matter of fact, all good programmers that I saw were
> EB> *really good* at writing, maybe I should reverse that list and
> EB> claim that good programmers are better writers?
>
> "Good programmers are better writers than people who aren't good
> programmers."? I wouldn't say that's necessarily right, but I'd
> probably say that that's it's a defensible claim.

Good programmer => intelligent person => good writer.


The arrows are probabilistic implications.

--

sulfugor

unread,
May 5, 2001, 5:08:18 AM5/5/01
to

Bruce Hoult wrote in message ...

>In article <9cr195$f5v2p$1...@ID-63952.news.dfncis.de>, "Biep @
>http://www.biep.org" <repl...@my.webpage.com> wrote:
>
>> I am afraid many companies will accept a degree as proof of *technical*
>> competence, and spend their interviews finding out other qualities (team
>> work, customer-directedness, ...). Specific technical *knowledge* (the
>> stuff that's in manuals) will be picked up along the way.
>
>And that make good sense, as everyone here should appreciate. So you
>don't know anything about some wacky programming language they want you
>to use, but you know SICP inside-out. No problem -- you really *will*
>learn it.
>
>The problem is how to sort out who can learn the new stuff and who
>can't. I don't know how to do that, but asking "puzzle" type questions
>is probably reasonable. Maybe dropping the candidate a manual for
>something an hour before the interview and then asking open-book
>questions about it is a good way too.
>
>I've only once formally interviewed someone (the local university wanted
>an outside interviewer for confirmation about a particular candidate)
>but I came up with a question that I thought was quite a good one:
>
> What is the total mass of the Earth's atmosphere?


hmm I'm not sure i could have answered that question with any accuracy ! I
guess i would start by getting an estimate of the earth's surface
4*pi*6000^2) in km^2 . Multiply by 15km ( i imagine that most of the
athmosphere is concentrated under that height) to get the approximate
volume. The problem now is that i have no idea of the volumetric mass of air
:( i wouldn't be able to go much further. ( not in the span of 5 minutes
anyways).

how would have i fared ? :)

Evan Prodromou

unread,
May 5, 2001, 1:39:06 AM5/5/01
to
>>>>> "t" == thi <t...@glug.org> writes:

t> Evan Prodromou <ev...@debian.org> writes:

Oh, crappity-crap. I accidentally left my Debian nametag on when
posting this message. If it isn't otherwise obvious, my opinions on
this matter are not those of the Debian project and I'm not speaking
in my role as a Debian maintainer.

t> i've found liberal arts majors who become programmers to be
t> heavy on the metaphorical, which can be useful if the problem
t> domain supports easily maintained abstractions. however, such
t> programmers often shirk the gritty details and when it comes
t> down to it, indulge mostly in hiding their lack of grounding
t> (w/ more metaphors). ymmv.

That's an interesting assertion. I'm having a hard time picturing what
kind of programming ("the gritty details") -isn't- about metaphors and
abstractions. The best I'm coming up with is, like, hardware control
stuff. Even that is fairly abstract ("If I put this instruction number
into the 'port' the little man on the other end of the 'port' will do
what I tell him to do").

Sadly, I don't even have the excuse of being a liberal arts major to
blame for my over-abstracting, having done physics in college oh so
many years ago.

Thant Tessman

unread,
May 5, 2001, 1:01:58 PM5/5/01
to

sulfugor wrote:
>

> > What is the total mass of the Earth's atmosphere?

[...]

> The problem now is that i have no idea of the volumetric mass of air
> :( i wouldn't be able to go much further. ( not in the span of 5 minutes
> anyways).

Not to ruin this as an interview question, but I think all you need to
know is that air pressure is (I think) 14 pounds per square inch at sea
level. Mulitply that by the surface area of the earth (in squre inches)
and you get the total weight of the atmosphere. Of course not all of the
earth's surface is at sea level, and weight and mass are two different
things, but if you're just looking for a rough approximation this should
give you an okay answer.

My problem would have been that I had no clue what the earth's radius
is, and converting from pounds to kilograms or meters to inches is not
something I can do without the conversion chart on the back of my
HP-15C, and I'd probably screw it up anyway (which is why I'm not
attempting to provide an answer here).

-thant

Boris Smilga

unread,
May 5, 2001, 1:47:45 PM5/5/01
to
Thant Tessman <th...@acm.org> writes:

> Not to ruin this as an interview question, <...>

Sorry. You did it.

> <...> but I think all you need to


> know is that air pressure is (I think) 14 pounds per square inch at sea

> level. <...>

> My problem would have been that I had no clue what the earth's radius
> is, and converting from pounds to kilograms or meters to inches is not
> something I can do without the conversion chart on the back of my
> HP-15C, and I'd probably screw it up anyway (which is why I'm not
> attempting to provide an answer here).

The radius of the Earth is approximately 6.5 thousand km (in fact, the
original definition of metre is 1/40,000,000-th of the double length
of the Paris meridian).

An inch is 2.54 cm and a pound is 453-something grams. That is, the
surface atmospheric pressure in kg/cm^2 shall be just about 1.

The rest is dull.

Yours,
-BSm.

Thant Tessman

unread,
May 5, 2001, 2:07:43 PM5/5/01
to

Boris Smilga wrote:
>
> Thant Tessman <th...@acm.org> writes:
>
> > Not to ruin this as an interview question, <...>
>
> Sorry. You did it.

I'll replace it with another one. It's not as hard (I got it :-), but it
still might be useful if you ask for a good explanation of the answer.

A guy is sitting in a boat holding a bowling ball. The boat is floating
in a swimming pool. If the guy throws the bowling ball overboard into
the swimming pool, will the pool's water level rise or fall?

-thant

Jon Jacky

unread,
May 5, 2001, 3:22:40 PM5/5/01
to

Evan Prodromou <ev...@debian.org> writes:

> EB> McDonald's employees know all about queueing events.
>
> I'd hire a good burger-flipper, sure.

You're not the only one. A friend of mine reports this experience:

Interviewer: So you'd like to be a computer operator.

My friend: Yes.

Interviewer: What are you doing now?

My friend: I'm a short order cook.

Interviewer: You're hired!

Jon Jacky, j...@u.washington.edu

Rob Warnock

unread,
May 5, 2001, 11:52:03 PM5/5/01
to
Thant Tessman <th...@acm.org> wrote:
+---------------

| A guy is sitting in a boat holding a bowling ball. The boat is floating
| in a swimming pool. If the guy throws the bowling ball overboard into
| the swimming pool, will the pool's water level rise or fall?
+---------------

Cute one! I almost got tricked into a flippant (and wrong!) answer.


-Rob

-----
Rob Warnock, 31-2-510 rp...@sgi.com
SGI Network Engineering <URL:http://reality.sgi.com/rpw3/>
1600 Amphitheatre Pkwy. Phone: 650-933-1673
Mountain View, CA 94043 PP-ASEL-IA

Evan Prodromou

unread,
May 5, 2001, 2:19:33 PM5/5/01
to
>>>>> "EB" == Eli Barzilay <e...@barzilay.org> writes:

EB> I have seen one two many uneducated (in CS) programmers who
EB> didn't even realize the concept of runt-time (making their
EB> program fail miserably when moving from toy test data to a
EB> customer).

I have seen way too many CS-educated programmers who do shitty work
all their lives. What does that prove?

Obviously both program-as-text and program-as-machine are
important. Writing code with lovely variable names, elegant structure
and transparent meaning, but that doesn't load, is a waste of
time. Writing code that rips through data like a buzz saw but can't be
read, re-used or maintained is also a waste of time.

Me> No, but I'd hire a network consultant who got a degree in
Me> plumbing. I wouldn't demand that he had a degree in... whatever
Me> it is they give people degrees in so they can become networking
Me> folks.

EB> If you were making a precondition to this that the plumber
EB> *looked* more intelligent or whatever, I would at least see
EB> some vague logic. Without it, I'm completely lost on this
EB> kind of reasoning.

All I'm saying is that formal training in CS (or is it IT for network
whoozits? whatever) is definitely -not- a pre-req for me hiring
people.

Given the choice between a qualified person with a non-CS college
major (demonstrated skill, good experience, good sample code, good
answers to interview questions) and an unqualified person with a CS
degree (can't show good problem-solving ability, bad sample code, no
experience, poor interview), I'd take the qualified person without a
degree.

Two equally qualified people, and one has a CS degree and the other
has a degree in film? That's a hard one. I'd like to throw you a bone
and say I'd pick the person with the fine CS degree, but in reality
I'd probably pick the person who'd be most likely to hang out and have
beers after work. B-) But, OK, I'll give the guy with the CS degree a
break, just because he was one of your students and I respect you.

EB> Either you stopped reading my reply a this point or you're at
EB> a completely different wavelength. The list is completely
EB> irrelevant to this discussion just because it is relevant to
EB> both fields (and many others).

Well, I can't seem to get it through your head that that's not true,
so maybe that point becomes moot. I think I said that those were
primary qualities of writing, and ancillary qualities of (say)
mathematics. You disagree, and I think we're at an impasse.

Eli Barzilay

unread,
May 6, 2001, 11:23:36 PM5/6/01
to
Evan Prodromou <ev...@prodromou.san-francisco.ca.us> writes:

> >>>>> "EB" == Eli Barzilay <e...@barzilay.org> writes:
>
> EB> I have seen one two many uneducated (in CS) programmers who
> EB> didn't even realize the concept of runt-time (making their
> EB> program fail miserably when moving from toy test data to a
> EB> customer).
>
> I have seen way too many CS-educated programmers who do shitty work
> all their lives. What does that prove?

That they didn't really study. I'm not claiming any generalizations
of specific examples make sense but that generally CS education should
give people a good head start. If some people choose to do nothing
but the minimum to graduate (...AND I NEVER HAVE TO SEE SCHEME
AGAIN...) then that's their problem and this is what you interview
them for (not that they can pass that and still be ignorant...).


> All I'm saying is that formal training in CS (or is it IT for
> network whoozits? whatever) is definitely -not- a pre-req for me
> hiring people.

I think you'd agree that almost nothing is a pre-req (besides stuff
like "have brain" etc).


> Given the choice between a qualified person with a non-CS college
> major (demonstrated skill, good experience, good sample code, good
> answers to interview questions) and an unqualified person with a CS
> degree (can't show good problem-solving ability, bad sample code, no
> experience, poor interview), I'd take the qualified person without a
> degree.

Naturally. I would too. The point is that on average, CS grads would
have more chance of impressing you making *this* fact false is saying
that teaching is useless.


> Two equally qualified people, and one has a CS degree and the other
> has a degree in film? That's a hard one. I'd like to throw you a
> bone and say I'd pick the person with the fine CS degree, but in
> reality I'd probably pick the person who'd be most likely to hang
> out and have beers after work. B-) But, OK, I'll give the guy with
> the CS degree a break, just because he was one of your students and
> I respect you.

Well, beers after work is not something that CS people miss (I hardly
never saw and "typical" geeks in CS). But in that case I would get
the CS person because I probably didn't cover all things in my
interview, which leaves the other areas a question mark for both and
continuing the same reasoning as above, the CS guy has better chances
there. If I would be completely sure that the two-weeks 8-hour-a-day
interview that I made was covering everything possible, and still
they're equal, I'd go for the one I'd like to hang out with too.


> ... I think I said that those were primary qualities of writing, and


> ancillary qualities of (say) mathematics. You disagree, and I think
> we're at an impasse.

It definitely sounds like you didn't do a lot of math... Yes you did
say that, and yes I do disagree very strongly. Strong enough to
reiterate: your list of points has no relevance to English more than
it is relevant to Math.

David Rush

unread,
May 8, 2001, 5:02:37 AM5/8/01
to
Evan Prodromou <ev...@prodromou.san-francisco.ca.us> writes:
> >>>>> "DME" == David M Einstein <Dei...@world.std.com> writes:
>
> DME> Don't knock english majors. It is a damn sight easier
> DME> to teach an english major to program than it is to teach a CS
> DME> major to write.
>
> Actually, I've found that good writers very often make better
> programmers than good math or engineering folks. The process of
> creating a program is much more analogous to writing a clear, concise
> essay than it is to making a bridge or proving a theorem.

FWIW, My first boss told me that, if he had his way, he would hire
no-one who couldn't demonstrate the ability to write a clear
explanatory paragraph. Programming lies at an interesting junction
between literature and mathematics, as various of our luminaries
(Knuth, etc.) have shown.

david rush
--
The important thing is victory, not persistence.
-- the Silicon Valley Tarot

David Rush

unread,
May 8, 2001, 5:29:23 AM5/8/01
to
Eli Barzilay <e...@barzilay.org> writes:

> I think that enough time has
> passed having CS around for it to be mature enough to avoid such
> obvious things as "studying X is good for programming and we don't
> teach it". I have never seen anyone who thinks that students are
> being taught too much CS and they should get more education in
> literature or something instead of some CS material - all CS programs
> I have seen were extremely intense, and all teachers were constantly
> facing the problem of trying to teach more stuff while what they get
> to is less than they wanted.

For myself, I'm not terribly sure that a four-year degree is the right
model for programming education. To me Real Programming seems like it
requires (from a standpoint of the complexity of the field) the
equivalent of an MD or Law degree. There are similiar ongoing
challenges to the practicing professional, both in liability and
ongoing education issues.

But the invisible hand of the market will be served. One can only hope
that the quacks, charlatans, and frauds will die under the weight of
their maintenance obligations.

david rush
--
In a tight spot, you trust your ship or your rifle to get you through,
so you refer to her affectionately and with respect. Your computer? It
would just as soon reboot YOU if it could. Nasty, unreliable,
ungrateful wretches, they are. -- Mike Jackmin (on sci.crypt)

David Rush

unread,
May 8, 2001, 8:06:11 AM5/8/01
to
Evan Prodromou <ev...@prodromou.san-francisco.ca.us> writes:
> Writing code that rips through data like a buzz saw but can't be
> read, re-used or maintained is also a waste of time.

The re-use clause above is not merely inaccurate, it is downright
wrong. One of the most common characteristics of very fast code is
that is rather less re-usable (interfaces are usually more
specialized). It is also frequently less easy to read as faster
algorithms often do rather un-obvious things to minimize the amount of
work necessary. Maintenance is really a matter of *cost*. Anything can
be maintained, the question is how much money (programmer
hours/stomach lining/...) do you want to spend on changing a working
system rather than rewriting it. Of course clear *natural-language*
documentation can ameliorate all of the above, but clever code is
inherently hard to work with. By definition, really...

Hey babe, talk a walk on the server side...

david rush
--
Java is a WORA language! (Write Once, Run Away)
-- James Vandenberg (on prog...@egroups.com)

Thant Tessman

unread,
May 8, 2001, 10:00:09 AM5/8/01
to

David Rush wrote:

[...]

> For myself, I'm not terribly sure that a four-year degree is the right
> model for programming education. To me Real Programming seems like it
> requires (from a standpoint of the complexity of the field) the
> equivalent of an MD or Law degree. There are similiar ongoing
> challenges to the practicing professional, both in liability and
> ongoing education issues.

Er...I appreciate all the great textbooks and papers and software these
professors are writing, and some of my best friends have CS degrees, but
to those of us who have no formal training in the profession at all,
this smells like the makings of a protection racket.


> But the invisible hand of the market will be served. One can only hope
> that the quacks, charlatans, and frauds will die under the weight of
> their maintenance obligations.

Luckily, the ability to program is difficult to fake. What seems rare
and amorphous is the ability to design.

-thant

David Rush

unread,
May 8, 2001, 10:10:00 AM5/8/01
to
Evan Prodromou <ev...@prodromou.san-francisco.ca.us> writes:
> Writing code that rips through data like a buzz saw but can't be
> read, re-used or maintained is also a waste of time.

Hey babe, talk a walk on the server side...

David Rush

unread,
May 8, 2001, 12:38:59 PM5/8/01
to
Thant Tessman <th...@acm.org> writes:

> David Rush wrote:
> > equivalent of an MD or Law degree. There are similiar ongoing
> > challenges to the practicing professional, both in liability and
> > ongoing education issues.
>
> to those of us who have no formal training in the profession at all,

Well, I *said* I was a college drop-out, you know.

> this smells like the makings of a protection racket.

I used to feel that way. I don't know if I would actually find the
notion of getting an official certification of my skills. Mostly I was
looking at the amount of ongoing effort I spend to keep up on the
esoterica of the biz, plus the effort I put into just getting better
at architecture, design and programming and comparing it to other
'professionals'.

This is closely related to my opinions about attempting to manage
software development according to manufacturing industry principles
(which is an immediate cause of my initial _Kids These Days_ rant). I
*don't* think that software development *as a field* has even really
reached "craftsmanship" standard work. Industrial-style management in
such a poorly understood field is madness.

Personally, I think there is a lot to be said for the apprenticeship
model of skills development in the computer field. Probably the
biggest help I ever got was working for a couple of humble PhDs in my
first job (as part of a Uni. co-op program -- I dropped out of school
to join their start-up). They were very ready to adopt my ideas, but
they were very good at explaining how to make my ideas work *better*.
Unfortunately, I just don't see any economic reasons why
apprenticeship should evolve from the current state of the computer biz.

david rush
--
From the start...the flute has been associated with pure (some might
say impure) energy. Its sound releases something naturally untamed, as
if a squirrel were let loose in a church." --Seamus Heaney

Will Clinger - Sun Microsystems

unread,
May 8, 2001, 1:45:32 PM5/8/01
to
Thant Thessman:

> It's not as hard (I got it :-), but it
> still might be useful if you ask for a good explanation of the answer.

Explanation? What part of "no" don't you understand?

Will

Rob Warnock

unread,
May 8, 2001, 11:08:42 PM5/8/01
to
David Rush <ku...@bellsouth.net> wrote:
+---------------

| FWIW, My first boss told me that, if he had his way, he would hire
| no-one who couldn't demonstrate the ability to write a clear
| explanatory paragraph. Programming lies at an interesting junction
| between literature and mathematics, as various of our luminaries
| (Knuth, etc.) have shown.
+---------------

Personally, I still think Dijkstra said it best:

Besides a mathematical inclination, an exceptionally good
mastery of one's native tongue is the most vital asset of
a competent programmer.[*]

(And English wasn't even his native tongue!)


-Rob

[*] One of the "truths" in EWD 498 "How do we tell truths that might
hurt?", pp.129-131 in Edsger W. Dijkstra, "Selected Writing
on Computing: A Personal Perspective" (Springer Verlag, 1982)
ISBN 0-387-90652-5. Scanned version of original monograph at
<URL:http://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF>

Evan Prodromou

unread,
May 8, 2001, 1:24:24 PM5/8/01
to
>>>>> "DR" == David Rush <ku...@bellsouth.net> writes:

>> Writing code that rips through data like a buzz saw but can't
>> be read, re-used or maintained is also a waste of time.

DR> The re-use clause above is not merely inaccurate, it is
DR> downright wrong.

OK, well, maybe I was a little absolutist there. Unmaintainable,
over-"optimized" code isn't necessarily a COMPLETE waste of time. In
fact, every organization can benefit from an over-performing POS
program that's completely brittle, opaque, and unreadable, if merely
as an object lesson in how not to program.

Seth Gordon

unread,
May 9, 2001, 10:20:52 AM5/9/01
to
"Robert S." wrote:
>
> In my 25+ years, (and about 10 different jobs), I have NEVER been asked a
> technical question on a job interview!

This may lift your spirits a little bit:

The last time I went job-hunting, I mentioned on my resume that I had
written a parser for MIF (Adobe FrameMaker Interchange Format) using
Parse::RecDescent. At one company, one of the interviewers grilled me
about the difference between a yacc-style parser and a recursive-descent
parser. He concluded by saying, "You're one of only about a dozen
people in this company who could implement a compiler."

Unfortunately, they were really looking for a tech writer, not a programmer.

Seth Gordon

unread,
May 9, 2001, 10:31:48 AM5/9/01
to
Eli Barzilay wrote:
>
> Matthias Felleisen <matt...@rice.edu> writes:
>
> > [...] You do need to understand, however, that grades are assigned
> > to students by the university _not_ the professors. If a student
> > doesn't like the grade, he sues, and the university president
> > changes the grade. [...]
>
> This is amazing! Is this really happening (students suing for better
> grades)? Is there any text on the web about such cases?

When my wife was a chemistry TA at a certain three-letter institution in
Cambridge, she encountered a few blatant cases of cheating. (In one
case, text in a student's lab report had been plagiarized from a paper
in the _Journal of Chemical Education_.) The department had absolutely
no interest in disciplining the students. I don't think they were
afraid of a lawsuit -- they just would rather "keep the customer
satisfied" than deal with angry calls from Mommy and Daddy about how
their darling is being persecuted by the school they're spending so much
money on. And this was a lab course for chemistry and
chemical-engineering majors.

After seeing how the pre-meds in her undergraduate school got through
their chemistry classes, she also won't trust any doctor from their
generation, either.

--seth

David Rush

unread,
May 10, 2001, 4:08:32 AM5/10/01
to
Evan Prodromou <ev...@prodromou.san-francisco.ca.us> writes:
> >>>>> "DR" == David Rush <ku...@bellsouth.net> writes:
> >> Writing code that rips through data like a buzz saw but can't
> >> be read, re-used or maintained is also a waste of time.
>
> DR> The re-use clause above is not merely inaccurate, it is
> DR> downright wrong.
>
> OK, well, maybe I was a little absolutist there.

And missing the point here.

> Unmaintainable,

Doesn't exist. Too expensive to maintain does. I've spent too much
time on code that should be tossed because it was too expensive to
replace. Unfortunately, I wasn't able to make the cost of maintenance
high enough to convince management to drop the support. Ultimately, I
quit.

> over-"optimized" code

Doesn't exist. Again it's a cost/benefit thing. Try and build a web
search engine (and processes) that can do a complete crawl (of 2+
Terabytes of docs) and DB update more than once/week and see how you
feel about optimization. I haven't had to work this hard to get the
last cycle of performance out of my code since I was doing ISO layers
on top of 8086s.

Doing it and staying elegant is a *real* challenge.

> isn't necessarily a COMPLETE waste of time.

Optimization constraints vary with markets. I've worked in markets
where time-to-delivery was the *most* important constraint. There *are*
architectural problems which arise from worshipping re-use, you know.

> program that's completely brittle, opaque, and unreadable,

I advocated none of the above. I merely suggested limits on your
statements, coupled with my observation that code that performs better
is nearly always less "obvious" in its algorithms. External
documentation is really the only answer to the maintenance
problem. Re-use is an engineering issue whose trade-offs need to be
understood in the context of product architecture and wider corporate
strategies.

david rush
--
Property is theft.
-- What is Property? (Pierre-Joseph Proudhon)

a@b.c

unread,
May 12, 2001, 3:44:25 PM5/12/01
to
On Tue, 08 May 2001 13:45:32 -0400, Will Clinger - Sun Microsystems
<william...@east.sun.com> wrote:

>Explanation? What part of "no" don't you understand?

Are you so sure? The ball is dense. It rests on the bottom of the pool. It
doesn't displace much water. When it was in the boat, it made the boat
heavier. The boat doesn't rest on the bottom, so the full effect of that
extra weight is displacing water. The water being displaced has to go
somewhere, and there is nowhere for it to go but to raise the level of the
pool. Therefore throwing the ball into the pool should lower the level of
the pool, because the ball is no longer having as much effect.

Or is this a trick question? Does the water go through a Unix pipe or
something?

David Lloyd-Jones

unread,
May 26, 2001, 11:35:34 PM5/26/01
to
"Evan Prodromou" <ev...@prodromou.san-francisco.ca.us> wrote

Surely it's obvious that most "reusable code" is not reused. There are two
reasons for this: most reusable code is still pretty shoddy code, and not
really worth passing around. In any event the overhead of informing the
whole world what code is available and just how it works is a very high
percentage of the cost of writing code from scratch.

I don't know of any research showing whether that percentage is over or
under 100 -- but I think it is unproven that reusing code pays overall. Do
we build our cars out of parts from old cars? Nope: building cars by reusing
parts is a cult activity of a few car nuts. Special purpose libraries of
widely usable code are sold, not bought.

While we're at it, very little code is used on more than one platform, the
one it is first written for. Thus there is very little overall cost from
people testing Java on many many machines: nobody bothers, because Java,
like any other language, is used for the job at hand. Period.

Finally, Evan, slick code is neat. If you have a problem with it -- as I
often do -- the complaint is not with the hand-knitted optimization but with
the lack of in-line documentation, like the occasional witty comment, in the
source.

-dlj.


Evan Prodromou

unread,
May 28, 2001, 8:34:25 PM5/28/01
to
>>>>> "DL" == David Lloyd-Jones <dav...@sympatico.ca> writes:

DL> Surely it's obvious that most "reusable code" is not
DL> reused.

Surely you're aware that 80% of the work done on a piece of code is
done AFTER the first release? So that readability and maintainability
are absolutely CRUCIAL in terms of time, money and effort? And that
working hard to make the text readable and maintainable the first time
through can pay off 3- or 4-fold in the long term?

DL> Finally, Evan, slick code is neat. If you have a problem with
DL> it -- as I often do -- the complaint is not with the
DL> hand-knitted optimization but with the lack of in-line
DL> documentation, like the occasional witty comment, in the
DL> source.

I think you've come around in a circle, David. Well-documented code is
a good, readable piece of text, which was my main point.

Reply all
Reply to author
Forward
0 new messages