Lisp (and other language) teaching again

26 views
Skip to first unread message

Tim Bradshaw

unread,
Feb 25, 2000, 3:00:00 AM2/25/00
to
I asked some questions a little while ago about lisp teaching and so
forth, and got some useful answers, thanks.

Following some recent fairly depressing experiences to do with
teaching, I'm beginning to wonder a bit more broadly about this whole
kind of area. Not all of this is relevant to c.l.l I guess, but
anyway.

I wonder if *any* useful computer language teaching goes on in
academia? I wonder this for several reasons.

(1) My own (small) experience is that language teaching is basically
done by people who don't know the language for people who don't
care about it. I think that this comes down to the fact that the
good people all leave to make money elsewhere or otherwise don't
want to put up with the nightmare that is teaching in academia.

(2) I'm trying to think if *any* good programmers I know learnt to
program by being taught in university while studying a computing
discipline. Some certainly learnt while there, but they weren't
being taught, or weren't doing computing.

(3) Academic computer science is basically so fouled up as a
discipline for all the obvious reasons that it's hardly surprising
that people don't learn.

(4) Perhaps university is not even where people should learn to
program. Physicists don't learn a trade in any reasonably sense,
why should CS people? (Of course, physicists learn *something*
useful, which it seems to me that in many cases CS people may not
alas, because of (3).)

Obviously there are lights shining in the darkness, but it seems to me
not many.

Well, I think that computer language teaching is important --
specifically lisp teaching of course. And some people do learn. But
how? And if `we' (whoever `we' are) think it is important to teach
Lisp, what do we do? I've recently been trying to assist with
University teaching, and I'd rather hammer nails into my head than do
that again. Even if it wasn't for the unpleasantness of it all
(academics have always been a pretty rum lot, but when did students
turn into such shits?), there seems to be a serious bootstrap problem:
how do you raise the standard when no one involved knows *anything*?
It's like trying to teach cats calculus, where do you start?

So perhaps the answer is just to ignore academia. Erik Naggum (I
think, sorry if I'm misremembering) has suggested here that people
`graduate into' Lisp of their own accord. Perhaps that's right. But
how do we help that?

In general: I'm interested in teaching / training, what should I do?
The experience of trying to do things to help universities has so far
left me wanting to hit people, which is very upsetting because I
really *like* teaching Lisp and other stuff, and I also have a load of
evidence that I'm *good* at it. It's incredibly frustrating.

OK, well that's enough whining for today.

--tim

(Bizarrely, I can safely post to a newsgroup when I don't feel able
mail the people concerned and explain to them just how much I would
like to bludgeon them into a pulp, since they're all so far out of it
that they don't read c.l.l or anything...)


not.fo...@not.for.spam

unread,
Feb 25, 2000, 3:00:00 AM2/25/00
to
On 25 Feb 2000 20:50:37 +0000, Tim Bradshaw <t...@tfeb.org> wrote:

>So perhaps the answer is just to ignore academia. Erik Naggum (I
>think, sorry if I'm misremembering) has suggested here that people
>`graduate into' Lisp of their own accord. Perhaps that's right. But
>how do we help that?

Allegro costs thousands of dollars. People don't pay thousands of
dollars to "graduate" into something whose value seems dubious
to them. You need a lot of Lisp experience to really appreciate its
value. But you need to be able to use it for your work to gain that
experience. It's like an exclusive club that claims to welcome new
members but has a heavy iron gate at the entrance. If only a few
people can open the gate, and most of those don't feel welcome
even when they open it, you can expect the club to remain exclusive.

To teach Lisp in a classroom, you have to find a way to motivate the
students. For example, make them pay money to join the class, and
refund the money to those who do the work. Give them lots of work
to do, because the more they do, the more they will appreciate
learning enough Lisp to make their work easier. Give them lots of
redundant work, and some hints of ways to make it easier. Those
who ignore the hints will either endure the tedium or drop out. If
they stick with it, they will eventually learn to take the hints. The
hints should be things they should learn, but should leave them on
their own for learning them, because people learn new ideas much
better on their own than when a professor tries to cram the ideas
down their throats.

Learning is much harder than most people realize. Most professors
think their students are lazy. But students are just like everyone else.
Things you haven't learned yet seem very difficult, no matter how
simple they seem after you learn them. For that reason, the amount
of motivation required is a lot more than most people think. And to
find ways to make that motivation happen is what makes the difference
between a good professor and a bad one.


Robert Monfera

unread,
Feb 25, 2000, 3:00:00 AM2/25/00
to

To not for whatever:

Come on, are you complaining about iron gates when you walk around in a
black mask?

Robert

Harald Hanche-Olsen

unread,
Feb 25, 2000, 3:00:00 AM2/25/00
to
+ Tim Bradshaw <t...@tfeb.org>:

| (4) Perhaps university is not even where people should learn to
| program. Physicists don't learn a trade in any reasonably
| sense, why should CS people?

Bingo, I think. Let them learn some mathematics (including logic,
lambda calculus, graph theory). Let them learn to communicate clearly
in their own language (and English, if that isn't their own language).
And by all means, let them learn the rudiments of programming:
algorithms and data structures, and let them try to wrap their brains
around the most important programming paradigms - imperative,
functional, object oriented, declarative and whatever. They'll have
to learn the rudiments of quite a few programming languages to manage
all of that, but it should be made clear that the purpose is to learn
general principles, not to learn programming as a marketable skill.

| (Of course, physicists learn *something* useful, which it seems
| to me that in many cases CS people may not alas,

Heh. In my own institution, there was a big fight a few years back
over whether the beginning students should be taught Java or C++, with
the expected arguments on either side. One CS professor actually had
the audacity to suggest Scheme, but unfortunately the guy is Polish so
he *surely* didn't know what he was talking about, and hence was
generally ignored.

Anyway, what do I know? Though I am in academia myself, I am a
mathematician (and maybe it shows from the above), not a CS person.
In my own field, we certainly don't expect our students to emerge
ready to tackle hard problems in mathematics. We're happy if they
have enough theoretical baggage and some notion how to apply it if
pointed in the right direction. With time and experience, they can
learn how to do the pointing themselves.
--
* Harald Hanche-Olsen <URL:http://www.math.ntnu.no/~hanche/>
- "There arises from a bad and unapt formation of words
a wonderful obstruction to the mind." - Francis Bacon

Gareth McCaughan

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
"not.fo...@not.for.spam" wrote:

> On 25 Feb 2000 20:50:37 +0000, Tim Bradshaw <t...@tfeb.org> wrote:
>
>> So perhaps the answer is just to ignore academia. Erik Naggum (I
>> think, sorry if I'm misremembering) has suggested here that people
>> `graduate into' Lisp of their own accord. Perhaps that's right. But
>> how do we help that?
>
> Allegro costs thousands of dollars. People don't pay thousands of
> dollars to "graduate" into something whose value seems dubious
> to them. You need a lot of Lisp experience to really appreciate its
> value. But you need to be able to use it for your work to gain that
> experience.

Nope. You can do it in your spare time. I conjecture that
most of the best software people write code and learn
languages and do other such things in their spare time.

> It's like an exclusive club that claims to welcome new
> members but has a heavy iron gate at the entrance. If only a few
> people can open the gate, and most of those don't feel welcome
> even when they open it, you can expect the club to remain exclusive.

Who can't open the gate? You can't mean just that Allegro CL
is expensive, because there's CMUCL and CLISP and Corman Lisp
and GCL and various other free and cheap implementations.
(Not to mention the unCommon lisps like Emacs Lisp and Scheme,
which also have plenty of free and cheap implementations and
might serve to whet someone's appetite for CL.)

[SNIP: remarks about teaching and motivating, which seem
plausible enough.]

--
Gareth McCaughan Gareth.M...@pobox.com
sig under construction

Robert Strandh

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
> I wonder if *any* useful computer language teaching goes on in
> academia? I wonder this for several reasons.

It might be useful to distinguish between the teaching of _languages_
and the teaching of _programming_, or at least not to mix them up
entirely.

> (1) My own (small) experience is that language teaching is basically
> done by people who don't know the language for people who don't
> care about it. I think that this comes down to the fact that the
> good people all leave to make money elsewhere or otherwise don't
> want to put up with the nightmare that is teaching in academia.

The situation is probably quite bad, but not as bad as your
unfortunate experience. Here in Bordeaux, we have a small core of
passionate teachers of programming who know their languages fairly
well, though not everyone falls into this category. In various
courses we use C, Java, Common Lisp, ML, and C++. We try not to make
the language itself the central part of the course, but to use it to
illustrate important programming concepts. This takes the pressure
off to present the entire language, and is more relevant in general.

Also, none of the teachers here have left to make more money
elsewhere, and while teaching can be hard and sometimes discouraging
here, describing as a nightmare would be a gross exaggeration.

> (2) I'm trying to think if *any* good programmers I know learnt to
> program by being taught in university while studying a computing
> discipline. Some certainly learnt while there, but they weren't
> being taught, or weren't doing computing.

I am sure you are right here (notice that you are no longer talking
about languages, but programming), and I basically think it is
impossible to be _taught_ to program in any kind of course.
Acquiring programming skill takes practice. The best we can do is to
give the students the basic ability to go off and practice. A large
part of that, is giving the students the _desire_ to learn to program.

> (3) Academic computer science is basically so fouled up as a
> discipline for all the obvious reasons that it's hardly surprising
> that people don't learn.
>

> (4) Perhaps university is not even where people should learn to
> program. Physicists don't learn a trade in any reasonably sense,

> why should CS people? (Of course, physicists learn *something*


> useful, which it seems to me that in many cases CS people may not

> alas, because of (3).)
>

Academic disciplines such as physics and chemistry teach very little
stuff directly useful in industry. Instead they teach scientific
methods and knowledge.

CS, on the other hand, is expected to provide immediately useful
knowledge _and skills_. While we could do that, it would require some
radical changes in the way CS is organized. Currently in CS, teachers
are hired as in other disciplines, i.e. from PhD programs. While that
works in chemistry and physics, where the teachers are expected to
teach subjects similar to what they learned during their own
education, or similar to their research topics, it fails completely in
CS. In many places CS teachers are hired based on their qualities as
researchers (sometimes theoretical research), which usually means that
they have neither training nor experience to teach programming.

There are two possible solutions to this problem, both unsatisfactory:

- Accept that CS teaching should be based on scientific research and
only teach the theoretical basis. Leave programming to other
institutions, like community colleges in the US. The problem is
that such potential institutions would often be even less qualified
to teach programming.

- Hire faculty that have the training and experience to teach
programming and other practical disciplines. That would require
a total change in policy on the part of universities.

> Obviously there are lights shining in the darkness, but it seems to me
> not many.
>
> Well, I think that computer language teaching is important --
> specifically lisp teaching of course. And some people do learn. But
> how? And if `we' (whoever `we' are) think it is important to teach
> Lisp, what do we do? I've recently been trying to assist with
> University teaching, and I'd rather hammer nails into my head than do
> that again. Even if it wasn't for the unpleasantness of it all
> (academics have always been a pretty rum lot, but when did students
> turn into such shits?), there seems to be a serious bootstrap problem:
> how do you raise the standard when no one involved knows *anything*?
> It's like trying to teach cats calculus, where do you start?

I don't know what makes you call the students "shits" (mine certainly
aren't), but here are some problems that I have seen.

CS has the problem that essentially the same tools are used to create
toys and real systems. It is therefore easy to think that if you can
create a toy, you can also create real systems.

Many of the students who come to CS know how to write toy programs,
and they are convinced that they _almost_ know how to write real
systems. The students in this category mainly come to get a degree.
When given a course in advanced programming, they realize that they
the course doesn't correspond to what they thought CS was about, or
even what _programming_ was about. An unfortunate reaction (but
rather natural, according to a psychologist I know) is to accuse the
teacher of teaching irrelevant stuff.

To avoid such problems, you could make sure your applicants are better
informed when choosing CS. As a teacher, you must also be credible.
The argument from students that some languages are not used in
industry, and therefore should not be taught, must be countered by a
credible argument that the students, once they have their degrees, can
actually influence what languages are used in industry, for instance
by using a different one themselves.

> So perhaps the answer is just to ignore academia. Erik Naggum (I
> think, sorry if I'm misremembering) has suggested here that people
> `graduate into' Lisp of their own accord. Perhaps that's right. But
> how do we help that?

I still think academia has a rôle to play. I do think that

- while academia can't teach _experience_ (it has to be acquired),
we can expose students to techniques, methods, and languages that
we think are relevant, and hope that the students remember some of
them (and especially read about them) later in life. Some do,
some don't.

- there should be a university program at the doctoral level for
developers. It would start off with basic CS training (mixed with
_some_ programming), and finish with projects lasting at least 6
months mixed with literature research, code reading, etc.

> In general: I'm interested in teaching / training, what should I do?
> The experience of trying to do things to help universities has so far
> left me wanting to hit people, which is very upsetting because I
> really *like* teaching Lisp and other stuff, and I also have a load of
> evidence that I'm *good* at it. It's incredibly frustrating.

Perhaps it is frustrating, but hitting people just isn't going to fix
it. I am not sure what your experiences have been, but in general, if
you just go about your teaching the way you think it should be done,
things usually aren't that bad. If you aim for a higher goal, such as
convincing the people around you that your way is the right one, you
run in to various psychological reactions that are well known. I
recommend that you don't even try. If you do things well for fairly
long period of time, others will eventually listen.

What formal qualifications do you have? Perhaps you could come to
Bordeaux to teach?

--
Robert Strandh

---------------------------------------------------------------------
Greenspun's Tenth Rule of Programming: any sufficiently complicated C
or Fortran program contains an ad hoc informally-specified bug-ridden
slow implementation of half of Common Lisp.
---------------------------------------------------------------------

Fernando

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
On Fri, 25 Feb 2000 22:41:04 GMT, not.fo...@not.for.spam wrote:

>On 25 Feb 2000 20:50:37 +0000, Tim Bradshaw <t...@tfeb.org> wrote:
>

>>So perhaps the answer is just to ignore academia. Erik Naggum (I
>>think, sorry if I'm misremembering) has suggested here that people
>>`graduate into' Lisp of their own accord. Perhaps that's right. But
>>how do we help that?
>

>Allegro costs thousands of dollars. People don't pay thousands of
>dollars to "graduate" into something whose value seems dubious
>to them.

LispWorks is less expensive and has a less restrictive license. CMUCL
is free, Corman Lisp is very unexpensive.... This shouldn't be a
problem, IMHO.


//-----------------------------------------------
// Fernando Rodriguez Romero
//
// frr at mindless dot com
//------------------------------------------------

Tim Bradshaw

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
* Robert Strandh wrote:
>> I wonder if *any* useful computer language teaching goes on in
>> academia? I wonder this for several reasons.

> It might be useful to distinguish between the teaching of _languages_
> and the teaching of _programming_, or at least not to mix them up
> entirely.

Well, I think they are fairly entangled really, though my original
message was not clear about this (and many other things).

Learning the syntax and semantics of a programming language seems to
me a fairly finite and almost trivial task. I don't see why that
would be being taught in a University -- they might want to teach
techniques for learning new languages or for evaluating languages or
something.

But learning *why* the language takes various options depends on being
able to program. If you can't program, then learning a language,
especially one that has a significantly unusual attitude to various
issues, will seem a meaningless experience. And Lisp is particularly
vulnerable to this: it lives in part of the space of languages for
reasons that I believe can *only* be understood in the context of
being able to program well.

So really, learning to program is the thing you have to do. And as I
think you are agreeing, universities generally do not do that, both
because it's hard to do, but also because CS academics typically are
wrapped in theory and can't actually program themselves. So, if I'm
right above, they should not be teaching languages either.

> Academic disciplines such as physics and chemistry teach very little
> stuff directly useful in industry. Instead they teach scientific
> methods and knowledge.

This is clearly true. Yet people with physics degrees get jobs. If
CS did not (claim to) teach programming, would CS graduates be
employable? I don't see why they should not be, but I suspect they
would not. On the other hand being honest about the fact that they
are *not* taught programming might significantly improve the situation
in industry.

I think I basically agree with the rest of your article, except that
my conclusion is, I think, that programming will not be well taught in
Universities, and so if I like teaching I should probably spend my
time elsewhere.

> What formal qualifications do you have? Perhaps you could come to
> Bordeaux to teach?

Thanks, but I'm not in academia any more. I guess I was hoping that I
could maintain some involvement in teaching by having a relationship
with the university who was my former employer, but I think I need to
look for this involvement elsewhere.

--tim

Jonathan Coupe

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
Robert Strandh wrote:

> I don't know what makes you call the students "shits" (mine certainly
> aren't), but here are some problems that I have seen.
>
> CS has the problem that essentially the same tools are used to create
> toys and real systems. It is therefore easy to think that if you can
> create a toy, you can also create real systems.
>
> Many of the students who come to CS know how to write toy programs,
> and they are convinced that they _almost_ know how to write real
> systems. The students in this category mainly come to get a degree.
> When given a course in advanced programming, they realize that they
> the course doesn't correspond to what they thought CS was about, or
> even what _programming_ was about. An unfortunate reaction (but
> rather natural, according to a psychologist I know) is to accuse the
> teacher of teaching irrelevant stuff.

I'm *very* sure from the tenor of Robert's post that this he this doesn't
apply to him, but this is precisely the excuse I've heard given by some
truly clueless incompetents ("what's a binary search?") within the British
university system. You can't begin to teach "advanced" programming until
you've shipped a "advanced" system for real - and then you'd have to take to
big a pay cut to go back to university. I'd also suggest out that without
the constant exposure to the reality that shipping provides, you tend to
drift, get out of date, and believing that theory of the month club has more
answers than it has.

The best solution I can see is a return to the medieval guild system...
Failing that, I'd like to see more sudents *reading* code for real programs.
(Which I think would probably make for a definite trend towards Lisp - its
readability is what has made me love it most.)

Jonathan


Andrew Cooke

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
In article <ey3ema1...@tfeb.org>,
Tim Bradshaw <t...@tfeb.org> wrote:
[...]

> (4) Perhaps university is not even where people should learn to
> program. Physicists don't learn a trade in any reasonably sense,
> why should CS people? (Of course, physicists learn *something*
> useful, which it seems to me that in many cases CS people may not
> alas, because of (3).)
[...]

As a physicist with no formal computing education who moved into the
software industry, I am very conscious of having missed a fair amount.
If you don't do CS you have to (for example) go off by yourself and
learn about parsers - something so basic any CS grad would know it, but
something you don't pick up while working. (Or rather, when working
there may be a time when you think "hmmm - easiest if I use yacc here" -
but you wouldn't even think that unless you'd done CS (or tried to
compensate for not doing so)).

What I'm trying to say is that you probably underestimate (I assume you
did a CS degree) how little people who haven't done one know. People
like me try like crazy to fill in the gaps, but never know what we've
missed out on...

Andrew
http://www.andrewcooke.free-online.co.uk/index.html


Sent via Deja.com http://www.deja.com/
Before you buy.

Andrew Cooke

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
In article <38bafef1....@news.earthlink.net>,

not.fo...@not.for.spam wrote:
> To teach Lisp in a classroom, you have to find a way to motivate the
> students. For example, make them pay money to join the class, and
> refund the money to those who do the work. Give them lots of work

Bleagh?! How does having to pay for something make you want to do it?
Surely the problem is people doing degrees/courses that they don't want
to do. The people who want to learn will do so whether they pay or not
and, as someone who wants to learn, I'd rather do it for free.

From a different direction - if they don't want to learn they shouldn't
be there. But charging isn't a good way of keeping those people out,
because it makes life harder for those that do want to learn.

Andrew Cooke

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
In article <ey37lfs...@tfeb.org>,

Tim Bradshaw <t...@tfeb.org> wrote:
[...]
> Thanks, but I'm not in academia any more. I guess I was hoping that I
> could maintain some involvement in teaching by having a relationship
> with the university who was my former employer, but I think I need to
> look for this involvement elsewhere.

FWIW your contributions on c.l.l are appreciated.

Why not write a book? Maybe an illustration of different programming
paradigms, all written in Lisp (extended appropriately with elegant
macros), each chapter a different project. For the OOP part you could
do predicate dispatch in CLOS...

For some reason I think you're in Edinburgh. If so, you could always
teach numeracy skills at the Number Shop - not exactly rocket science,
but pretty rewarding (and certainly teaching). It helped me. [If
you're not in Edinburgh I guess similar projects exist elsewhere.]

Erik Naggum

unread,
Feb 26, 2000, 3:00:00 AM2/26/00
to
* not.fo...@not.for.spam

| Allegro costs thousands of dollars. People don't pay thousands of
| dollars to "graduate" into something whose value seems dubious to them.

*sigh* that is precisely why free versions of Allegro CL are given away
to those who want to try things out on their own. you knew this, so why
even make this wholly irrelevant argument?

#:Erik

Tim Bradshaw

unread,
Feb 27, 2000, 3:00:00 AM2/27/00
to
* not for email wrote:

> Allegro costs thousands of dollars. People don't pay thousands of
> dollars to "graduate" into something whose value seems dubious
> to them.

(I didn't read this bit earlier)

Rubbish. There are *free* versions of the current Allegro release for
Windows, Linux and freeBSD. Yes they have slight restrictions, no you
can't ship products using them, no these restrictions wouldn't hurt
someone wanting to learn the language.

Quite apart from that, you can get site licenses for academic use and
these are not prohibitive in my experience.

And quite apart from *that* there are several other implementations
which are free at all levels. None, perhaps, are as comprehensively
industrial strength as Allegro, but I'd expect them to be quite usable
for teaching.

--tim

not.fo...@not.for.spam

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
On 26 Feb 2000 03:26:55 +0000, Erik Naggum <er...@naggum.no> wrote:

> *sigh* that is precisely why free versions of Allegro CL are given away
> to those who want to try things out on their own. you knew this, so why
> even make this wholly irrelevant argument?

When a programmer investigates a new programming language
and programming environment, the very first thing he wants to see
is a program delivered from that environment. He wants to see if
he can give simple programs to friends, and if they will appreciate
those programs. The free version of Allegro is fine for learning
Lisp as a language, or for learning how to program with Allegro,
but the programmer who reaches the point of "graduating" to Lisp
has not yet reached the point of actually learning Lisp. First he has
to get past his own scepticism about Lisp, that it can't deliver
reasonable programs and is therefore not worth learning.

The free version of Allegro does not seem to have the capability
of delivering programs which the programmer can distribute. For
that reason alone, it fails the acceptance test of the vast majority
of programmers. They can't even write game programs for their
own kids, unless they load Allegro onto their computers too, and
show them how to use it.

Most programmers also want to be able to use programs in their
work which they wrote while learning something new. If they
can't use them in their work, they're less motivated to write them
in the first place. I don't mean programs to add to their product,
but programs to use with their development tools etc.

For that reason, if the value of Lisp seems dubious to a particular
programmer, he's not likely to "graduate" into it by using Allegro.
That was my point.


Pierre R. Mai

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
not.fo...@not.for.spam writes:

> On 26 Feb 2000 03:26:55 +0000, Erik Naggum <er...@naggum.no> wrote:
>
> > *sigh* that is precisely why free versions of Allegro CL are given away
> > to those who want to try things out on their own. you knew this, so why
> > even make this wholly irrelevant argument?
>
> When a programmer investigates a new programming language
> and programming environment, the very first thing he wants to see
> is a program delivered from that environment. He wants to see if
> he can give simple programs to friends, and if they will appreciate
> those programs. The free version of Allegro is fine for learning
> Lisp as a language, or for learning how to program with Allegro,
> but the programmer who reaches the point of "graduating" to Lisp
> has not yet reached the point of actually learning Lisp. First he has
> to get past his own scepticism about Lisp, that it can't deliver
> reasonable programs and is therefore not worth learning.

Please speak for yourself (or for/of whom ever you do speak). I
consider myself a programmer among other things, and

a) I never take a look at delivery issues as part of the first (or
first 20) topics to investigate when learning any language.
Basically I assume that someone has solved the delivery problem in
a somewhat satisfactory way, because otherwise the language
wouldn't exist anyway. And why worry about delivery, when I
haven't yet even considered whether I would use the language for
anything anyway? 90% of the time delivery issues are just boring
little details.

b) When learning a programming language, I don't give simple programms
to friends, just for fun. Why would I do such a thing? If someone
is my friend, I'll give him production-quality software for end-use
(which I'll hardly write in a language I'm just now learning).

c) When I approach a language, I don't approach it with negative
preconceptions. I go to look for things that are well done. I
don't have to get past my own scepticism.

> For that reason, if the value of Lisp seems dubious to a particular
> programmer, he's not likely to "graduate" into it by using Allegro.
> That was my point.

I think that if someone still let's his programming language choices
be governed by hear-say, preconceptions and doubts, he isn't ready to
graduate into anything.

Regs, Pierre.

--
Pierre Mai <pm...@acm.org> PGP and GPG keys at your nearest Keyserver
"One smaller motivation which, in part, stems from altruism is Microsoft-
bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]

Erik Naggum

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
* not.fo...@not.for.spam

| First he has to get past his own scepticism about Lisp, that it can't
| deliver reasonable programs and is therefore not worth learning.

such skepticism has to come from somewhere. in this case, it's you.

| For that reason, if the value of Lisp seems dubious to a particular
| programmer, he's not likely to "graduate" into it by using Allegro.
| That was my point.

I hear you, but you _could_ put my attitude this way: first I have to get
past my skepticism about the value of addressing you or helping you learn
Lisp, that you can't learn to write reasonably complex programs even if
you got the best programming environment on the planet, and is therefore
not worth teaching or helping. since you ask the Lisp community to help
you overcome such skepticism towards Lisp, what do you propose to do to
overcome my skepticism towards you and people who think like you? I
think you _ought_ to have a very good answer fully formed and ready.

#:Erik

Espen Vestre

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
Tim Bradshaw <t...@cley.com> writes:

> And quite apart from *that* there are several other implementations
> which are free at all levels. None, perhaps, are as comprehensively
> industrial strength as Allegro, but I'd expect them to be quite usable
> for teaching.

and there are low-cost lisps. MCL (http://www.digitool.com) is cheap
for students. Since we had a classroom with macs anyway, I used MCL
when I teached lisp, which was a very positive experience. The
students that were absolute computer newbies could 'dive into lisp'
without having to learn much more than 'doubleclick that coral icon'
:-)

--
(espen)

Frode Vatvedt Fjeld

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to

From my meager teaching experience (1-2 years), I have often found
myself thinking that if only my students had some knowledge of lisp
(or some equally expressive language, I guess..) I could have come up
with some programming assignments that would really force them to
understand the basic concepts in the course (like databases, which
I've been teacing). (lisp) programming experience would be a
side-effect bonus for the students.


--
Frode Vatvedt Fjeld

William Deakin

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
Tim wrote:

> I wonder if *any* useful computer language teaching goes on in
> academia? I wonder this for several reasons.

I think this varies. When I started working there were graduates from the
`New' and `Old' Universities in Manchester. The emphasis at the New
university included programming and learning a language (most chose C or
C++). However, at the `Old' University learning to program was really
not-really-what-you-did. The teaching was by people interested in abstruse
CS research. For examples: database training involved writing essays on
generating DB schema in Boyce-Codd normal form. Which I'm sure there is a
place for, but not a very big one ;)

> I think that this comes down to the fact that the good people all leave
> to make money elsewhere or otherwise don't want to put up with the
> nightmare that is teaching in academia.

I think this is very true. Particularly with something that more applied
like CS (when compared with Physics, say).

> Some...learnt while there, but they weren't being taught, or weren't
> doing computing.

True. But I think this problem is similar to that of teaching problem
solving. It is hard to assess good programming. And good teaching for that
matter. Particularly, if you aren't interested in doing this in the first
place. To get a good job at a University, in the UK at least, you must
generate large number of cited published papers . Teaching is then `oh,
and you have to do teaching too.' Teaching is then seen as a curse of
lecturers, and I think this is often reflected in the quality of the
teaching delivered. Fortunately, there are notable exceptions to this.

> Academic computer science is basically so fouled up as a discipline for
> all the obvious reasons that it's hardly surprising that people don't
> learn.

I'll not argue with this one ;)

> Perhaps university is not even where people should learn to program.
> Physicists don't learn a trade in any reasonably sense, why should CS
> people?

Well sort of. IMHE physicists *do* learn a lot of practical things, like
electronics and electrical wiring, computer programming, problem solving,
applied maths, technical writing...I'm sure it would be useful to CS
students if training like Unix sysadmin, howto insatll Oracle, network
trouble shooting, fixing or upgrading a knackered PC, &c &c

Best Regards,

:) will


William Deakin

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
Pierre wrote:

> Please speak for yourself (or for/of whom ever you do speak).

I agree wholeheartedly.

[...elided a number of excellent points with which I agree...]

Just a small point WRT giving people programs, what is wrong with sharing the
source code? Or telling somebody about something you thought was cool, getting
them to have a go and compare solutions?

Best Regards,

:) will

Tim Bradshaw

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
* William Deakin wrote:

> Well sort of. IMHE physicists *do* learn a lot of practical things,
> like electronics and electrical wiring, computer programming,
> problem solving, applied maths, technical writing...I'm sure it
> would be useful to CS students if training like Unix sysadmin, howto
> insatll Oracle, network trouble shooting, fixing or upgrading a
> knackered PC, &c &c

Well, some do. I learnt some fortran and an awful lot of applied maths
(which I'd count as a fairly non-practical skill I think). But then I
did no non-theory courses after 1st year.

--tim

Pierre R. Mai

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
William Deakin <wi...@pindar.com> writes:

> Just a small point WRT giving people programs, what is wrong with
> sharing the source code? Or telling somebody about something you
> thought was cool, getting them to have a go and compare solutions?

If you got the impression that I was arguing against that, then I gave
the wrong impression. But I wouldn't call that giving them programs,
it would be sharing code or utilities. There is a large difference in
the amount of productization, support and hand-holding that goes into
what I would call a program (or product, to go with software
engineering slang), and what I would call code or utilities.

When I share code with a friend or colleague, I expect him to do what
is necessary to get it to run, and be useful for him, and not be daft
about it. If he has questions and problems, he's welcome to ask me
about it, but that's it. I won't bend over backwards to get it to run
in the way he wants it, with the constraints he has conjured up. Of
course, those whom I share code with, are not the people who would
dream of doing such stupid things, mind you. This is interchange
between professionals, so everyone involved should behave
professionally.

When I distribute programs to non-programmer friends, or to customers,
I distribute solutions. I'll bend over backwards, and do whatever is
necessary to solve the real problems of the user, that I agreed to
solve at the outset.

Clearly writing little "programs" and sharing them while learning the
language in question is unthinkable to me. And when I write a cool
little program in CL that solves a problem, and some colleague asks me
about it, I will gladly share it, and point him to www.alu.org to get
a useable CL implementation. If he can make use of it, good. If he
can't, well tough luck. Luckily, the people that I call friends or
colleagues will be bright enough not to need some kind of hand-holding
or me bending over backwards. :)

Jeff Dalton

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
Tim Bradshaw <t...@tfeb.org> writes:

> I wonder if *any* useful computer language teaching goes on in
> academia? I wonder this for several reasons.
>

> (1) My own (small) experience is that language teaching is basically
> done by people who don't know the language for people who don't

> care about it. ...

I think that's kind of inevitable when a field expands and so includes
more people who are doing it for career reasons rather than because
they're interested.

> (2) I'm trying to think if *any* good programmers I know learnt to
> program by being taught in university while studying a computing

> discipline. Some certainly learnt while there, but they weren't


> being taught, or weren't doing computing.

Humm. I've always been glad that CS wasn't available to me when I was
an undergraduate. So I took maths with some computing courses offered
by various departments (e.g., data structures, compilers, natural
language processing, simulation).

I never took a course in any particular programming language, and the
language used in courses varied from course to course. Sometimes you
could pick your own. Rather than being taught a language, you were
expected to pick up the language along the way, though the data
structures course started off at a fairly into level.

Anyway, I've been endlessly thankful ever since that I did maths and
not CS.

-- jd

Janos Blazi

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
Dear Espen, please, please excuse me but I have to make this joke:

You also teached English? :)

Again, I apologize but I am really fond of Polishing other people's English.
:)

Janos Blazi

Espen Vestre <espen@*do-not-spam-me*.vestre.net> schrieb in im Newsbeitrag:
w6u2itv...@wallace.nextel.no...


-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 80,000 Newsgroups - 16 Different Servers! =-----

Janos Blazi

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to

Tim Bradshaw <t...@cley.com> schrieb in im Newsbeitrag:
ey3puti...@cley.com...

> * not for email wrote:
>
> > Allegro costs thousands of dollars. People don't pay thousands of
> > dollars to "graduate" into something whose value seems dubious
> > to them.
>
> (I didn't read this bit earlier)
>
> Rubbish. There are *free* versions of the current Allegro release for
> Windows, Linux and freeBSD. Yes they have slight restrictions, no you
> can't ship products using them, no these restrictions wouldn't hurt
> someone wanting to learn the language.

"Mainly he told the truth. Sometimes he streched a bit, but mainly he told
the truth." Mark Twain, if I remember correctly

I have only one real application: the program I administer my pupils with.
It heavily uses the NT GUI. I wrote the damned thing in VBA, in C++, in
Tkinter.
But I am afraid I cannot write it in Lisp, because in Allegro CLIM ist not
part of the free version. So I have to take LispWorks and CAPI. But due to
the heap restrictions I am afraid I would get nowhere (actually I do not
know, but I suspect that the heap limitations will prohibit even the most
simple user interfaces that use CAPI.

Now I am working on my second application, some mathematical programming,
and for that of course Clisp is an excellent tool, much better than C (and
even better than Python).


>
> Quite apart from that, you can get site licenses for academic use and
> these are not prohibitive in my experience.

The problem is that my school will never give me any money for that. So I
would pay 150 dollars for a fully functional version of LispWorks (like for
VC) but I most definitely would not pay 500 dollars. Most unfortunately
neither Franz nor Harlequin disclose their prices on their site., who knows,
why.
>

> And quite apart from *that* there are several other implementations
> which are free at all levels. None, perhaps, are as comprehensively
> industrial strength as Allegro, but I'd expect them to be quite usable
> for teaching.

Again, most unfortunately, there is no free version of CLIM for NT, as far
as I know. So I would have to use Scheme. But CL is much, much better than
Scheme and I want to use CL.

I am not crying, but this is the truth.

>
> --tim

Tim Bradshaw

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
* Janos Blazi wrote:
> I have only one real application: the program I administer my pupils
> with. It heavily uses the NT GUI. I wrote the damned thing in VBA,
> in C++, in Tkinter. But I am afraid I cannot write it in Lisp,
> because in Allegro CLIM ist not part of the free version. So I have
> to take LispWorks and CAPI. But due to the heap restrictions I am
> afraid I would get nowhere (actually I do not know, but I suspect
> that the heap limitations will prohibit even the most simple user
> interfaces that use CAPI.

I seem to remember this being about teaching, not GUI-development.

But in any case, acl lite includes the acl gui stuff as far as I know.
So yes, you can write in in acl if you want to.


--tim

Marc Battyani

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to

Janos Blazi <jbl...@netsurf.de> wrote in message
news:38bae...@goliath.newsfeeds.com...

> I have only one real application: the program I administer my pupils with.
> It heavily uses the NT GUI. I wrote the damned thing in VBA, in C++, in
> Tkinter.

Yuck!

> The problem is that my school will never give me any money for that. So I
> would pay 150 dollars for a fully functional version of LispWorks (like
for
> VC) but I most definitely would not pay 500 dollars. Most unfortunately
> neither Franz nor Harlequin disclose their prices on their site., who
knows,
> why.

http://www.harlequin.com/products/st/lisp/purchase.shtml

> I am not crying, but this is the truth.

Hum...

Marc Battyani


Gareth McCaughan

unread,
Feb 29, 2000, 3:00:00 AM2/29/00
to
"not.fo...@not.for.spam" writes:

> When a programmer investigates a new programming language
> and programming environment, the very first thing he wants to see
> is a program delivered from that environment. He wants to see if
> he can give simple programs to friends, and if they will appreciate
> those programs.

I appear not to be a programmer.

The first things *I* do when investigating a new language
or environment are to understand the ideas, learn some of
the syntax and techniques, write a bit of code, poke around
in the libraries, and so on. I don't see programming
languages only as tools for making executables with.
They're tools for making things happen with, and
generating a "standalone" (ha!) executable and giving
it to someone else is just one of the ways to make things
happen.

> The free version of Allegro is fine for learning
> Lisp as a language, or for learning how to program with Allegro,
> but the programmer who reaches the point of "graduating" to Lisp

> has not yet reached the point of actually learning Lisp. First he has


> to get past his own scepticism about Lisp, that it can't deliver
> reasonable programs and is therefore not worth learning.

You're saying that everyone tries to deliver applications
with a new language before they try to learn it? How odd.

William Deakin

unread,
Feb 29, 2000, 3:00:00 AM2/29/00
to
Tim wrote:

> * Will wrote:
> But then I did no non-theory courses after 1st year.

Okey Dokey (pig-in-a-pokey). That may explain some things ;)

:) w


Paolo Amoroso

unread,
Mar 1, 2000, 3:00:00 AM3/1/00
to
On Mon, 28 Feb 2000 00:49:34 GMT, not.fo...@not.for.spam wrote:

> The free version of Allegro does not seem to have the capability
> of delivering programs which the programmer can distribute. For
> that reason alone, it fails the acceptance test of the vast majority
> of programmers. They can't even write game programs for their
> own kids, unless they load Allegro onto their computers too, and
> show them how to use it.

The need to distribute applications in source form, together with their
supportin runtime system/interpreter/environment/whatever, has apparently
not failed the acceptance test of Perl, Tcl, Python and other scripting
language programmers.


Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/

Reply all
Reply to author
Forward
0 new messages