comp.lang.ada
 help / color / mirror / Atom feed
* Beginner's Language?
@ 2001-05-04 16:12 Faisal Halim
  2001-05-04 16:29 ` Marin David Condic
                   ` (7 more replies)
  0 siblings, 8 replies; 232+ messages in thread
From: Faisal Halim @ 2001-05-04 16:12 UTC (permalink / raw)


Assalaamu 'alaikum,

I would like to know if ADA is a good first language for a beginner, 
especially when compared to Lisp and Perl, and BASIC.

Despite my 'O' Level qualification in Computers, please assume you are 
answering a person totally devoid of computer concepts, as I would find 
such  replies useful when answering queries from 7th grade students who are 
interested in computers and programming, but have no idea of which language 
to use.

Thank you all in advance for your feedback and co-operation.

Faisal Halim
4th May, 2001




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
@ 2001-05-04 16:29 ` Marin David Condic
  2001-05-04 17:14 ` chris.danx
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 232+ messages in thread
From: Marin David Condic @ 2001-05-04 16:29 UTC (permalink / raw)


Ada is an excellent language for beginning programming. See:
http://www.adapower.org/ for plenty of details. In particular, you might
want to find a copy of: "Ada 95 Problem Solving and Program Design, 3rd ed.
(Feldman and Koffman)" as this is a fine intro level book. On the Adapower
website, there are plenty of other book references as well as learning
materials, and valuable resources. Check it out.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Faisal Halim" <faisal_halim@yahoo.com> wrote in message
news:9cukad$nn68@news-dxb...
> Assalaamu 'alaikum,
>
> I would like to know if ADA is a good first language for a beginner,
> especially when compared to Lisp and Perl, and BASIC.
>
> Despite my 'O' Level qualification in Computers, please assume you are
> answering a person totally devoid of computer concepts, as I would find
> such  replies useful when answering queries from 7th grade students who
are
> interested in computers and programming, but have no idea of which
language
> to use.
>
> Thank you all in advance for your feedback and co-operation.
>
> Faisal Halim
> 4th May, 2001
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
  2001-05-04 16:29 ` Marin David Condic
@ 2001-05-04 17:14 ` chris.danx
  2001-05-04 22:35 ` Jeffrey Carter
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 232+ messages in thread
From: chris.danx @ 2001-05-04 17:14 UTC (permalink / raw)



"Faisal Halim" <faisal_halim@yahoo.com> wrote in message
news:9cukad$nn68@news-dxb...
> Assalaamu 'alaikum,
>
> I would like to know if ADA is a good first language for a beginner,
> especially when compared to Lisp and Perl, and BASIC.
>
> Despite my 'O' Level qualification in Computers, please assume you are
> answering a person totally devoid of computer concepts, as I would find
> such  replies useful when answering queries from 7th grade students who are
> interested in computers and programming, but have no idea of which language
> to use.

At the Glasgow Uni (or the University of Glasgow if you prefer) they use Ada 95
as a "first language".  They assume no knowledge of programming at all (or
indeed computing science).  It seems to work well, many folks in my classes did
very well with Ada 95 and they had zero programming experience.  If this is for
a study or something you might want to contact various people who teach Ada as a
first language.  At Glasgow you might want to try Dr Quitin Cutts, his research
involves the teaching of programming to folk and the methods for doing so.  He's
quite good as a lecturer and he developed the structure of the IP1 course.


I started with BASIC myself, and i think Ada would have been a lot better if i'd
had it at the time.  Ada 95 is more structured than BASIC which is something i'd
have benefitted from.  Switching to Turbo Pascal helped me develop more
structured programs.  It took Ada 95 to get organisation and modules right.
While Pascal promotes some structure it doesn't offer as much support in this
area as Ada 95, and BASIC offers hardly any (the infamous GOTO, and the somewhat
better GOSUB).

It has many other qualities and features that make it suitable for a first
language and i'd like to give them a mention but my dinners arrived...


Chris Campbell





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
  2001-05-04 16:29 ` Marin David Condic
  2001-05-04 17:14 ` chris.danx
@ 2001-05-04 22:35 ` Jeffrey Carter
  2001-05-05  1:51 ` raj
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 232+ messages in thread
From: Jeffrey Carter @ 2001-05-04 22:35 UTC (permalink / raw)


Faisal Halim wrote:
> 
> I would like to know if ADA is a good first language for a beginner,
> especially when compared to Lisp and Perl, and BASIC.

A controlled experiment at the US Military Academy showed that Ada is a
better first language than Pascal. It should be remembered that Pascal
was created as a teaching language.

John McCormick's experience teaching real-time programming shows that
upper-level students who used C in their previous courses are unable to
successfully implement a real-time system in C, even when the professor
gives them more than half of the code. These same kinds of students are
able to implement a real-time system in Ada, even though they have to
learn Ada, although they are given little or none of the code.

Both of these are documented in a recent issue of Ada Letters, which may
be found in the SIGAda part of www.acm.org.

--
Jeffrey Carter



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
                   ` (2 preceding siblings ...)
  2001-05-04 22:35 ` Jeffrey Carter
@ 2001-05-05  1:51 ` raj
  2001-05-05 14:51   ` Carl E Gundel
                     ` (4 more replies)
  2001-05-05  6:23 ` Beginner's Language? Gerhard Häring
                   ` (3 subsequent siblings)
  7 siblings, 5 replies; 232+ messages in thread
From: raj @ 2001-05-05  1:51 UTC (permalink / raw)


On Fri, 4 May 2001 20:12:21 +0400, Faisal Halim
<faisal_halim@yahoo.com> wrote:

>Assalaamu 'alaikum,
>
>I would like to know if ADA is a good first language for a beginner, 
>especially when compared to Lisp and Perl, and BASIC.
>
>Despite my 'O' Level qualification in Computers, please assume you are 
>answering a person totally devoid of computer concepts, as I would find 
>such  replies useful when answering queries from 7th grade students who are 
>interested in computers and programming, but have no idea of which language 
>to use.

A restricted subset of Ada would be excellent  since it can be used to
teach not only programming but more importantly, software engineering
concepts.

However, other languages you may want to consider include Haskell ,
OCaml , Smalltalk and even ( shudder ! C++ or Java )

If your students are bright and motivated to learn theory and
fundamentals, Lisp ( or perhaps its smaller and more pedagogically
oriented dialect Scheme ) and Haskell are excellent choices.

If your students are short sighted drones who want to learn the
currently fashionable choices, C++ and Java are (yuck ) appropriate.

But please, do not inflict Perl and BASIC upon innocent children.




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
                   ` (3 preceding siblings ...)
  2001-05-05  1:51 ` raj
@ 2001-05-05  6:23 ` Gerhard Häring
  2001-05-05  9:06   ` David Starner
  2001-05-06 15:17 ` DuckE
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 232+ messages in thread
From: Gerhard Häring @ 2001-05-05  6:23 UTC (permalink / raw)


On Fri, 4 May 2001 20:12:21 +0400, Faisal Halim <faisal_halim@yahoo.com> wrote:
>Assalaamu 'alaikum,
>
>I would like to know if ADA is a good first language for a beginner, 
>especially when compared to Lisp and Perl, and BASIC.

You would not seriously consider Perl or BASIC for teaching the fundamentals of
programing, would you?

As to my background, I am a a cs student (I try my luck for the second time,
first time I was too distracted ...)

I think Ada 95 wouldn't be too bad for a first language, but I also think it's
not optimal. At my first uni (TU Munich, Germany) they used Gofer (a Haskell
dialect) in semester 1, then quickly introduced Java. At the Munich University
of Applied Science where I am now, they teach Java from the beginning.

I can say that I am not a great friend of making shortcuts in the education of
future software engineers. IMHO the people starting with Java from the start
(in our current lab project, the profs are using lots of XP techniques) try to
introduce too much too fast (OOP from day one, etc.).

I think a dynamically typed language is much better suited for a first language
(and little-to-medium sized projects, in general), because they provide for
much less frustration during learning and for a much more incremental style of
programming. You can try out lots of stuff in an interactive interpreter.

So, in your position I would look into Python (my favourite) or Scheme. Or
perhaps another functional language like Haskell (there is an interpreter
called Hugs).

If you want to read about Python as a beginners language, you could start at
http://www.python.org/cp4e Scheme would have the advantage of some nice
development environments well suited for students (DrScheme comes to mind),
more widely use in education (MIT, ...).

>Despite my 'O' Level qualification in Computers, please assume you are 
>answering a person totally devoid of computer concepts, as I would find 
>such  replies useful when answering queries from 7th grade students who are 
>interested in computers and programming, but have no idea of which language 
>to use.

7th grade? Please don't throw a big language like Ada at them. As I said,
dynamically typed languages with an interactive interpreter are IMHO less
frustrating. Especially in a course that lasts say 90 minutes, the
edit-compile-debug cycle wastes a lot of time.

Gerhard
-- 
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://highqualdev.com              public key at homepage
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05  6:23 ` Beginner's Language? Gerhard Häring
@ 2001-05-05  9:06   ` David Starner
  2001-05-05 11:05     ` chris.danx
  2001-05-06 13:14     ` Florian Weimer
  0 siblings, 2 replies; 232+ messages in thread
From: David Starner @ 2001-05-05  9:06 UTC (permalink / raw)


On Sat, 5 May 2001 08:23:10 +0200, Gerhard =?iso-8859-1?Q?H=E4ring?= <gerhard.nospam@bigfoot.de> wrote:
> I can say that I am not a great friend of making shortcuts in the education of
> future software engineers. IMHO the people starting with Java from the start
> (in our current lab project, the profs are using lots of XP techniques) try to
> introduce too much too fast (OOP from day one, etc.).

With Java, you have no option but to introduce OOP quickly. Everything is
a class in Java.
 
> So, in your position I would look into Python (my favourite) or Scheme. Or
> perhaps another functional language like Haskell (there is an interpreter
> called Hugs).

Why a functional language? I would think a procedural language would be
easier to teach as a first language, and would provide them with framework
needed for the languages most programmings being done it. 
 
> 7th grade? Please don't throw a big language like Ada at them. 

Why? It seems more important to have a teachable subset (with Ada 
subsetting very nicely) than to have the whole language be small.  
I don't like the idea of teaching a limited language; first, it can
make examples in the language impossible (cf. _Software Tools_, 
where the encryption routines were removed in the transition from
Ratfor to Pascal, because they couldn't be written in Pascal.)
Second, students are probably going to use what they learned first,
even when it's inappropriate. Note the number of Pascal and Basic 
dialects; people were taught a limited language, and then extended
it to get the job done. Ada will expand with the learning of the
student.

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I don't care if Bill personally has my name and reads my email and 
laughs at me. In fact, I'd be rather honored." - Joseph_Greg



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05  9:06   ` David Starner
@ 2001-05-05 11:05     ` chris.danx
  2001-05-05 22:12       ` Nacho Robledo
  2001-05-06 13:14     ` Florian Weimer
  1 sibling, 1 reply; 232+ messages in thread
From: chris.danx @ 2001-05-05 11:05 UTC (permalink / raw)


> > I can say that I am not a great friend of making shortcuts in the education
of
> > future software engineers. IMHO the people starting with Java from the start
> > (in our current lab project, the profs are using lots of XP techniques) try
to
> > introduce too much too fast (OOP from day one, etc.).
>
> With Java, you have no option but to introduce OOP quickly. Everything is
> a class in Java.
>

Which can make things more difficult than they need be.


> > So, in your position I would look into Python (my favourite) or Scheme. Or
> > perhaps another functional language like Haskell (there is an interpreter
> > called Hugs).
>
> Why a functional language? I would think a procedural language would be
> easier to teach as a first language, and would provide them with framework
> needed for the languages most programmings being done it.
>

If I had a choice i'd teach both an FPL (funtional language) and Ada 95 to first
timers.  Both styles are different but they have much to offer.  I think they
complement each other.  Also FP is being taught more and more at Uni and it's
more difficult to teach FP to people who've learned the imperative way first.
Any way this is largely irrelevant Ada would be best if you want to teach IP
first.

> > 7th grade? Please don't throw a big language like Ada at them.
>
> Why? It seems more important to have a teachable subset (with Ada
> subsetting very nicely) than to have the whole language be small.
> I don't like the idea of teaching a limited language; first, it can
> make examples in the language impossible (cf. _Software Tools_,
> where the encryption routines were removed in the transition from
> Ratfor to Pascal, because they couldn't be written in Pascal.)
> Second, students are probably going to use what they learned first,
> even when it's inappropriate. Note the number of Pascal and Basic
> dialects; people were taught a limited language, and then extended
> it to get the job done. Ada will expand with the learning of the
> student.
>

I have to agree with you here.  The benefit of Ada was that you could learn it
slowly (by this i mean present a few constructs and build on them gradually) and
you can transfer the things you learn in Ada more easily into other languages.
I've mentioned this before but I had real problems with organising my modules in
C and Pascal, but after programmng in Ada for a few months when i went back and
tried to program in C i was able to organise the code better, as far as C would
allow.  While i'm not a beginner, i think this says something about Ada.  It
promotes good software development practices.  This cannot be said about Basic
or indeed Java (it ties you to OOP even when it makes things over complex).


Chris





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05  1:51 ` raj
@ 2001-05-05 14:51   ` Carl E Gundel
  2001-05-05 18:12   ` Dodger
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 232+ messages in thread
From: Carl E Gundel @ 2001-05-05 14:51 UTC (permalink / raw)


raj (israelrt@optushome.com.au) wrote:
: If your students are short sighted drones who want to learn the
: currently fashionable choices, C++ and Java are (yuck ) appropriate.

: But please, do not inflict Perl and BASIC upon innocent children.

C++ and Java are okay for innocent children, but Perl and BASIC are
not??!!??  Ha!  Give me (and them) a break!

-Carl
-- 
------------------------------------------------------------------
 Carl Gundel  carlg@libertybasic.com  Shoptalk Systems
 author of Liberty BASIC, twice a PC Magazine Awards Finalist!
 http://www.libertybasic.com
------------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05  1:51 ` raj
  2001-05-05 14:51   ` Carl E Gundel
@ 2001-05-05 18:12   ` Dodger
  2001-05-05 19:06     ` Jochen Schmidt
                       ` (2 more replies)
  2001-05-05 19:49   ` Beginner's Language? Larry Kilgallen
                     ` (2 subsequent siblings)
  4 siblings, 3 replies; 232+ messages in thread
From: Dodger @ 2001-05-05 18:12 UTC (permalink / raw)


"raj" <israelrt@optushome.com.au> wrote in message
news:q9n6ft0pbn903d5gqqbjfjns0ae0kfvra9@4ax.com...
> On Fri, 4 May 2001 20:12:21 +0400, Faisal Halim
> <faisal_halim@yahoo.com> wrote:

> A restricted subset of Ada would be excellent  since it can be used to
> teach not only programming but more importantly, software engineering
> concepts.
>
> However, other languages you may want to consider include Haskell ,
> OCaml , Smalltalk and even ( shudder ! C++ or Java )
>
> If your students are bright and motivated to learn theory and
> fundamentals, Lisp ( or perhaps its smaller and more pedagogically
> oriented dialect Scheme ) and Haskell are excellent choices.
>
> If your students are short sighted drones who want to learn the
> currently fashionable choices, C++ and Java are (yuck ) appropriate.
>
> But please, do not inflict Perl and BASIC upon innocent children.

This is an _amazingly_ uninformed opinion.

I take it this writer is not very good with Perl because he refuses to let
go of his more ancient prejudices. However, the assertation comes out
absurd. There is no reason to keep Perl away from children just because Raj
doesn't like it.
--
Dodger
www.dodger.org
www.necrosoft.net
www.gothic-classifieds.com






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 18:12   ` Dodger
@ 2001-05-05 19:06     ` Jochen Schmidt
  2001-05-05 22:59       ` Randal L. Schwartz
  2001-05-18 23:02       ` glauber
  2001-05-05 20:09     ` Jeffrey Carter
  2001-05-06  1:50     ` raj
  2 siblings, 2 replies; 232+ messages in thread
From: Jochen Schmidt @ 2001-05-05 19:06 UTC (permalink / raw)


Dodger wrote:

> "raj" <israelrt@optushome.com.au> wrote in message
> news:q9n6ft0pbn903d5gqqbjfjns0ae0kfvra9@4ax.com...
>> On Fri, 4 May 2001 20:12:21 +0400, Faisal Halim
>> <faisal_halim@yahoo.com> wrote:
>> But please, do not inflict Perl and BASIC upon innocent children.
> 
> This is an _amazingly_ uninformed opinion.
> 
> I take it this writer is not very good with Perl because he refuses to let
> go of his more ancient prejudices. However, the assertation comes out
> absurd. There is no reason to keep Perl away from children just because
> Raj doesn't like it.

IMHO Perl has nothing and does nothing that would make it a good language 
for language studies.
But I wait to hear from you what concepts are best learnt by looking at 
perl (besides the "How to not design a language" fact)

Regards,
Jochen





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05  1:51 ` raj
  2001-05-05 14:51   ` Carl E Gundel
  2001-05-05 18:12   ` Dodger
@ 2001-05-05 19:49   ` Larry Kilgallen
  2001-05-05 22:52     ` Reinout Heeck
  2001-05-07 10:41     ` Biep @ http://www.biep.org
  2001-05-07 14:24   ` Marin David Condic
  2001-05-10  8:02   ` OZ as a beginners' banguage? Biep @ http://www.biep.org/
  4 siblings, 2 replies; 232+ messages in thread
From: Larry Kilgallen @ 2001-05-05 19:49 UTC (permalink / raw)


In article <q9n6ft0pbn903d5gqqbjfjns0ae0kfvra9@4ax.com>, raj <israelrt@optushome.com.au> writes:
> On Fri, 4 May 2001 20:12:21 +0400, Faisal Halim
> <faisal_halim@yahoo.com> wrote:
> 
>>Assalaamu 'alaikum,
>>
>>I would like to know if ADA is a good first language for a beginner, 
>>especially when compared to Lisp and Perl, and BASIC.
>>
>>Despite my 'O' Level qualification in Computers, please assume you are 
>>answering a person totally devoid of computer concepts, as I would find 
>>such  replies useful when answering queries from 7th grade students who are 
>>interested in computers and programming, but have no idea of which language 
>>to use.
> 
> A restricted subset of Ada would be excellent  since it can be used to
> teach not only programming but more importantly, software engineering
> concepts.

It seems to me that regardless of the language chosen, a restricted
subset is _always_ appropriate.  For any reasonable language there
are bound to be parts that while helpful in certain real-world
programming situations are not illustrative of the _concepts_
involved in programming.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 18:12   ` Dodger
  2001-05-05 19:06     ` Jochen Schmidt
@ 2001-05-05 20:09     ` Jeffrey Carter
  2001-05-06  1:50     ` raj
  2 siblings, 0 replies; 232+ messages in thread
From: Jeffrey Carter @ 2001-05-05 20:09 UTC (permalink / raw)


Dodger wrote:
> 
> I take it this writer is not very good with Perl because he refuses to let
> go of his more ancient prejudices. However, the assertation comes out
> absurd. There is no reason to keep Perl away from children just because Raj
> doesn't like it.

It's quite likely that you take it wrong. Just because Raj doesn't like
it is not a good reason to avoid Perl, but there are lots of other
reasons that are excellent.

-- 
Jeff Carter
"Son of a window-dresser."
Monty Python & the Holy Grail



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 11:05     ` chris.danx
@ 2001-05-05 22:12       ` Nacho Robledo
  0 siblings, 0 replies; 232+ messages in thread
From: Nacho Robledo @ 2001-05-05 22:12 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3759 bytes --]

hello i am a student of computer sciencie. I started studing Ada 95 and
Haskell and I can say now that learning both languages had give me a globali
vision about programmig. I have worked before in C but it is not a good
language for begginers. If i were you, i will teach them Ada and Haskell....
Ada is powerful, structurated and easy (yeah...it's a great language) and
learning something about funcitional programming is good too. And haskell is
a language very easy. You can introduce them to programming with haskell and
then you can follow this with Ada.

Luck !!!


--
--
 Ignacio Robledo Rosell
 mailto:rrilpm@arrakis.es
 http://zipi.fi.upm.es/~g990406
 ****************************************
 "When code matters more than comercials"
 ****************************************

"chris.danx" <chris.danx@ntlworld.com> escribi� en el mensaje
news:R7RI6.461$EI.140779@news2-win.server.ntlworld.com...
> > > I can say that I am not a great friend of making shortcuts in the
education
> of
> > > future software engineers. IMHO the people starting with Java from the
start
> > > (in our current lab project, the profs are using lots of XP
techniques) try
> to
> > > introduce too much too fast (OOP from day one, etc.).
> >
> > With Java, you have no option but to introduce OOP quickly. Everything
is
> > a class in Java.
> >
>
> Which can make things more difficult than they need be.
>
>
> > > So, in your position I would look into Python (my favourite) or
Scheme. Or
> > > perhaps another functional language like Haskell (there is an
interpreter
> > > called Hugs).
> >
> > Why a functional language? I would think a procedural language would be
> > easier to teach as a first language, and would provide them with
framework
> > needed for the languages most programmings being done it.
> >
>
> If I had a choice i'd teach both an FPL (funtional language) and Ada 95 to
first
> timers.  Both styles are different but they have much to offer.  I think
they
> complement each other.  Also FP is being taught more and more at Uni and
it's
> more difficult to teach FP to people who've learned the imperative way
first.
> Any way this is largely irrelevant Ada would be best if you want to teach
IP
> first.
>
> > > 7th grade? Please don't throw a big language like Ada at them.
> >
> > Why? It seems more important to have a teachable subset (with Ada
> > subsetting very nicely) than to have the whole language be small.
> > I don't like the idea of teaching a limited language; first, it can
> > make examples in the language impossible (cf. _Software Tools_,
> > where the encryption routines were removed in the transition from
> > Ratfor to Pascal, because they couldn't be written in Pascal.)
> > Second, students are probably going to use what they learned first,
> > even when it's inappropriate. Note the number of Pascal and Basic
> > dialects; people were taught a limited language, and then extended
> > it to get the job done. Ada will expand with the learning of the
> > student.
> >
>
> I have to agree with you here.  The benefit of Ada was that you could
learn it
> slowly (by this i mean present a few constructs and build on them
gradually) and
> you can transfer the things you learn in Ada more easily into other
languages.
> I've mentioned this before but I had real problems with organising my
modules in
> C and Pascal, but after programmng in Ada for a few months when i went
back and
> tried to program in C i was able to organise the code better, as far as C
would
> allow.  While i'm not a beginner, i think this says something about Ada.
It
> promotes good software development practices.  This cannot be said about
Basic
> or indeed Java (it ties you to OOP even when it makes things over
complex).
>
>
> Chris
>
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 19:49   ` Beginner's Language? Larry Kilgallen
@ 2001-05-05 22:52     ` Reinout Heeck
  2001-05-06  0:03       ` Dale Stanbrough
  2001-05-07 10:41     ` Biep @ http://www.biep.org
  1 sibling, 1 reply; 232+ messages in thread
From: Reinout Heeck @ 2001-05-05 22:52 UTC (permalink / raw)


Larry Kilgallen wrote:
> 
[...]
> 
> It seems to me that regardless of the language chosen, a restricted
> subset is _always_ appropriate.  For any reasonable language there
> are bound to be parts that while helpful in certain real-world
> programming situations are not illustrative of the _concepts_
> involved in programming.

In the case of Smalltalk you will need to slightly change that
statement: the core system is very tiny, all the functionality is in
it's class library. That even goes as far as that the core does not
implement control flow, the libraries do. Restricting one to only part
of the libraries is wat every programmer does.


Reinout
-------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 19:06     ` Jochen Schmidt
@ 2001-05-05 22:59       ` Randal L. Schwartz
  2001-05-05 23:38         ` Jochen Schmidt
  2001-05-06  2:19         ` Jeffrey Carter
  2001-05-18 23:02       ` glauber
  1 sibling, 2 replies; 232+ messages in thread
From: Randal L. Schwartz @ 2001-05-05 22:59 UTC (permalink / raw)


>>>>> "Jochen" == Jochen Schmidt <jsc@dataheaven.de> writes:

Jochen> IMHO Perl has nothing and does nothing that would make it a
Jochen> good language for language studies.

Apparently, on the "theoretical" vs "practical" side, we can see
you're squarely on the thoretical.  Nothing wrong with that. But
eventually you get out of school, and have to get work done, and then
things like Perl look a lot better, because Perl is optimized for the
things you most commonly do, and in a way that might be harder to
learn but easier to use once you learn.

Jochen> But I wait to hear from you what concepts are best learnt by
Jochen> looking at perl (besides the "How to not design a language"
Jochen> fact)

How to get work done.

How to mix the best of many languages and end up with something
that doesn't just look like potpourri.

In other words, the only people we've found disrespect Perl are those
who haven't bothered to spend 30 to 50 hours learning it.  It's clear
you're one of those.  Learn it first, then complain about it.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 22:59       ` Randal L. Schwartz
@ 2001-05-05 23:38         ` Jochen Schmidt
  2001-05-08 16:01           ` John English
  2001-05-06  2:19         ` Jeffrey Carter
  1 sibling, 1 reply; 232+ messages in thread
From: Jochen Schmidt @ 2001-05-05 23:38 UTC (permalink / raw)


Randal L. Schwartz wrote:

>>>>>> "Jochen" == Jochen Schmidt <jsc@dataheaven.de> writes:
> 
> Jochen> IMHO Perl has nothing and does nothing that would make it a
> Jochen> good language for language studies.
> 
> Apparently, on the "theoretical" vs "practical" side, we can see
> you're squarely on the thoretical.  Nothing wrong with that. But
> eventually you get out of school, and have to get work done, and then
> things like Perl look a lot better, because Perl is optimized for the
> things you most commonly do, and in a way that might be harder to
> learn but easier to use once you learn.

1) The things Perl is optimized for is not the kind of work I want do be
   paid for. I think Perl is ok for an admin that needs to automate some
   things or probably some bad Webdesigner who knows nothing better.
   I'am neither an admin nor a Webdesigner.
2) There is no real practical side when talking on programming languages
    if a language is bad on it's language-theoretic concepts it cannot be
    _really_ good for practical issues.

The reason why perl is somewhat important nowadays are:

- It's a script-language: With all the advantages this brings for admin and
   Web-guys.
- There is *alot* of code written for the many toy-programming-problems
   that need to be solved in a admin or classical Webdesign area.
- Most lamers think they are "Hackers" if they use perl (don't underestimate
   that point!!!!)

Most perl-"hackers" I met are proud to write unmaintainable code.

> Jochen> But I wait to hear from you what concepts are best learnt by
> Jochen> looking at perl (besides the "How to not design a language"
> Jochen> fact)
> 
> How to get work done.

...badly

> How to mix the best of many languages and end up with something
> that doesn't just look like potpourri.

We speak of perl don't we?
 
> In other words, the only people we've found disrespect Perl are those
> who haven't bothered to spend 30 to 50 hours learning it.  It's clear
> you're one of those.  Learn it first, then complain about it.

Oh that's nice - So that means that

a) You have to like perl
b) If you don't like it you don't really know it

You need 30 to 50 hours to learn a language like perl? That's funny...
and so it is _clear_ to *me* who is the one that should go learning a bit 
more...

--
Jochen



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 22:52     ` Reinout Heeck
@ 2001-05-06  0:03       ` Dale Stanbrough
  2001-05-06  1:47         ` Reinout Heeck
  0 siblings, 1 reply; 232+ messages in thread
From: Dale Stanbrough @ 2001-05-06  0:03 UTC (permalink / raw)


Reinout Heeck wrote:

> In the case of Smalltalk you will need to slightly change that
> statement: the core system is very tiny, all the functionality is in
> it's class library. That even goes as far as that the core does not
> implement control flow, the libraries do. Restricting one to only part
> of the libraries is wat every programmer does.

Even then i would not teach students about converting values into 
messages, which are (i think) not implemented in a library, but as
part of the language itself.

Perhaps Forth would have been a better example?

Dale



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06  0:03       ` Dale Stanbrough
@ 2001-05-06  1:47         ` Reinout Heeck
  2001-05-06  3:38           ` Dale Stanbrough
  0 siblings, 1 reply; 232+ messages in thread
From: Reinout Heeck @ 2001-05-06  1:47 UTC (permalink / raw)


Dale Stanbrough wrote:
> 
> Reinout Heeck wrote:
> 
> > In the case of Smalltalk you will need to slightly change that
> > statement: the core system is very tiny, all the functionality is in
> > it's class library. That even goes as far as that the core does not
> > implement control flow, the libraries do. Restricting one to only part
> > of the libraries is wat every programmer does.
> 
> Even then i would not teach students about converting values into
> messages, which are (i think) not implemented in a library, but as
> part of the language itself.

I don't understand what you are getting at. Messaging is indeed part of
the core system but values are not messages, values are objects in a
Smalltalk system and messages return those values. But what do you mean
when you say 'converting values into messages' ? If you are referring to
the need to use messages to get to instance variables I'd say that is a
real good thing, it hides implementation and thus keeps changes in
implementation local.


> Perhaps Forth would have been a better example?

Of what? 
The Forth ANSI standard is small enough to be grasped by a single person
so there is no need to aim at a restricted set there. 
Anyway I prefer Smalltalk above Forth, one of the reasons being that
Smalltalk yields much more readable code. The absence of syntax in Forth
makes it hard to read (mentally parse) code one is not familiar with.
However if I had to program devices with tiny memory I would seriously
consider using Forth. 


Reinout
-------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 18:12   ` Dodger
  2001-05-05 19:06     ` Jochen Schmidt
  2001-05-05 20:09     ` Jeffrey Carter
@ 2001-05-06  1:50     ` raj
  2001-05-06  2:09       ` raj
  2001-05-06  2:09       ` raj
  2 siblings, 2 replies; 232+ messages in thread
From: raj @ 2001-05-06  1:50 UTC (permalink / raw)


>I take it this writer is not very good with Perl because he refuses to let
>go of his more ancient prejudices. However, the assertation comes out
>absurd. There is no reason to keep Perl away from children just because Raj
>doesn't like it.

As Larry Wall says, Perl is a Swiss Army chainsaw ie : it can do
almost anything but it is inelegant  and just a trace clunky.

Sure it gets the job done but if I was teaching kids an all purpose
scripting language, I would rather teach them Ruby or Python.




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06  1:50     ` raj
@ 2001-05-06  2:09       ` raj
  2001-05-06  2:09       ` raj
  1 sibling, 0 replies; 232+ messages in thread
From: raj @ 2001-05-06  2:09 UTC (permalink / raw)


Education is different from vocational training.
Vocational training is for plumbers and those who have to
start-work-right-now.
Education is  about understanding the fundamentals and the theory that
underlies the subject / the system / the "all".
Education is meant for those capable of   understanding the
fundamentals and the theory that underlies the subject / the system /
the "all".

In this context, I stand by my previous statements:
Lisp, Scheme, subsetted Ada, Smalltalk , Ruby , Python (and if
approached judiciously, even Java and C++) can be used usefully as a
language of discourse.

Perl while admirable as a tool for sys admins and wannabe-hackers  [
do you want your child to just become a sys-admin ? :-) ]  is a
linguistic mishmash  that tries to be all things to all programmers
and ends up becoming ( again to quote Larry Wall ) a "Pathologically
Eclectic Rubbish Lister".

If you really want to teach children to use a multiparadigm language,
try Oz / Mozart. It is has functional, object oriented, logic and
constraint based, features and has concurrency built in. Confusing ? 
Yes ! But unlike Perl, Mozart was DESIGNED  and did not grow by a
process of uglification / accretion.

Accretion is not necessarily bad. Just look at Lisp with it brilliant
metaobject protocol, multiple dispatch and CLOS. But to contemplate
teaching Perl or  Basic to children.........
Phaugh ! 




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06  1:50     ` raj
  2001-05-06  2:09       ` raj
@ 2001-05-06  2:09       ` raj
  2001-05-06 15:49         ` Randal L. Schwartz
  1 sibling, 1 reply; 232+ messages in thread
From: raj @ 2001-05-06  2:09 UTC (permalink / raw)


Education is different from vocational training.
Vocational training is for plumbers and those who have to
start-work-right-now.
Education is  about understanding the fundamentals and the theory that
underlies the subject / the system / the "all".
Education is meant for those capable of   understanding the
fundamentals and the theory that underlies the subject / the system /
the "all".

In this context, I stand by my previous statements:
Lisp, Scheme, subsetted Ada, Smalltalk , Ruby , Python (and if
approached judiciously, even Java and C++) can be used usefully as a
language of discourse.

Perl while admirable as a tool for sys admins and wannabe-hackers  [
do you want your child to just become a sys-admin ? :-) ]  is a
linguistic mishmash  that tries to be all things to all programmers
and ends up becoming ( again to quote Larry Wall ) a "Pathologically
Eclectic Rubbish Lister".

If you really want to teach children to use a multiparadigm language,
try Oz / Mozart. It is has functional, object oriented, logic and
constraint based, features and has concurrency built in. Confusing ? 
Yes ! But unlike Perl, Mozart was DESIGNED  and did not grow by a
process of uglification / accretion.

Accretion is not necessarily bad. Just look at Lisp with it brilliant
metaobject protocol, multiple dispatch and CLOS. But to contemplate
teaching Perl or  Basic to children.........
Phaugh ! 




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 22:59       ` Randal L. Schwartz
  2001-05-05 23:38         ` Jochen Schmidt
@ 2001-05-06  2:19         ` Jeffrey Carter
  1 sibling, 0 replies; 232+ messages in thread
From: Jeffrey Carter @ 2001-05-06  2:19 UTC (permalink / raw)


"Randal L. Schwartz" wrote:
> 
> In other words, the only people we've found disrespect Perl are those
> who haven't bothered to spend 30 to 50 hours learning it.  It's clear
> you're one of those.  Learn it first, then complain about it.

Let me see if I understand this--I should invest $5000.00 to learn Perl,
when people who know it well and use it regularly admit they cannot
understand their own code after a few months?

Thanks for that information. I've made a note of your company and your
name, and will make sure we never use your services.

-- 
Jeff Carter
"I unclog my nose towards you."
Monty Python & the Holy Grail



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06  1:47         ` Reinout Heeck
@ 2001-05-06  3:38           ` Dale Stanbrough
  2001-05-06  4:05             ` Reinout Heeck
  2001-05-06 20:17             ` Dave Harris
  0 siblings, 2 replies; 232+ messages in thread
From: Dale Stanbrough @ 2001-05-06  3:38 UTC (permalink / raw)


Reinout Heeck wrote:

> I don't understand what you are getting at. Messaging is indeed part of
> the core system but values are not messages, values are objects in a
> Smalltalk system and messages return those values. But what do you mean
> when you say 'converting values into messages' ? If you are referring to
> the need to use messages to get to instance variables I'd say that is a
> real good thing, it hides implementation and thus keeps changes in
> implementation local.

You can have values such as '#doSoemthing' (it's been a -long- time
since i've done Smalltalk, so please forgive if i get the syntax
wrong). You can convert this symbol into a method call to a routine
called 'doSomething'


>> Perhaps Forth would have been a better example?

> Of what? 

...of what you were attempting to demonstrate; a language which has
extremely simple semantics with no need to subset it for teaching 
purposes, and almost everything placed into a library.

> The Forth ANSI standard is small enough to be grasped by a single person
> so there is no need to aim at a restricted set there. 

This was my point.


Dale



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06  3:38           ` Dale Stanbrough
@ 2001-05-06  4:05             ` Reinout Heeck
  2001-05-06 10:49               ` SV: " Dan Andersson
  2001-05-06 20:17             ` Dave Harris
  1 sibling, 1 reply; 232+ messages in thread
From: Reinout Heeck @ 2001-05-06  4:05 UTC (permalink / raw)


Dale Stanbrough wrote:
> 
> Reinout Heeck wrote:
> 
> > I don't understand what you are getting at. Messaging is indeed part of
> > the core system but values are not messages, values are objects in a
> > Smalltalk system and messages return those values. But what do you mean
> > when you say 'converting values into messages' ? If you are referring to
> > the need to use messages to get to instance variables I'd say that is a
> > real good thing, it hides implementation and thus keeps changes in
> > implementation local.
> 
> You can have values such as '#doSoemthing' (it's been a -long- time
> since i've done Smalltalk, so please forgive if i get the syntax
> wrong). You can convert this symbol into a method call to a routine
> called 'doSomething'
> 

Now I get it, this is indeed a powerful feature with huge potential for
abuse. It's there so the IDE can be written in Smalltalk and it can live
in the same address space as the application. However when an
application makes use of it that's frowned upon by many Smalltalkers, 
tools like SmallLint will report it as a 'questionable message send'.

> >> Perhaps Forth would have been a better example?
> 
> > Of what?
> 
> ...of what you were attempting to demonstrate; a language which has
> extremely simple semantics with no need to subset it for teaching
> purposes, and almost everything placed into a library.
> 
> > The Forth ANSI standard is small enough to be grasped by a single person
> > so there is no need to aim at a restricted set there.
> 
> This was my point.

OK, the Smalltalk core is _much_ smaller and the presence of a simple
syntax makes it easier to read than Forth though. So I'd say of these
two Smalltalk is the 'better' example.


Cheers!

Reinout
-------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* SV: Beginner's Language?
  2001-05-06  4:05             ` Reinout Heeck
@ 2001-05-06 10:49               ` Dan Andersson
  2001-05-06 11:42                 ` Reinout Heeck
  0 siblings, 1 reply; 232+ messages in thread
From: Dan Andersson @ 2001-05-06 10:49 UTC (permalink / raw)



> > > The Forth ANSI standard is small enough to be grasped by a single
person
> > > so there is no need to aim at a restricted set there.
> >
> > This was my point.
>
> OK, the Smalltalk core is _much_ smaller and the presence of a simple
> syntax makes it easier to read than Forth though. So I'd say of these
> two Smalltalk is the 'better' example.

Smalltalk core smaller than Forth, surely you jest? Maybe a minimal
Smalltalk is smaller than a full ANS Forth. But Forth is commonly used under
severely constrained circumstances and the base wordset is small.

Regards Dan Andersson





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: SV: Beginner's Language?
  2001-05-06 10:49               ` SV: " Dan Andersson
@ 2001-05-06 11:42                 ` Reinout Heeck
  2001-05-06 13:31                   ` SV: " Dan Andersson
  0 siblings, 1 reply; 232+ messages in thread
From: Reinout Heeck @ 2001-05-06 11:42 UTC (permalink / raw)


Dan Andersson wrote:
> 
> > > > The Forth ANSI standard is small enough to be grasped by a single
> person
> > > > so there is no need to aim at a restricted set there.
> > >
> > > This was my point.
> >
> > OK, the Smalltalk core is _much_ smaller and the presence of a simple
> > syntax makes it easier to read than Forth though. So I'd say of these
> > two Smalltalk is the 'better' example.
> 
> Smalltalk core smaller than Forth, surely you jest? Maybe a minimal
> Smalltalk is smaller than a full ANS Forth. But Forth is commonly used under
> severely constrained circumstances and the base wordset is small.
> 
> Regards Dan Andersson

I was talking language concepts you need to learn before delving into
the library, not memory footprint.

As I said earlier in this thread I would seriously consider Forth if I
had to work in a tiny environment.


Reinout
-------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05  9:06   ` David Starner
  2001-05-05 11:05     ` chris.danx
@ 2001-05-06 13:14     ` Florian Weimer
  2001-05-06 19:15       ` David Starner
  1 sibling, 1 reply; 232+ messages in thread
From: Florian Weimer @ 2001-05-06 13:14 UTC (permalink / raw)


dvdeug@x8b4e53cd.dhcp.okstate.edu (David Starner) writes:

> Why a functional language? I would think a procedural language would
> be easier to teach as a first language, and would provide them with
> framework needed for the languages most programmings being done it.

If someone has reasonable basic mathematical training (in particular,
if s/he knows how to play around with sets and mappings), you can
explain the basics of functional programming in those terms. I think
this much easier to understand than the concept of a stateful machine
executing some program code.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* SV: SV: Beginner's Language?
  2001-05-06 11:42                 ` Reinout Heeck
@ 2001-05-06 13:31                   ` Dan Andersson
  0 siblings, 0 replies; 232+ messages in thread
From: Dan Andersson @ 2001-05-06 13:31 UTC (permalink / raw)


Since Forth is essentially syntax less (It only has semantics) and only a
few concepts, less than ten I contest and maybe less than five depending on
how you define concepts (Concept == stretchy definition word), I really
don't see that either. One case in point is that it is not uncommon to learn
Forth by writing a new Forth after being taught the concepts, or maybe a
subset like a simple rpn evaluator. And I'm not talking about modifying
existing code but recreating it from machine code and up. That shows
something of the simplicity of it.The number of user created Smalltalks are
few in comparison. Tcl is another case of a few concepts language, but even
though the syntax is really simple it has a steep learning curve since the
syntax is based on inhuman concepts, IMO. But even if Forth is simple and
efficient it has not really taken of in the mainstream, maybe because the
many versions or maybe because there are so many worthy languages out there.
For example the simple object oriented languages Oberon-2 and Eiffel who are
small but not toy languages, or Icon and Unicon with their extremely
expressive syntax and some functional languages like Erlang, Haskell and
Clean. Not to forget the Lisp/Scheme complex with the excellent DrScheme
environment that I cannot recommend enough.

Regards Dan Andersson





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
                   ` (4 preceding siblings ...)
  2001-05-05  6:23 ` Beginner's Language? Gerhard Häring
@ 2001-05-06 15:17 ` DuckE
  2001-05-06 20:58 ` Frank
  2001-05-06 21:12 ` Kenneth Almquist
  7 siblings, 0 replies; 232+ messages in thread
From: DuckE @ 2001-05-06 15:17 UTC (permalink / raw)


In my opinion Ada is an excellent choice as a good first language for a
beginner.

When you make a mistake while programming in Ada, often the program will not
run at all until the error is corrected.  When you make a mistake while
programming in other programming languages, it is more likely that the
program will run, and give you wrong answers.

When compared to Lisp, Perl and BASIC,  I believe the beginner will find the
language easier to read.  Reading Ada programs is more like reading a book
than like reading a bunch of math formulas.

I hope this helps with replies for 7th grade students.

SteveD


"Faisal Halim" <faisal_halim@yahoo.com> wrote in message
news:9cukad$nn68@news-dxb...
> Assalaamu 'alaikum,
>
> I would like to know if ADA is a good first language for a beginner,
> especially when compared to Lisp and Perl, and BASIC.
>
> Despite my 'O' Level qualification in Computers, please assume you are
> answering a person totally devoid of computer concepts, as I would find
> such  replies useful when answering queries from 7th grade students who
are
> interested in computers and programming, but have no idea of which
language
> to use.
>
> Thank you all in advance for your feedback and co-operation.
>
> Faisal Halim
> 4th May, 2001
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06  2:09       ` raj
@ 2001-05-06 15:49         ` Randal L. Schwartz
  2001-05-06 22:37           ` Multiparadigm Languages : (was Beginners Language) raj
                             ` (2 more replies)
  0 siblings, 3 replies; 232+ messages in thread
From: Randal L. Schwartz @ 2001-05-06 15:49 UTC (permalink / raw)


>>>>> "raj" == raj  <israelrt@optushome.com.au> writes:

raj> Yes ! But unlike Perl, Mozart was DESIGNED  and did not grow by a
raj> process of uglification / accretion.

The way you say that, you make it sound like Perl was undesigned.
Perl has a very specific and elegant design behind the scenes, and
Larry Wall would be very offended to hear you say otherwise.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06 13:14     ` Florian Weimer
@ 2001-05-06 19:15       ` David Starner
  0 siblings, 0 replies; 232+ messages in thread
From: David Starner @ 2001-05-06 19:15 UTC (permalink / raw)


On 06 May 2001 15:14:18 +0200, Florian Weimer <fw@deneb.enyo.de> wrote:
> If someone has reasonable basic mathematical training (in particular,
> if s/he knows how to play around with sets and mappings), you can
> explain the basics of functional programming in those terms. I think
> this much easier to understand than the concept of a stateful machine
> executing some program code.

In my experience, sets and mappings aren't dealt with in detail
until a college class (Discrete Math) usually taken after CompSci 1.
Most algorithms, even in elementary school, are taught in a
procedural manner, with lots of sequence points and gotos. The world
is a very stateful place, and I think iteration is easier to
understand than recursion.

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I don't care if Bill personally has my name and reads my email and 
laughs at me. In fact, I'd be rather honored." - Joseph_Greg



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06  3:38           ` Dale Stanbrough
  2001-05-06  4:05             ` Reinout Heeck
@ 2001-05-06 20:17             ` Dave Harris
  1 sibling, 0 replies; 232+ messages in thread
From: Dave Harris @ 2001-05-06 20:17 UTC (permalink / raw)


dale@cs.rmit.edu.au (Dale Stanbrough) wrote (abridged):
> You can have values such as '#doSoemthing' (it's been a -long- time
> since i've done Smalltalk, so please forgive if i get the syntax
> wrong). You can convert this symbol into a method call to a routine
> called 'doSomething'

Actually that is a library call, called #perform:. Arguably it is no more 
part of the language than #ifTrue:. Eg:

    |aSymbol|
    aSymbol:= #message.
    anObject perform: aSymbol.

has the same effect as:

    anObject message.

The equivalent in C++ would be like:

    void (Object::*aPmf)();
    aPmf = &Object::message;
    (anObject->*aPmf)();

which has the same effect as:

    anObject->message();

I agree this stuff need not be taught on the first day. Still, it is a 
useful and powerful technique. I suspect a Smalltalk course could include 
it earlier than a C++ course. (The syntax alone could make C++ students 
run screaming, never mind the type-checking issues.)

The #message notation itself is part of the language; it produces a 
Symbol. A Symbol is what Java calls an "interned" String, meaning that 
two Symbols with the same value will have the same identity. This means 
that comparing Symbols for equality is fast, because we don't have to 
look at each of the characters in them like we do with Strings. This 
means they are quite commonly used in Smalltalk; often in situations 
where C++ would use an enum. They are not just used with #perform:.

Although this is fairly subtle stuff, I would hope a Smalltalk course 
would cover the difference between:

     string1 == string2.
     string1 = string2.

just as a C++ course would cover the difference between:

     string1 == string2;
     strcmp( string1, string2 );

because a programmer who doesn't grasp this does not yet grasp the object 
model.

Finally, in Smalltalk we can construct Symbols on the fly. Eg:

    |aPrefix aSuffix aSymbol|
    aPrefix := 'mess'.
    aSuffix := 'age'.
    aSymbol := (aPrefix, aSuffix) asSymbol.
    anObject perform: aSymbol.

I hope it is clear what that is doing. There is no C++ equivalent.

  Dave Harris, Nottingham, UK | "Weave a circle round him thrice,
      brangdon@cix.co.uk      |   And close your eyes with holy dread,
                              |  For he on honey dew hath fed
 http://www.bhresearch.co.uk/ |   And drunk the milk of Paradise."



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
                   ` (5 preceding siblings ...)
  2001-05-06 15:17 ` DuckE
@ 2001-05-06 20:58 ` Frank
  2001-05-06 21:12 ` Kenneth Almquist
  7 siblings, 0 replies; 232+ messages in thread
From: Frank @ 2001-05-06 20:58 UTC (permalink / raw)


Hi!

I would also have looked at programming environments rather than specific
languages for the first language to use. Also the environments ability to
return convenient error messages/warnings are important. What kind of
options do you have for them regarding this?

For people meeting computer languages the first time, I guess it is a relief
to "forget" the memory allocation/deallocation nightmare, and rather
consentrate on algorithms, how does a computer work asf. One might say that
Java would be a good alternative then, but I think that a problem with OO
for education might be that you make a lot of code that "doesn't do
anything" (also known as methods :-), but; a lot of people(young)  knows
this language now.

I believe that Pascal has a advantage in education; a lot of people have
learned it:e.g a relative (even an adult :-))) or a friend of the student
might have used it sometime. You consentrate on algoritms -> you learn how a
computer works.

As this was none of your alternatives; the next tip would be BASIC. Perhaps
pushing them into Ada after 6 months or something would be possible, but I
think that they would be very much "on their own" with Ada.

Frank


Faisal Halim <faisal_halim@yahoo.com> wrote in message
news:9cukad$nn68@news-dxb...
> Assalaamu 'alaikum,
>
> I would like to know if ADA is a good first language for a beginner,
> especially when compared to Lisp and Perl, and BASIC.
>
> Despite my 'O' Level qualification in Computers, please assume you are
> answering a person totally devoid of computer concepts, as I would find
> such  replies useful when answering queries from 7th grade students who
are
> interested in computers and programming, but have no idea of which
language
> to use.
>
> Thank you all in advance for your feedback and co-operation.
>
> Faisal Halim
> 4th May, 2001
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-04 16:12 Beginner's Language? Faisal Halim
                   ` (6 preceding siblings ...)
  2001-05-06 20:58 ` Frank
@ 2001-05-06 21:12 ` Kenneth Almquist
  7 siblings, 0 replies; 232+ messages in thread
From: Kenneth Almquist @ 2001-05-06 21:12 UTC (permalink / raw)


Faisal Halim <faisal_halim@yahoo.com> asked:
> I would like to know if ADA is a good first language for a beginner,
> especially when compared to Lisp and Perl, and BASIC.

The answer depends in part on what you want the beginner to learn
about programming.  Ada is a good language to use to learn software
engineering principles.  

> Despite my 'O' Level qualification in Computers, please assume you are 
> answering a person totally devoid of computer concepts, as I would find 
> such  replies useful when answering queries from 7th grade students who are 
> interested in computers and programming, but have no idea of which language 
> to use.

Seventh grade students may be a bit young for a language like Ada.
For that age group, I'd be more inclined to suggest ABC, which was
designed specificly for beginning programmers.  The assumption is
that after learning ABC, if they remain interested in computers
they will learn a language targetted at professional programmers (such
as Ada).  I think that anyone who is seriously interested in computers
should learn more than one language.

With regard to the other languages you mention:

I do not reccomend BASIC.  The initial version of this langauge was
intended to be an introductory language, but we now know more about
programming language design and can do better.  FORTRAN, which BASIC
is based on, has undergone major changes since BASIC was designed.

I think that Perl is a poor choice for a first language, for reasons
that others have explained, and that LISP is a reasonable choice for a
first language.
				Kenneth Almquist



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Multiparadigm Languages : (was Beginners Language)
  2001-05-06 15:49         ` Randal L. Schwartz
@ 2001-05-06 22:37           ` raj
  2001-05-06 22:50           ` Beginner's Language? raj
  2001-05-06 23:13           ` Multiparadigm Languages : (was Beginners Language) raj
  2 siblings, 0 replies; 232+ messages in thread
From: raj @ 2001-05-06 22:37 UTC (permalink / raw)


Forwarded from  the python mailing list <python-list@python.org>

Bob Calco <rcalco@cortechs.com>
Wow, don't see too many references to Mozart/Oz -- but I agree: It's a
very powerful environment/language (respectively) that was DESIGNED
(versus "evolved") from the ground up to support multiple programming
paradigms, and support them well. It's really quite an incredible
achievement that isn't hard to appreciate once you get over the hump
of its significant learning curve, and some of its
open-source/low-development-budget quirks. It wasn't
built for the "feint of heart"...though its creators are, like Guido
vis a vis Python, quite certain that the world would be a better place
if it was taught as a first programming language. I don't disagree
with them, or Guido either, for that matter. ;)

The language itself (Oz) isn't exactly what I would call "elegant" or
syntactically easy to learn (not compared to Python, anyway) -- or in
any event the elegance of the language isn't something that jumps out
at you right away until you know what you're looking at -- but it
does, as I said, offer tremendous flexibility and power in the right
hands. It lets you fit the solution to the problem domain, instead of
the other way around -- the way most other languages force you to
approach application design, i.e., the way of Procrustes ("we're using
an OOP language, so we'll describe the problem in OOP terms" vs. "this
really is a problem that lends itself to OOP analysis, so we'll use
the OOP aspects of the language for this piece of the application").

(The classic "I have a hammer so everything is a nail" syndrome...with
Mozart, you have a more-or-less complete toolbox and actually have to
pick and choose the right tool for the job. That really is it's
primary value proposition, so far as I'm concerned, especially when
the problem domain is suited to declarative programming (a la Prolog),
which neither Java nor Python nor C/C++ really support. Mozart excels
as a cross platform substitute for Prolog-style languages, ideally
suited for things like intelligent mobile agents and distributed
component-based expert-systems. )

But the fact that it truly does support OOP, and procedural, and
declarative, and GUI (via Tk), and about a half a dozen other
paradigms, and it is completely free and extensible (like Python) in
C, makes it a great one-stop shop kind of language. The difficulty of
mastering the language has less to do with syntax/symantics than it
does getting used to the many different styles of programming it
supports... knowing when to use what paradigm lands you smack dab in
the heart of computer science at the highest altitudes. Not every
programmer likes to climb that dark and dangerous
cliff... most get stuck in some one True Way of doing things, where
everything is "obvious" and there's a large community of folks around
to reinforce that illusion (Java's a perfect example). This is fine
for a technician, but a *real* software engineer in the highest,
grandest, most idealized sense of the term really ought to have
broader horizons, IMHO.

Programming in Mozart is a lot like mountain climbing -- you gotta be
just a little nuts and willing to endure the solitude of obscure and
distant landscapes and breath thinner air to do it, but ah, the sights
you see!

(BTW, I still admire and use Python, don't get me wrong. I'm just very
impressed by Mozart and figured I'd take the occasion to extoll its
many virtues since raj brought it up... )

;)

Check it out at:

http://www.mozart-oz.org

Download and install it,

http://www.mozart-oz.org/download/

then check out some of the interesting online demos:

http://www.mozart-oz.org/documentation/demo/

Sincerely,

Bob Calco

# -----Original Message-----
# From: python-list-admin@python.org
# [mailto:python-list-admin@python.org]On Behalf Of raj
# Sent: Saturday, May 05, 2001 10:09 PM
# To: python-list@python.org
# Subject: Re: Beginner's Language?
#
#
# Education is different from vocational training.
# Vocational training is for plumbers and those who have to
# start-work-right-now.
# Education is  about understanding the fundamentals and the theory
that
# underlies the subject / the system / the "all".
# Education is meant for those capable of   understanding the
# fundamentals and the theory that underlies the subject / the system
/
# the "all".
#
# In this context, I stand by my previous statements:
# Lisp, Scheme, subsetted Ada, Smalltalk , Ruby , Python (and if
# approached judiciously, even Java and C++) can be used usefully as a
# language of discourse.
#
# Perl while admirable as a tool for sys admins and wannabe-hackers  [
# do you want your child to just become a sys-admin ? :-) ]  is a
# linguistic mishmash  that tries to be all things to all programmers
# and ends up becoming ( again to quote Larry Wall ) a "Pathologically
# Eclectic Rubbish Lister".
#
# If you really want to teach children to use a multiparadigm
language,
# try Oz / Mozart. It is has functional, object oriented, logic and
# constraint based, features and has concurrency built in. Confusing ?
# Yes ! But unlike Perl, Mozart was DESIGNED  and did not grow by a
# process of uglification / accretion.
#
# Accretion is not necessarily bad. Just look at Lisp with it
brilliant
# metaobject protocol, multiple dispatch and CLOS. But to contemplate
# teaching Perl or  Basic to children.........
# Phaugh !
#
# --
# http://mail.python.org/mailman/listinfo/python-list
#




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-06 15:49         ` Randal L. Schwartz
  2001-05-06 22:37           ` Multiparadigm Languages : (was Beginners Language) raj
@ 2001-05-06 22:50           ` raj
  2001-05-06 23:13           ` Multiparadigm Languages : (was Beginners Language) raj
  2 siblings, 0 replies; 232+ messages in thread
From: raj @ 2001-05-06 22:50 UTC (permalink / raw)


>raj> Yes ! But unlike Perl, Mozart was DESIGNED  and did not grow by a
>raj> process of uglification / accretion.

>The way you say that, you make it sound like Perl was undesigned.

No.
However, elegance and pedagogic virtues were not what Larry had in
mind when he designed ( or rather, grew  ) it. Functionality and
"Magic" ( in the Wallesque sense ) were what mattered.

>Perl has a very specific and elegant design behind the scenes, and
>Larry Wall would be very offended to hear you say otherwise.

To quote Larry's foreword to your own excellent book:

( after talking at amusing length about how he melted the "beads" of
AWK, sed, sh , BASIC , Lisp and C together to form Perl)

"the magical bead eventually grew into this rather odd-looking Amulet
that you see before you today. See it glitter , almost like a pearl...

The Amulet isnt exactly beautiful though; in fact up close it still
looks like a bunch of beads melted together. Well, all right, I admit
it. It's downright ugly. But never mind that. It's the Magic that
counts. "






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Multiparadigm Languages : (was Beginners Language)
  2001-05-06 15:49         ` Randal L. Schwartz
  2001-05-06 22:37           ` Multiparadigm Languages : (was Beginners Language) raj
  2001-05-06 22:50           ` Beginner's Language? raj
@ 2001-05-06 23:13           ` raj
  2 siblings, 0 replies; 232+ messages in thread
From: raj @ 2001-05-06 23:13 UTC (permalink / raw)


Forwarded from  the python mailing list <python-list@python.org>

Bob Calco <rcalco@cortechs.com>
Wow, don't see too many references to Mozart/Oz -- but I agree: It's a
very powerful environment/language (respectively) that was DESIGNED
(versus "evolved") from the ground up to support multiple programming
paradigms, and support them well. It's really quite an incredible
achievement that isn't hard to appreciate once you get over the hump
of its significant learning curve, and some of its
open-source/low-development-budget quirks. It wasn't
built for the "feint of heart"...though its creators are, like Guido
vis a vis Python, quite certain that the world would be a better place
if it was taught as a first programming language. I don't disagree
with them, or Guido either, for that matter. ;)

The language itself (Oz) isn't exactly what I would call "elegant" or
syntactically easy to learn (not compared to Python, anyway) -- or in
any event the elegance of the language isn't something that jumps out
at you right away until you know what you're looking at -- but it
does, as I said, offer tremendous flexibility and power in the right
hands. It lets you fit the solution to the problem domain, instead of
the other way around -- the way most other languages force you to
approach application design, i.e., the way of Procrustes ("we're using
an OOP language, so we'll describe the problem in OOP terms" vs. "this
really is a problem that lends itself to OOP analysis, so we'll use
the OOP aspects of the language for this piece of the application").

(The classic "I have a hammer so everything is a nail" syndrome...with
Mozart, you have a more-or-less complete toolbox and actually have to
pick and choose the right tool for the job. That really is it's
primary value proposition, so far as I'm concerned, especially when
the problem domain is suited to declarative programming (a la Prolog),
which neither Java nor Python nor C/C++ really support. Mozart excels
as a cross platform substitute for Prolog-style languages, ideally
suited for things like intelligent mobile agents and distributed
component-based expert-systems. )

But the fact that it truly does support OOP, and procedural, and
declarative, and GUI (via Tk), and about a half a dozen other
paradigms, and it is completely free and extensible (like Python) in
C, makes it a great one-stop shop kind of language. The difficulty of
mastering the language has less to do with syntax/symantics than it
does getting used to the many different styles of programming it
supports... knowing when to use what paradigm lands you smack dab in
the heart of computer science at the highest altitudes. Not every
programmer likes to climb that dark and dangerous
cliff... most get stuck in some one True Way of doing things, where
everything is "obvious" and there's a large community of folks around
to reinforce that illusion (Java's a perfect example). This is fine
for a technician, but a *real* software engineer in the highest,
grandest, most idealized sense of the term really ought to have
broader horizons, IMHO.

Programming in Mozart is a lot like mountain climbing -- you gotta be
just a little nuts and willing to endure the solitude of obscure and
distant landscapes and breath thinner air to do it, but ah, the sights
you see!

(BTW, I still admire and use Python, don't get me wrong. I'm just very
impressed by Mozart and figured I'd take the occasion to extoll its
many virtues since raj brought it up... )

;)

Check it out at:

http://www.mozart-oz.org

Download and install it,

http://www.mozart-oz.org/download/

then check out some of the interesting online demos:

http://www.mozart-oz.org/documentation/demo/

Sincerely,

Bob Calco

# -----Original Message-----
# From: python-list-admin@python.org
# [mailto:python-list-admin@python.org]On Behalf Of raj
# Sent: Saturday, May 05, 2001 10:09 PM
# To: python-list@python.org
# Subject: Re: Beginner's Language?
#
#
# Education is different from vocational training.
# Vocational training is for plumbers and those who have to
# start-work-right-now.
# Education is  about understanding the fundamentals and the theory
that
# underlies the subject / the system / the "all".
# Education is meant for those capable of   understanding the
# fundamentals and the theory that underlies the subject / the system
/
# the "all".
#
# In this context, I stand by my previous statements:
# Lisp, Scheme, subsetted Ada, Smalltalk , Ruby , Python (and if
# approached judiciously, even Java and C++) can be used usefully as a
# language of discourse.
#
# Perl while admirable as a tool for sys admins and wannabe-hackers  [
# do you want your child to just become a sys-admin ? :-) ]  is a
# linguistic mishmash  that tries to be all things to all programmers
# and ends up becoming ( again to quote Larry Wall ) a "Pathologically
# Eclectic Rubbish Lister".
#
# If you really want to teach children to use a multiparadigm
language,
# try Oz / Mozart. It is has functional, object oriented, logic and
# constraint based, features and has concurrency built in. Confusing ?
# Yes ! But unlike Perl, Mozart was DESIGNED  and did not grow by a
# process of uglification / accretion.
#
# Accretion is not necessarily bad. Just look at Lisp with it
brilliant
# metaobject protocol, multiple dispatch and CLOS. But to contemplate
# teaching Perl or  Basic to children.........
# Phaugh !
#
# --
# http://mail.python.org/mailman/listinfo/python-list
#




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 19:49   ` Beginner's Language? Larry Kilgallen
  2001-05-05 22:52     ` Reinout Heeck
@ 2001-05-07 10:41     ` Biep @ http://www.biep.org
  2001-05-07 10:57       ` Andrew Cooke
  1 sibling, 1 reply; 232+ messages in thread
From: Biep @ http://www.biep.org @ 2001-05-07 10:41 UTC (permalink / raw)


"Larry Kilgallen" <Kilgallen@eisner.decus.org.nospam> wrote in message
news:InrbsIku15ll@eisner.encompasserve.org...
> It seems to me that regardless of the language chosen, a restricted
> subset is _always_ appropriate.  For any reasonable language there
> are bound to be parts that while helpful in certain real-world
> programming situations are not illustrative of the _concepts_
> involved in programming.

Just curious: what parts of Scheme would you leave out as not necessary to
illustrate important concepts in programming (or software engineering)?

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





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 10:41     ` Biep @ http://www.biep.org
@ 2001-05-07 10:57       ` Andrew Cooke
  2001-05-09 10:22         ` Biep @ http://www.biep.org/
  0 siblings, 1 reply; 232+ messages in thread
From: Andrew Cooke @ 2001-05-07 10:57 UTC (permalink / raw)



For an introductory course you might omit whatever the Scheme equivalent
of setq is.  And does Scheme have macros? - if so, they could go too.

Andrew

"Biep @ http://www.biep.org" wrote:
> 
> "Larry Kilgallen" <Kilgallen@eisner.decus.org.nospam> wrote in message
> news:InrbsIku15ll@eisner.encompasserve.org...
> > It seems to me that regardless of the language chosen, a restricted
> > subset is _always_ appropriate.  For any reasonable language there
> > are bound to be parts that while helpful in certain real-world
> > programming situations are not illustrative of the _concepts_
> > involved in programming.
> 
> Just curious: what parts of Scheme would you leave out as not necessary to
> illustrate important concepts in programming (or software engineering)?
> 
> --
> Biep
> Reply via http://www.biep.org



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05  1:51 ` raj
                     ` (2 preceding siblings ...)
  2001-05-05 19:49   ` Beginner's Language? Larry Kilgallen
@ 2001-05-07 14:24   ` Marin David Condic
  2001-05-07 15:45     ` Friedrich Dominicus
                       ` (3 more replies)
  2001-05-10  8:02   ` OZ as a beginners' banguage? Biep @ http://www.biep.org/
  4 siblings, 4 replies; 232+ messages in thread
From: Marin David Condic @ 2001-05-07 14:24 UTC (permalink / raw)


The languages you mention are all useful for a student to learn at some
juncture in their education. However as a *first* language, I think some of
them would be poorly suited. Definitely C(++) and Lisp stick out as things I
would *NOT* try to teach as a first programming language. Probably you will
hear objections from others about some of the other languages. (I'm not
intimately familiar with all the ones you mention.) For beginners who know
nothing of computers, you need something that presents things in a simple,
readable way with uncomplicated semantics. Beginning students need to be
able to write simple "Hello World" programs just to get the concepts down
concerning variables, math operations, flow of control, basic I/O,
subprogram usage, etc. If you toss a complex language at them that makes
these basics at all complicated, you'll obfuscate what you want to get at &
discourage them.

My advice for a first programming language would be Ada (for a lot of
reasons besides being my favorite language :-) followed by Pascal & maybe
Modula-2. Save the other stuff until the students have progressed a little.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"raj" <israelrt@optushome.com.au> wrote in message
news:q9n6ft0pbn903d5gqqbjfjns0ae0kfvra9@4ax.com...
> On Fri, 4 May 2001 20:12:21 +0400, Faisal Halim
> <faisal_halim@yahoo.com> wrote:
>
>
> A restricted subset of Ada would be excellent  since it can be used to
> teach not only programming but more importantly, software engineering
> concepts.
>
> However, other languages you may want to consider include Haskell ,
> OCaml , Smalltalk and even ( shudder ! C++ or Java )
>
> If your students are bright and motivated to learn theory and
> fundamentals, Lisp ( or perhaps its smaller and more pedagogically
> oriented dialect Scheme ) and Haskell are excellent choices.
>
> If your students are short sighted drones who want to learn the
> currently fashionable choices, C++ and Java are (yuck ) appropriate.
>
> But please, do not inflict Perl and BASIC upon innocent children.
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 14:24   ` Marin David Condic
@ 2001-05-07 15:45     ` Friedrich Dominicus
  2001-05-09  7:19       ` Espen Vestre
  2001-05-09 13:55       ` Marin David Condic
  2001-05-08  0:15     ` Dodger
                       ` (2 subsequent siblings)
  3 siblings, 2 replies; 232+ messages in thread
From: Friedrich Dominicus @ 2001-05-07 15:45 UTC (permalink / raw)


"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:

> The languages you mention are all useful for a student to learn at some
> juncture in their education. However as a *first* language, I think some of
> them would be poorly suited. Definitely C(++) and Lisp stick out as things I
> would *NOT* try to teach as a first programming language.

Why no Lisp?

Friedrich



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 14:24   ` Marin David Condic
  2001-05-07 15:45     ` Friedrich Dominicus
@ 2001-05-08  0:15     ` Dodger
  2001-05-16 16:55       ` Lex Spoon
  2001-05-08  7:11     ` Tarjei T. Jensen
  2001-05-09  5:32     ` Beginner's Language? Simon Wright
  3 siblings, 1 reply; 232+ messages in thread
From: Dodger @ 2001-05-08  0:15 UTC (permalink / raw)


"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> wrote in
message news:9d6b6e$1bt$1@nh.pace.co.uk...

> My advice for a first programming language would be Ada (for a lot of
> reasons besides being my favorite language :-) followed by Pascal & maybe
> Modula-2. Save the other stuff until the students have progressed a
little.

Got a better one. It's terrible (which is a better representation of what
they will end up doing, most likely), and wonky, and regardless of all your
opinions of perl for weal or woe, it makes Perl look beautiful...

But, it will get kids programming.

LPC. Set them up a mud. Get them to code LPC (a whacked out MUD code C-based
...thing...) or some other MU* code that is actually programmable.

After their fifth soul-sucking sword or beer vending machine or pseudo-AI
dragonbot, they will have some ideas of what they are doing, most likely,
and the ideas on how it really workds will sink into their brains.

Besides, think of it like this: You can theorise about what cough medicine
to give a two year old all you want, too, but Dimetapp tastes like Koolaid,
and they won't spit it out.

--
Dodger
www.dodger.org
www.necrosoft.net
www.gothic-classifieds.com






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 14:24   ` Marin David Condic
  2001-05-07 15:45     ` Friedrich Dominicus
  2001-05-08  0:15     ` Dodger
@ 2001-05-08  7:11     ` Tarjei T. Jensen
  2001-05-08  7:23       ` ronald schroder
  2001-05-08 13:38       ` Marin David Condic
  2001-05-09  5:32     ` Beginner's Language? Simon Wright
  3 siblings, 2 replies; 232+ messages in thread
From: Tarjei T. Jensen @ 2001-05-08  7:11 UTC (permalink / raw)



Marin David Condic wrote
>My advice for a first programming language would be Ada (for a lot of
>reasons besides being my favorite language :-) followed by Pascal & maybe
>Modula-2. Save the other stuff until the students have progressed a little.

But none of these are any improvement on Ada or sufficiently different to be
of paedagogic value. Well, perhaps Delphi for a windows project to
familiarize student with windows programming.


Greetings,







^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-08  7:11     ` Tarjei T. Jensen
@ 2001-05-08  7:23       ` ronald schroder
  2001-05-16 17:53         ` Lex Spoon
  2001-05-08 13:38       ` Marin David Condic
  1 sibling, 1 reply; 232+ messages in thread
From: ronald schroder @ 2001-05-08  7:23 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 794 bytes --]

On Tue, 8 May 2001 09:11:46 +0200, "Tarjei T. Jensen"
<tarjei.jensen@kvaerner.com> wrote:

>But none of these are any improvement on Ada or sufficiently different to be
>of paedagogic value. Well, perhaps Delphi for a windows project to
>familiarize student with windows programming.
>
I was taught Pascal in the early days, in the tradition set by
professor Edsger W. Dijkstra et al., and it didn't hurt me.
Pascal can be a very paedogogic language, was indeed designed to be
just that. And I still use Delphi, even like it.
Scheme was a fourth or fifth language for me and I like it, but I
wouldn't deem it proper for a first course. Procedural programming IS
a low level business, but it helps us to see that computers do what we
tell them, not what we want them to do.

Ronald Schr�der



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-08  7:11     ` Tarjei T. Jensen
  2001-05-08  7:23       ` ronald schroder
@ 2001-05-08 13:38       ` Marin David Condic
  2001-05-08 23:46         ` Beginner's Ide raj
  1 sibling, 1 reply; 232+ messages in thread
From: Marin David Condic @ 2001-05-08 13:38 UTC (permalink / raw)


If it were me, I'd just use Ada and be done with it. However, some people
may have too much of an anti-Ada bias and would refuse to use it in their
course - in which case I'd suggest considering Pascal or some other similar
language that is reasonably well known and available & provides the right
sort of constructs for teaching about how to think about programming.

You're right - there is no advantage over Ada. This is especially true since
Gnat is generally available, of descent quality and has plenty of
educational materials associated with it. A prof can hand students an
intro-level text, a compiler, an IDE with debugging capabilites and plenty
of examples of working code - all of it free or reasonably inexpensive (The
book is about all you'd have to pay for.) Syntactically and semantically,
Ada is better than Pascal & many other languages and offers plenty of room
for the student to grow. I'd use Ada for an intro class and not look back -
but obviously some people have an irrational attitude about it. (Just lets
watch how long it takes the cross-posting of this thread to bring out the
Anti-Ada bigots who know nothing of the language and have never used it, yet
*know* they hate it. :-)

I had a prof in business school who taught MIS for MBA's. He found out I
used Ada on the job and immediately began snearing at it and commenting on
it with contempt and wondering who it was who was "forcing" us to use Ada.
In conversation, I discovered that he knew *nothing* of Ada beyond rumors.
He was pretty well astonished that we would use Ada *by*choice* because we
found it technically superior. If this is the sort of prof who proposes
teaching an intro level class on programming, I'd rather he at least went
with Pascal rather than trying to teach beginners with C++ or something
equally unsuitable.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> wrote in message
news:9d867n$ort13@news.kvaerner.com...
> But none of these are any improvement on Ada or sufficiently different to
be
> of paedagogic value. Well, perhaps Delphi for a windows project to
> familiarize student with windows programming.
>






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 23:38         ` Jochen Schmidt
@ 2001-05-08 16:01           ` John English
  2001-05-08 18:37             ` Brian Rogoff
  2001-05-09 16:40             ` Charles Hixson
  0 siblings, 2 replies; 232+ messages in thread
From: John English @ 2001-05-08 16:01 UTC (permalink / raw)


I am well known as an Ada advocate, but...

Jochen Schmidt wrote:
> 1) The things Perl is optimized for is not the kind of work I want do be
>    paid for. I think Perl is ok for an admin that needs to automate some
>    things or probably some bad Webdesigner who knows nothing better.

I tend to use Perl *a lot* for a variety of jobs. Why don't I use
Ada for these? Well...

  1) Perl is good for string slinging. If I want to slurp a whole
     file into a string and do pattern-based substitutions or chop
     it up into an array of smaller strings, it's easy to do so.

  2) Perl has associative arrays (hashes). I really wish Ada did.
     I don't want to have to reinvent the wheel, or use a proprietary
     package to avoid doing so. And I use hashes all the time.

  3) Perl has a lot of support for other things: databases, HTML,
     XML, sockets, and so on. There's usually a tool I can use for
     most problems I'm faced with.

I probably would use Ada if I could solve the problems I use Perl
for as easily as I can in Perl. Sometimes, when Perl won't do, I
turn to Python instead. If I'm writing code that involves sockets
and URLs and graphics (but little string-slinging), I use Java because
Java has a good set of tools for jobs like that. And so on.

Maybe one day, Ada will have a rich standard set of APIs that will
cover all the bases, but in the meantime it lacks standard data
structures, GUI support, networking, XML... despite the efforts
that various individuals have made to remedy these defects. And
that is a serious limitation IMHO.

>    I'am neither an admin nor a Webdesigner.

Me neither.

> 2) There is no real practical side when talking on programming languages
>     if a language is bad on it's language-theoretic concepts it cannot be
>     _really_ good for practical issues.

That's like saying a Swiss Army knife is a "bad" tool. It may not
be as good as a scalpel or a power screwdriver for particular jobs,
but it's better than either if you want to get a splinter out of your
hand or open a bottle of wine (or both :-).

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.it.bton.ac.uk/staff/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-08 16:01           ` John English
@ 2001-05-08 18:37             ` Brian Rogoff
  2001-05-09 11:31               ` John English
  2001-05-09 16:40             ` Charles Hixson
  1 sibling, 1 reply; 232+ messages in thread
From: Brian Rogoff @ 2001-05-08 18:37 UTC (permalink / raw)


On Tue, 8 May 2001, John English wrote:
> I am well known as an Ada advocate, but...

Well, not after this! :-)

> Jochen Schmidt wrote:
> > 1) The things Perl is optimized for is not the kind of work I want do be
> >    paid for. I think Perl is ok for an admin that needs to automate some
> >    things or probably some bad Webdesigner who knows nothing better.
> 
> I tend to use Perl *a lot* for a variety of jobs. Why don't I use
> Ada for these? Well...
> 
>   1) Perl is good for string slinging. If I want to slurp a whole
>      file into a string and do pattern-based substitutions or chop
>      it up into an array of smaller strings, it's easy to do so.

Any reason that GNAT's Spitbol and Regexp packages won't do? I mean, if
you're going to use Perl or Tcl the argument that these aren't standard
Ada isn't so strong. 

In any case, I can think of better string slinging languages. I think one
reason that Perl beat the stuffings out of Icon is that Perl always had a 
rich set of interfaces to the system (files, dirs, sockets, etc.) that
Icon lacked until recently. 

>   2) Perl has associative arrays (hashes). I really wish Ada did.
>      I don't want to have to reinvent the wheel, or use a proprietary
>      package to avoid doing so. And I use hashes all the time.

Yes. But GNAT has those too. I agree that it would be better for there to
be a few good standard Ada solutions. I reinvent the wheel all the time
:-(.

>   3) Perl has a lot of support for other things: databases, HTML,
>      XML, sockets, and so on. There's usually a tool I can use for
>      most problems I'm faced with.

That's not true for most of the problems I work on, but I agree that Perl
libraries have a lot of generally useful stuff covered. 

> I probably would use Ada if I could solve the problems I use Perl
> for as easily as I can in Perl. 

Personally, I loathe Perl, but I have to admit it that it is pretty useful
as an interface to some view of a Unix like world. 

I'm a fan of static typing, so most scripting languages aren't really for 
me. I'd rather hack a decent functional language than hack scripts. 
However, Python and Ruby are probably good enough 

> Sometimes, when Perl won't do, I turn to Python instead. If I'm writing
> code that involves sockets and URLs and graphics (but little 
> string-slinging), I use Java because Java has a good set of tools for
> jobs like that. And so on.

We use OCaml for lots of scripts and it generally outperforms Python and 
Perl by a wide margin when slurping texts and binaries. Perl also
outperforms Python by a wide margin. Gotta admit that Zope is cool and we 
won't rewrite that in OCaml ;-). 

> Maybe one day, Ada will have a rich standard set of APIs that will
> cover all the bases, but in the meantime it lacks standard data
> structures, GUI support, networking, XML... despite the efforts
> that various individuals have made to remedy these defects. And
> that is a serious limitation IMHO.

I agree, but I think the problems are largely political now. There are
lots of libraries, but what would be useful is to have a bunch of them 
in some standard hierarchy, and working well together, with a relatively 
unrestrictive license for the APIs.  

> >    I'am neither an admin nor a Webdesigner.
> 
> Me neither.
> 
> > 2) There is no real practical side when talking on programming languages
> >     if a language is bad on it's language-theoretic concepts it cannot be
> >     _really_ good for practical issues.
> 
> That's like saying a Swiss Army knife is a "bad" tool. It may not
> be as good as a scalpel or a power screwdriver for particular jobs,
> but it's better than either if you want to get a splinter out of your
> hand or open a bottle of wine (or both :-).

I don't think this analogy is useful. I think Jochen is saying that since 
both theoretic "beauty" and pragmatic utility are achievable, that a
language which eschews one in favor of the other is really suboptimal. 
Unfortunately, all languages do this more or less, including Ada. 

-- Brian





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Beginner's Ide
  2001-05-08 13:38       ` Marin David Condic
@ 2001-05-08 23:46         ` raj
  2001-05-09 14:00           ` Marin David Condic
  2001-05-09 19:06           ` Charles Hixson
  0 siblings, 2 replies; 232+ messages in thread
From: raj @ 2001-05-08 23:46 UTC (permalink / raw)


>You're right - there is no advantage over Ada. This is especially true since
>Gnat is generally available, of descent quality and has plenty of
>educational materials associated with it. A prof can hand students an
>intro-level text, a compiler, an IDE with debugging capabilites and plenty
>of examples of working code - all of it free or reasonably inexpensive (The
>book is about all you'd have to pay for.) 

The GNAT IDE should be avoided like the plague.
Aonix do a nice free ( for noncommercial use ) compiler + Ide that
should be fine for students.




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 14:24   ` Marin David Condic
                       ` (2 preceding siblings ...)
  2001-05-08  7:11     ` Tarjei T. Jensen
@ 2001-05-09  5:32     ` Simon Wright
  2001-05-10 21:50       ` Gary Scott
  2001-05-11  2:14       ` raj
  3 siblings, 2 replies; 232+ messages in thread
From: Simon Wright @ 2001-05-09  5:32 UTC (permalink / raw)


"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:

> My advice for a first programming language would be Ada (for a lot
> of reasons besides being my favorite language :-) followed by Pascal
> & maybe Modula-2. Save the other stuff until the students have
> progressed a little.

All very heavy, what about Logo? (after all, it was designed for
beginners).

-S (tongue _not_ in cheek)



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 15:45     ` Friedrich Dominicus
@ 2001-05-09  7:19       ` Espen Vestre
  2001-05-09 13:55       ` Marin David Condic
  1 sibling, 0 replies; 232+ messages in thread
From: Espen Vestre @ 2001-05-09  7:19 UTC (permalink / raw)


Friedrich Dominicus <frido@q-software-solutions.com> writes:

> > The languages you mention are all useful for a student to learn at some
> > juncture in their education. However as a *first* language, I think some of
> > them would be poorly suited. Definitely C(++) and Lisp stick out as things I
> > would *NOT* try to teach as a first programming language.
> 
> Why no Lisp?

I thougth the same. I've been teaching common lisp as the first language 
for computer-inexperienced students (Macintosh Common Lisp, to be precise,
which is especially well suited for teaching) and thought it was just
great (if any of my former students read this and disagree, then feel
free to comment ;-))!
-- 
  (espen)



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 10:57       ` Andrew Cooke
@ 2001-05-09 10:22         ` Biep @ http://www.biep.org/
  2001-05-10  5:45           ` Raffael Cavallaro
  2001-05-10  9:02           ` Jochen Schmidt
  0 siblings, 2 replies; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-05-09 10:22 UTC (permalink / raw)


"Andrew Cooke" <andrew@andrewcooke.free-online.co.uk> wrote in message
news:3AF67F9D.72B90142@andrewcooke.free-online.co.uk...
>
> For an introductory course you might omit whatever the Scheme equivalent
> of setq is.  And does Scheme have macros? - if so, they could go too.
>
> Andrew

O.K.  In a trivial sense, if the course is introductory enough, you might
omit even lambda..

Delaying the introduction of 'set!' is often a good idea, but you have to
be careful that people don't get the impression that 'define' is a kind of
'set!' (which it unfortunately is :-( )

Syntactic abstraction is a very important concept, in my view.  For
introductory courses I sometimes introduce a macro 'translate!' that
simplifies the 'define-syntax' + 'syntax-rules' machinery, and use that to
show how e.g. 'let' is defined in terms of 'lambda'.

(define-syntax translate!
  (syntax-rules ()
    ((translate! (name . body) new)
     (define-syntax name
       (syntax-rules ()
         ((name . body) new) ) ) ) ) )

Then I state that the same locality principles that hold for procedures
also hold for syntactic transformations, and point to the existence of
let-syntax and letrec-syntax.

I normally start from the REP-loop in disussing syntactic abstraction,
first explaning read macros (such as quote, quasiquote) and print macros
(unfortunately not well supported in Scheme, but a REP loop and a print
procedure are easily written), and then come to 'define-syntax' as
eval-macros.

All this fits under the banner "never say the same thing twice", which
covers a whole lot of software engineering..

Only in a *very* introductory course I would leave out macros altogether.

Oh, and I guess some people might be willing to argue that Scheme is the
*only* programming language with real macros :-)

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






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-08 18:37             ` Brian Rogoff
@ 2001-05-09 11:31               ` John English
  2001-05-09 14:33                 ` Ehud Lamm
  0 siblings, 1 reply; 232+ messages in thread
From: John English @ 2001-05-09 11:31 UTC (permalink / raw)


Brian Rogoff wrote:
> >   1) Perl is good for string slinging. If I want to slurp a whole
> >      file into a string and do pattern-based substitutions or chop
> >      it up into an array of smaller strings, it's easy to do so.
> 
> Any reason that GNAT's Spitbol and Regexp packages won't do? I mean, if
> you're going to use Perl or Tcl the argument that these aren't standard
> Ada isn't so strong.

Uh huh. But if I do any work for a client who doesn't use GNAT, I don't
necessarily have copies of these handy. It's the old standardisation
problem again.

> In any case, I can think of better string slinging languages. I think one
> reason that Perl beat the stuffings out of Icon is that Perl always had a
> rich set of interfaces to the system (files, dirs, sockets, etc.) that
> Icon lacked until recently.

Yup, that's exactly it. I use Perl for situations where I want to do
things
that are easy to do in Perl, where another language falls down for lack
of
support for some aspect of the problem. Partly it's laziness (I know
Perl
better than I know Python, so I can get Perl code up and running
faster).

> >   2) Perl has associative arrays (hashes). I really wish Ada did.
> >      I don't want to have to reinvent the wheel, or use a proprietary
> >      package to avoid doing so. And I use hashes all the time.
> 
> Yes. But GNAT has those too. I agree that it would be better for there to
> be a few good standard Ada solutions. I reinvent the wheel all the time
> :-(.

The lack of standard libraries by comparison with C++, Java and so on
is a major problem IMHO.

> >   3) Perl has a lot of support for other things: databases, HTML,
> >      XML, sockets, and so on. There's usually a tool I can use for
> >      most problems I'm faced with.
> 
> That's not true for most of the problems I work on, but I agree that Perl
> libraries have a lot of generally useful stuff covered.

Perl does a good job of making third-party libraries standard via CPAN,
so
that they seem like standards. If nothing else, CPAN is a major
advantage for
Perl.

> > I probably would use Ada if I could solve the problems I use Perl
> > for as easily as I can in Perl.
> 
> Personally, I loathe Perl, but I have to admit it that it is pretty useful
> as an interface to some view of a Unix like world.
> 
> I'm a fan of static typing, so most scripting languages aren't really for
> me. I'd rather hack a decent functional language than hack scripts.
> However, Python and Ruby are probably good enough
> 
> > Sometimes, when Perl won't do, I turn to Python instead. If I'm writing
> > code that involves sockets and URLs and graphics (but little
> > string-slinging), I use Java because Java has a good set of tools for
> > jobs like that. And so on.
> 
> We use OCaml for lots of scripts and it generally outperforms Python and
> Perl by a wide margin when slurping texts and binaries. Perl also
> outperforms Python by a wide margin. Gotta admit that Zope is cool and we
> won't rewrite that in OCaml ;-).

Must admit, I've never tried OCaml in anger.

> > Maybe one day, Ada will have a rich standard set of APIs that will
> > cover all the bases, but in the meantime it lacks standard data
> > structures, GUI support, networking, XML... despite the efforts
> > that various individuals have made to remedy these defects. And
> > that is a serious limitation IMHO.
> 
> I agree, but I think the problems are largely political now. There are
> lots of libraries, but what would be useful is to have a bunch of them
> in some standard hierarchy, and working well together, with a relatively
> unrestrictive license for the APIs.

Uh huh. We need a CAAN to rival CPAN, perhaps?

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.it.bton.ac.uk/staff/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-07 15:45     ` Friedrich Dominicus
  2001-05-09  7:19       ` Espen Vestre
@ 2001-05-09 13:55       ` Marin David Condic
  2001-05-09 14:18         ` Ola Rinta-Koski
                           ` (7 more replies)
  1 sibling, 8 replies; 232+ messages in thread
From: Marin David Condic @ 2001-05-09 13:55 UTC (permalink / raw)


First, let me point out that I have no objection to teaching anyone Lisp at
some later point in their CS education. I have nothing against Lisp, in this
sense. The reason I wouldn't teach it as a FIRST programming language should
be fairly obvious. It is complex and unlike the bulk of other programming
languages. Whatever one decides to teach as a FIRST language ought to be
simple, easily understood, easy to work with, representative of most
commonly used languages and reflective of well understood, sound programming
practices. Lisp tends to not fit this description well at all.

If you are familiar with Lisp, try this: Write a small program to read in a
couple of numbers from a keyboard, do some math with them and print the
result to the screen. Now look at it. Could a neophite with literally *zero*
experience in programming computers read it and stand a chance of
understanding what it does or how it does it? Could a neophite duplicate it
easily or modify it to do something different? Is it intuitively obvious to
even the most casual observer how to make a similar program?

That's why I wouldn't recommend Lisp as a first programming language in an
intro to CS course.

Gee. I never thought I'd have to defend THAT statement! :-)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Friedrich Dominicus" <frido@q-software-solutions.com> wrote in message
news:87snihxiwc.fsf@frown.here...
>
> Why no Lisp?
>






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-08 23:46         ` Beginner's Ide raj
@ 2001-05-09 14:00           ` Marin David Condic
  2001-05-09 14:36             ` chris.danx
  2001-05-09 19:06           ` Charles Hixson
  1 sibling, 1 reply; 232+ messages in thread
From: Marin David Condic @ 2001-05-09 14:00 UTC (permalink / raw)


I don't know what you don't like about AdaGIDE. It is not terribly
sophisticated, but it does work reasonably well for relatively smallish
projects. Perhaps the Aonix environment is a better thing - maybe its just a
matter of taste. One point to observe here is that there are at least two
available compilers and environments suitable for teaching a programming
course and both are available to students at no cost. IMHO, that's a good
thing and a reason to use Ada in a CS department.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"raj" <israelrt@optushome.com.au> wrote in message
news:7p1hfto4sa6d4sek62ipntjsrvaqsvodtt@4ax.com...
> The GNAT IDE should be avoided like the plague.
> Aonix do a nice free ( for noncommercial use ) compiler + Ide that
> should be fine for students.
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
@ 2001-05-09 14:18         ` Ola Rinta-Koski
  2001-05-09 15:53           ` Marin David Condic
  2001-05-10 17:15           ` David Gillon
  2001-05-09 14:53         ` Biep @ http://www.biep.org/
                           ` (6 subsequent siblings)
  7 siblings, 2 replies; 232+ messages in thread
From: Ola Rinta-Koski @ 2001-05-09 14:18 UTC (permalink / raw)


"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:
> If you are familiar with Lisp, try this: Write a small program to read in a
> couple of numbers from a keyboard, do some math with them and print the
> result to the screen.

(let ((foo 0))
  (dotimes (i 5)
    (incf foo (read))) 
  foo)

> Now look at it. Could a neophite with literally *zero*
> experience in programming computers read it and stand a chance of
> understanding what it does or how it does it?

  Not being a neophyte, I'll just have to guess: yes and yes.
-- 
        Ola Rinta-Koski                                 ola@cyberell.com
        Cyberell Oy                                     +358 41 467 2502
        Rauhankatu 8 C, FIN-00170 Helsinki, FINLAND	www.cyberell.com



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 11:31               ` John English
@ 2001-05-09 14:33                 ` Ehud Lamm
  0 siblings, 0 replies; 232+ messages in thread
From: Ehud Lamm @ 2001-05-09 14:33 UTC (permalink / raw)


> Uh huh. We need a CAAN to rival CPAN, perhaps?


I deramed this up a long time ago, and in fact suggested to David Botton of
Adapower fame to incoorporate some of the better CPAN searching facilites
into the Adapower source code repository.
(We discuused some of this on c.l.a, so if anyone is interested a search may
be in order).


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








^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-09 14:00           ` Marin David Condic
@ 2001-05-09 14:36             ` chris.danx
  2001-05-09 19:09               ` Charles Hixson
  0 siblings, 1 reply; 232+ messages in thread
From: chris.danx @ 2001-05-09 14:36 UTC (permalink / raw)


> I don't know what you don't like about AdaGIDE. It is not terribly
> sophisticated, but it does work reasonably well for relatively smallish
> projects.

I don't know what he's got against it either.  I use AdaGIDE all the time and
it's fine for me.  In the beginning I had some problems with it not putting the
package name in the save box but this is fixed now so i have few problems with
it.  The only real annoying thing is that i can't open multiple AdaGIDEs' in
Win98 anymore and i don't know why.  It was especially good for fixing broken
programs where i'd put the main program in one AdaGIDE and the broken package
body in another.  This might just be a windows thing though.  Any thoughts?

Danx








^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
  2001-05-09 14:18         ` Ola Rinta-Koski
@ 2001-05-09 14:53         ` Biep @ http://www.biep.org/
  2001-05-09 15:39         ` Friedrich Dominicus
                           ` (5 subsequent siblings)
  7 siblings, 0 replies; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-05-09 14:53 UTC (permalink / raw)


"Friedrich Dominicus" <frido@q-software-solutions.com> wrote in message
news:87snihxiwc.fsf@frown.here...
> Why no Lisp?

"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> wrote in
message news:9dbi83$sji$1@nh.pace.co.uk...
> The reason I wouldn't teach it as a FIRST programming language should be
fairly obvious.
> It is complex and unlike the bulk of other programming languages.

Yet, the PLT group (http://www.teach-scheme.org) seems to be fairly
successful using Scheme to introduce programming at highschools using the
book "How to Design Programs" (http://www.htdp.org).

Unlike - yes, but complex?
--
Biep
Reply via http://www.biep.org






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
  2001-05-09 14:18         ` Ola Rinta-Koski
  2001-05-09 14:53         ` Biep @ http://www.biep.org/
@ 2001-05-09 15:39         ` Friedrich Dominicus
  2001-05-09 18:24           ` Andreas Krennmair
  2001-05-09 22:56         ` David Thornley
                           ` (4 subsequent siblings)
  7 siblings, 1 reply; 232+ messages in thread
From: Friedrich Dominicus @ 2001-05-09 15:39 UTC (permalink / raw)


"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:
> 
> If you are familiar with Lisp, try this: Write a small program to read in a
> couple of numbers from a keyboard, do some math with them and print the
> result to the screen.
Gosh, how much simpler as in Lisp can it be? No declarations, no
puzzling about counting probably etc etc.





> Now look at it. Could a neophite with literally *zero*
> experience in programming computers read it and stand a chance of
> understanding what it does or how it does it?

yes, yes 





> Could a neophite duplicate it
> easily or modify it to do something different?
yes

>Is it intuitively obvious to
> even the most casual observer how to make a similar program?
yes

A beginner is not biased in any way and so it doe not matter what
he/she started from. If he starts with Lisp; C, Java looks messy. If
you start with C or Pascal or whatever imperative oo language is
around Lisp will look messy. 

Regards
Friedrich



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 14:18         ` Ola Rinta-Koski
@ 2001-05-09 15:53           ` Marin David Condic
  2001-05-10 17:15           ` David Gillon
  1 sibling, 0 replies; 232+ messages in thread
From: Marin David Condic @ 2001-05-09 15:53 UTC (permalink / raw)


(Something is wrong with how this exists in my newsreader. How did this
resolve to a single newsgroup called "iso-8859-1"??? I'm posting it to
Comp.Lang.Ada where I know it exists, but I don't want to spam a bunch of
other groups if it isn't in context there...)


"Ola Rinta-Koski" <ola@cyberell.com> wrote in message
news:x58zk6zjv8.fsf@arenal.cyberell.com...
> (let ((foo 0))
>   (dotimes (i 5)
>     (incf foo (read)))
>   foo)
>

Native language and verbosity issues being separate, it seems to me that
something like this is a more readable, more easily comprehended example:


with Ada.Text_IO ;
with Ada.Integer_Text_IO ;

use  Ada.Text_IO ;
use  Ada.Integer_Text_IO ;
procedure Example is
    X    : Integer ;
    Y    : Integer ;
begin
    Put_Line ("Hello World!") ;
    Put_Line ("Enter a number") ;
    Get (X) ;
    Put_Line ("Enter another number") ;
    Get (Y) ;
    Put_Line ("The Sum Is") ;
    Put (X + Y) ;
end Example ;

The statements are in plain English and one can readily guess at what they
do. It is also more representative of how most other languages would do the
same thing. (The structure would not be substantially different in C or Java
or a large number of other languages.)

I guess what is intuitively obvious to the casual observer is going to
depend on who is the casual observer. I've never found Lisp to be
particularly readable or easily comprehendable. I know numerous other
programmers who feel the same way. If you use Lisp on a regular basis, I
suppose it gets to looking "intuitively obvious" to you after a while. I
wouldn't ban the teaching of Lisp in a CS program, but I wouldn't make it
the FIRST language taught. I must not be alone in that thinking because I
know of many universities that offer courses that use Lisp, but they don't
start their students off with it.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-08 16:01           ` John English
  2001-05-08 18:37             ` Brian Rogoff
@ 2001-05-09 16:40             ` Charles Hixson
  1 sibling, 0 replies; 232+ messages in thread
From: Charles Hixson @ 2001-05-09 16:40 UTC (permalink / raw)


John English <je@brighton.ac.uk> wrote in
<3AF8184F.3D7ADD74@brighton.ac.uk>: 

>I am well known as an Ada advocate, but...
>
>...
>  2) Perl has associative arrays (hashes). I really wish Ada
>  did. 
>     I don't want to have to reinvent the wheel, or use a
>     proprietary package to avoid doing so. And I use hashes
>     all the time.
Hashes are common in several languages.  Not only Perl, but also 
Python, Ruby, and Eiffel.  And another thing these languages all 
have is garbage collection.  There's probably a relationship.  
They also tend to be easier to handle strings in.  And all of 
the preceeding but Eiffel have pattern matching via regular 
expressions built in.  This seems to be a cluster of related 
features that work well together.  But there maybe something 
difficult about getting regular expression pattern matching to 
work in a compiled language, as every language that I can think 
of that has it is dynamic (and interpreted) --  but I think it's 
been implemented in C, so I don't know why there should be a 
problem.  Perhaps it's a historical accident.
>...
>--------------------------------------------------------------
>--- 
> John English              | mailto:je@brighton.ac.uk
> Senior Lecturer           |
> http://www.it.bton.ac.uk/staff/je Dept. of Computing       
> | ** NON-PROFIT CD FOR CS STUDENTS ** University of Brighton
>    |    -- see http://burks.bton.ac.uk 
>--------------------------------------------------------------
>--- 
>
-- 
Charles Hixson

Copy software legally, the GNU way!
Use GNU software, and legally make and share copies of software.
See http://www.gnu.org
    http://www.redhat.com
    http://www.linux-mandrake.com
    http://www.calderasystems.com/
    http://www.linuxapps.com/



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 15:39         ` Friedrich Dominicus
@ 2001-05-09 18:24           ` Andreas Krennmair
  2001-05-09 23:01             ` Sashank Varma
                               ` (7 more replies)
  0 siblings, 8 replies; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-09 18:24 UTC (permalink / raw)


Friedrich Dominicus <frido@q-software-solutions.com> wrote:
>  "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:
> > 
> > If you are familiar with Lisp, try this: Write a small program to read in a
> > couple of numbers from a keyboard, do some math with them and print the
> > result to the screen.
>  Gosh, how much simpler as in Lisp can it be? No declarations, no
>  puzzling about counting probably etc etc.
The problem is that Lisp is in no way similar to a natural language. And 
natural language can be understood easier than some functional, theoretical
stuff with a unique concept like Lisp. Don't get me wrong, Lisp is a great
language, and I personally find it quite exciting as four year Pascal and
two year C/C++ programmer, but it's hardly usable for teaching, because it
is so unique (well, you _could_ to functional programming in C, but it would
be considered bad style).

I currently go to an Austrian school where mostly programming/CS/software
engineering-related things are taught (it's for 5 years, and you start
at an age of 14), and we started programming in Pascal. I was bored in
the beginning, because I already knew Pascal, but then the teacher explained
me that they chose to teach Pascal because it is so easy to read and to
understand and it still has so many things common with other languages.
Of course, in the second year, you do some Lisp and Prolog, which confuses
quite a lot of people, but after a week or so, they usually get it (at least
I did with Lisp :).

> > Now look at it. Could a neophite with literally *zero*
> > experience in programming computers read it and stand a chance of
> > understanding what it does or how it does it?
>  
>  yes, yes 
for my comment, see above. Lisp has hardly anything in common with natural
languages. Or could you express "My girlfriend's name is Suzy and her age
is 17" as readable as this in Lisp:
$girlfriend{'name'} = "Suzy";
$girlfriend{'age'} = 17;

Of course, this is not the best example, since Perl has a syntax that is
not the optimum for beginners.

> > Could a neophite duplicate it
> > easily or modify it to do something different?
>  yes
No. Only after understanding the fundamental concepts of Lisp.

> >Is it intuitively obvious to
> > even the most casual observer how to make a similar program?
>  yes
No. See answer before. :)

>  A beginner is not biased in any way and so it doe not matter what
>  he/she started from. If he starts with Lisp; C, Java looks messy. If
It _does_ matter. Beginners can easily get frustrated because of the
sometimes confusing syntax. BTW, I wouldn't recommend starting with Java
or C/C++, either. I'd recommend and teach (if I were a teacher :) some
Wirth language, because they're designed especially for teaching basics
of programming.

Best regards,
Andreas Krennmair
-- 
void strncpy(char *p, char *q, int n){while(n--){*p++=*q++;}} 



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-08 23:46         ` Beginner's Ide raj
  2001-05-09 14:00           ` Marin David Condic
@ 2001-05-09 19:06           ` Charles Hixson
  2001-05-10  6:20             ` Pascal Obry
  2001-05-10 16:01             ` Stephen Leake
  1 sibling, 2 replies; 232+ messages in thread
From: Charles Hixson @ 2001-05-09 19:06 UTC (permalink / raw)


raj <israelrt@optushome.com.au> wrote in
<7p1hfto4sa6d4sek62ipntjsrvaqsvodtt@4ax.com>: 

>...The GNAT IDE should be avoided like the plague.
>Aonix do a nice free ( for noncommercial use ) compiler + Ide
>that should be fine for students.
>

GNAT IDE?  I see nothing wrong with AdaGIDE, but if you don't 
like it, you could try jGRASP.  They don't do GUI's for you (was 
that what you meant) but they're pretty good.  And jGRASP is 
portable.

-- 
Charles Hixson

Copy software legally, the GNU way!
Use GNU software, and legally make and share copies of software.
See http://www.gnu.org
    http://www.redhat.com
    http://www.linux-mandrake.com
    http://www.calderasystems.com/
    http://www.linuxapps.com/



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-09 14:36             ` chris.danx
@ 2001-05-09 19:09               ` Charles Hixson
  0 siblings, 0 replies; 232+ messages in thread
From: Charles Hixson @ 2001-05-09 19:09 UTC (permalink / raw)


"chris.danx" <chris.danx@ntlworld.com> wrote in
<WAcK6.788$577.216783@news2-win.server.ntlworld.com>: 

>> I don't know what you don't like about AdaGIDE. It is not
>> terribly sophisticated, but it does work reasonably well
>> for relatively smallish projects.
>
>I don't know what he's got against it either.  I use AdaGIDE
>all the time and it's fine for me.  In the beginning I had
...gram in one AdaGIDE and the broken package body
>in another.  This might just be a windows thing though.  Any
>thoughts? 
>
>Danx
>
Well, it's pretty bad about formatting with tabs, and the auto-
format option is just bad.  OTOH, it's got a reasonable help.

-- 
Charles Hixson

Copy software legally, the GNU way!
Use GNU software, and legally make and share copies of software.
See http://www.gnu.org
    http://www.redhat.com
    http://www.linux-mandrake.com
    http://www.calderasystems.com/
    http://www.linuxapps.com/



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
                           ` (2 preceding siblings ...)
  2001-05-09 15:39         ` Friedrich Dominicus
@ 2001-05-09 22:56         ` David Thornley
  2001-05-10  9:16           ` Ola Rinta-Koski
  2001-05-10  5:53         ` Mark VandeWettering
                           ` (3 subsequent siblings)
  7 siblings, 1 reply; 232+ messages in thread
From: David Thornley @ 2001-05-09 22:56 UTC (permalink / raw)


In article <9dbi83$sji$1@nh.pace.co.uk>,
Marin David Condic <marin.condic.auntie.spam@pacemicro.com> wrote:
>First, let me point out that I have no objection to teaching anyone Lisp at
>some later point in their CS education. I have nothing against Lisp, in this
>sense. The reason I wouldn't teach it as a FIRST programming language should
>be fairly obvious. It is complex and unlike the bulk of other programming
>languages. Whatever one decides to teach as a FIRST language ought to be
>simple, easily understood, easy to work with, representative of most
>commonly used languages and reflective of well understood, sound programming
>practices. Lisp tends to not fit this description well at all.
>
C++, properly taught, does.  I don't know if it's properly taught
anywhere.  I've taught C as a first language successfully, and the
areas that gave the most trouble are the areas that I could avoid
using C++.  No more pointers, C-style arrays, C-style string handling,
or printf/scanf.

Now, if you try to learn C++ really well, you'll run into the wolves
that lurk in the corners, but that's not where you'd be teaching a
beginner.

Common Lisp, if taught properly, is also very good.  What you may
be losing by using a language that looks different you make up for
by omitting so much of the felderkarb that other languages have.
In CL, if you need a number, you don't have to decide exactly
what sort of number it is to be before the program works.  More
of a CL program is an attack on the problem than in most languages.


--
David H. Thornley                        | If you want my opinion, ask.
david@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
@ 2001-05-09 23:01             ` Sashank Varma
  2001-05-10  0:01               ` David Starner
  2001-05-10  6:06             ` Mark VandeWettering
                               ` (6 subsequent siblings)
  7 siblings, 1 reply; 232+ messages in thread
From: Sashank Varma @ 2001-05-09 23:01 UTC (permalink / raw)


In article <9dc20p$hh15e$1@ID-37382.news.dfncis.de>, a.krennmair@aon.at wrote:

[snip]
>The problem is that Lisp is in no way similar to a natural language. And 
>natural language can be understood easier than some functional, theoretical
>stuff with a unique concept like Lisp.
[snip]
>Beginners can easily get frustrated because of the
>sometimes confusing syntax. BTW, I wouldn't recommend starting with Java
>or C/C++, either. I'd recommend and teach (if I were a teacher :) some
>Wirth language, because they're designed especially for teaching basics
>of programming.
[snip]

can you provide some evidence that:

(1) any standard general-purpose programming languages resemble natural
    language at all, that there is some metric of natural language-ness
    by which they can be ordered, and that wirth-style languages score
    higer on this metric than lisp?

(2) the degree to which a programming language resembles natural
    language predicts the ease with which it will be learned?

(if you thinking i'm picking nits, note that i've granted you the
implicit assumption that there is a singular quality shared by all
natural languages, a chomsky-esque universal grammar perhaps, that i
could have also questioned.)

there are many formal notations, and while one pressure on the form
of notations may be resemblance to natural language, there are others
of greater importance (e.g., minimizing the difficulty of performing
certain operations).  for example, it's not the case that speakers
of SVO natural languages are any more or less likely to write
arithmetic expressions using infix than speakers of natural languages
who place verbs at the end of clauses (SOV).

sashank



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 23:01             ` Sashank Varma
@ 2001-05-10  0:01               ` David Starner
  2001-05-10  6:10                 ` Mark VandeWettering
                                   ` (4 more replies)
  0 siblings, 5 replies; 232+ messages in thread
From: David Starner @ 2001-05-10  0:01 UTC (permalink / raw)


On Wed, 09 May 2001 18:01:10 -0500, Sashank Varma <sashank.varma@vanderbilt.edu> wrote:
> can you provide some evidence that:
> 
> (1) any standard general-purpose programming languages resemble natural
>     language at all, that there is some metric of natural language-ness
>     by which they can be ordered, and that wirth-style languages score
>     higer on this metric than lisp?
>
> (2) the degree to which a programming language resembles natural
>     language predicts the ease with which it will be learned?

Tell me what
	!bbz#,^az@bz,
does.

Then tell me what
	
	OPEN FILE ARGUMENT 2 AS 2
	BEGIN LOOP
		LOAD FILE ARGUMENT 1 INTO BUFFER
		COPY BUFFER TO 2
	FINISH LOOP
does. 

If I came upon the first, I would give up. The second, anyone can
probably get some idea of basically what it's doing. For a new 
student, knowing that they aren't totally lost can be a huge
confidence builder.

As for lisp itself, just from the name, what does defun or cadar
do? What do FUNCTION, PROCEDURE and BEGIN do? I've seen 2 + 2 since
the first days of school. Why (+ 2 2)? Learning a new vocabulary,
a new equation syntax is not what you want to be teaching when you
have so much else to teach.

> (if you thinking i'm picking nits, note that i've granted you the
> implicit assumption that there is a singular quality shared by all
> natural languages, a chomsky-esque universal grammar perhaps, that i
> could have also questioned.)

That's a theoritical assumption. How about "The vast majority of the
people who are going to be learning computer programming know an 
Indo-European language, Russian, Chinese or Japanese."

> there are many formal notations, and while one pressure on the form
> of notations may be resemblance to natural language, there are others
> of greater importance (e.g., minimizing the difficulty of performing
> certain operations).  

No, that's not of greater importance. It is, in fact, irrelevant for
any reasonable language. The goal is teaching people to program,
not helping experianced programmers hack up scripts or researchers
write up quicker chess programs. If something is difficult in your
chosen language, you put that off until a latter class, possibly
even in a more suitable language. 

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I don't care if Bill personally has my name and reads my email and 
laughs at me. In fact, I'd be rather honored." - Joseph_Greg



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
@ 2001-05-10  4:35 yamir
  0 siblings, 0 replies; 232+ messages in thread
From: yamir @ 2001-05-10  4:35 UTC (permalink / raw)


Marin David Condic <marin.condic.auntie.spam@pacemicro.com> wrote in message
news:9dbi83$sji$1@nh.pace.co.uk...

> ... That's why I wouldn't recommend Lisp as a first programming language in
> an intro to CS course.
> 
> Gee. I never thought I'd have to defend THAT statement! :-)

You are in risk to share fate of Alex Stepanov, who was flamed out of c.l.c++
and may be out of Usenet at all, by crime to say what Lisp is not best
language to write STL! :)


 -----  Posted via NewsOne.Net: Free (anonymous) Usenet News via the Web  -----
  http://newsone.net/ -- Free reading and anonymous posting to 60,000+ groups
   NewsOne.Net prohibits users from posting spam.  If this or other posts
made through NewsOne.Net violate posting guidelines, email abuse@newsone.net



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 10:22         ` Biep @ http://www.biep.org/
@ 2001-05-10  5:45           ` Raffael Cavallaro
  2001-05-10  9:02           ` Jochen Schmidt
  1 sibling, 0 replies; 232+ messages in thread
From: Raffael Cavallaro @ 2001-05-10  5:45 UTC (permalink / raw)


In article <9db5kg$gk5c4$1@ID-63952.news.dfncis.de>, "Biep @ 
http://www.biep.org/" <reply-via@my-web-site.com> wrote:

>Oh, and I guess some people might be willing to argue that Scheme is the
>*only* programming language with real macros :-)

Yeah - it even has 4 different kinds depending on what implementation 
you're using - neat!  ;^)

In a more serious vein, Dylan has "real" macros too, but then Dylan is 
arguably Scheme on OO steroids.

Raf

-- 

Raffael Cavallaro, Ph.D.
raffael@mediaone.net



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
                           ` (3 preceding siblings ...)
  2001-05-09 22:56         ` David Thornley
@ 2001-05-10  5:53         ` Mark VandeWettering
  2001-05-10  9:22         ` Francis Leboutte
                           ` (2 subsequent siblings)
  7 siblings, 0 replies; 232+ messages in thread
From: Mark VandeWettering @ 2001-05-10  5:53 UTC (permalink / raw)


Marin David Condic <marin.condic.auntie.spam@pacemicro.com> wrote:

>First, let me point out that I have no objection to teaching anyone Lisp at
>some later point in their CS education. I have nothing against Lisp, in this
>sense. The reason I wouldn't teach it as a FIRST programming language should
>be fairly obvious. It is complex and unlike the bulk of other programming
>languages. Whatever one decides to teach as a FIRST language ought to be
>simple, easily understood, easy to work with, representative of most
>commonly used languages and reflective of well understood, sound programming
>practices. Lisp tends to not fit this description well at all.
>
>If you are familiar with Lisp, try this: Write a small program to read in a
>couple of numbers from a keyboard, do some math with them and print the
>result to the screen. Now look at it. Could a neophite with literally *zero*
>experience in programming computers read it and stand a chance of
>understanding what it does or how it does it? Could a neophite duplicate it
>easily or modify it to do something different? Is it intuitively obvious to
>even the most casual observer how to make a similar program?
>
>That's why I wouldn't recommend Lisp as a first programming language in an
>intro to CS course.
>
>Gee. I never thought I'd have to defend THAT statement! :-)

Well, programming languages are likely to bring out enthusiasts (read 
"zealots") both for and against.

I'll pretend for the moment that we were talking about Scheme, as that
is my preferred variant.  There are a number of features why I believe
it to be an excellent choice for beginning novice programmers.

1)  While some people do get mired in the whole paren thing, Scheme has 
a remarkably simple syntax, simpler than virtually any other programming
language.  The entire language report is reasonably small, even when 
including things like macros and the like.

2) Scheme supports a wide variety of programming styles: from procedural
to functional to object oriented to logic programs.

3) Scheme is interactive, which encourages experimentation.

4) Scheme has good textbooks, including what I consider the best computer
science textbook around: Structure and Interpretation of Computer Programs.

5) Scheme encourages thinking of programs as data.

I could probably dig up some more reasons, but these I think are all quite
compelling.  I'm actually not very fond of untyped languages, but in most
other respects I think it is an excellent choice, indeed, perhaps the 
best one among many possibilities.

	Mark

>
>MDC
>--
>Marin David Condic
>Senior Software Engineer
>Pace Micro Technology Americas    www.pacemicro.com
>Enabling the digital revolution
>e-Mail:    marin.condic@pacemicro.com
>Web:      http://www.mcondic.com/
>
>
>"Friedrich Dominicus" <frido@q-software-solutions.com> wrote in message
>news:87snihxiwc.fsf@frown.here...
>>
>> Why no Lisp?
>>
>
>
>


-- 
/* __  __ __   ____      __*/float m,a,r,k,v;main(i){for(;r<4;r+=.1){for(a=0;
/*|  \/  |\ \ / /\ \    / /*/a<4;a+=.06){k=v=0;for(i=99;--i&&k*k+v*v<4;)m=k*k
/*| |\/| | \ V /  \ \/\/ / */-v*v+a-2,v=2*k*v+r-2,k=m;putchar("X =."[i&3]);}
/*|_|  |_ark\_/ande\_/\_/ettering <markv@telescopemaking.org> */puts("");}}



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
  2001-05-09 23:01             ` Sashank Varma
@ 2001-05-10  6:06             ` Mark VandeWettering
  2001-05-10  7:57               ` Andrew Bromage
  2001-05-10 13:03               ` John English
  2001-05-10  7:28             ` FM
                               ` (5 subsequent siblings)
  7 siblings, 2 replies; 232+ messages in thread
From: Mark VandeWettering @ 2001-05-10  6:06 UTC (permalink / raw)


On 9 May 2001 18:24:26 GMT, Andreas Krennmair <a.krennmair@aon.at> wrote:

>The problem is that Lisp is in no way similar to a natural language. 

I find this statement curious.  Are there programming languages which are
similar to natural languages?  If there are, what benefits are there from
using those languages?

>And 
>natural language can be understood easier than some functional, theoretical
>stuff with a unique concept like Lisp. 

I've heard this argument about "natural languages" used with regards to 
perl before.  I am always confused by it.  Don't get me wrong, perl is 
an incredibly useful tool, and I give Larry Wall all the credit in the 
universe for making such a great tool and giving it to the world, but
I am constantly confused by justification.  First of all, precisely what
feature of perl is similar to natural languages?  Second of all, why
do we think that natural languages are good?  Natural languages are 
notoriously hard to learn, full of exceptions, and often vague.  Last,
what makes you think that processes are best described in terms of 
natural languages?  Mathematics implements entire languages specialized
to their domain just so that they can express the ideas they have clearly
and concisely.

>Don't get me wrong, Lisp is a great
>language, and I personally find it quite exciting as four year Pascal and
>two year C/C++ programmer, but it's hardly usable for teaching, because it
>is so unique (well, you _could_ to functional programming in C, but it would
>be considered bad style).

The reason that Scheme (I'll keep pretending you were talking about Scheme)
is good is precisely becaue it DOES leverage new ideas and gets students
to think about computation not in the natural way that they think about it, 
but in the formalized way that computers do. 

>Lisp has hardly anything in common with natural
>languages. Or could you express "My girlfriend's name is Suzy and her age
>is 17" as readable as this in Lisp:
>$girlfriend{'name'} = "Suzy";
>$girlfriend{'age'} = 17;

(set! girlfriend '((name . "Suzy") (age . 17)))

Is that so different?  Are association lists really harder than associative
arrays?

>Of course, this is not the best example, since Perl has a syntax that is
>not the optimum for beginners.

In fact, it is very unoptimal for beginners.  

>>  A beginner is not biased in any way and so it doe not matter what
>>  he/she started from. If he starts with Lisp; C, Java looks messy. If

>It _does_ matter. Beginners can easily get frustrated because of the
>sometimes confusing syntax. 

I'm not sure how you can present a program fragment in perl, and then 
in the same post claim that LISP has a confusing syntax.  

>BTW, I wouldn't recommend starting with Java
>or C/C++, either. 

Neither would I, unless you want them never to program again.

>I'd recommend and teach (if I were a teacher :) some
>Wirth language, because they're designed especially for teaching basics
>of programming.

You could do worse than Pascal/Modula/Oberon, but in most respects I
think Scheme is better for beginning programmers.

>Best regards,
>Andreas Krennmair
>-- 
>void strncpy(char *p, char *q, int n){while(n--){*p++=*q++;}} 


-- 
/* __  __ __   ____      __*/float m,a,r,k,v;main(i){for(;r<4;r+=.1){for(a=0;
/*|  \/  |\ \ / /\ \    / /*/a<4;a+=.06){k=v=0;for(i=99;--i&&k*k+v*v<4;)m=k*k
/*| |\/| | \ V /  \ \/\/ / */-v*v+a-2,v=2*k*v+r-2,k=m;putchar("X =."[i&3]);}
/*|_|  |_ark\_/ande\_/\_/ettering <markv@telescopemaking.org> */puts("");}}



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  0:01               ` David Starner
@ 2001-05-10  6:10                 ` Mark VandeWettering
  2001-05-10  8:08                 ` FM
                                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 232+ messages in thread
From: Mark VandeWettering @ 2001-05-10  6:10 UTC (permalink / raw)


David Starner <dvdeug@x8b4e53cd.dhcp.okstate.edu> wrote:
>On Wed, 09 May 2001 18:01:10 -0500, Sashank Varma <sashank.varma@vanderbilt.edu> wrote:
>> can you provide some evidence that:
>> 
>> (1) any standard general-purpose programming languages resemble natural
>>     language at all, that there is some metric of natural language-ness
>>     by which they can be ordered, and that wirth-style languages score
>>     higer on this metric than lisp?
>>
>> (2) the degree to which a programming language resembles natural
>>     language predicts the ease with which it will be learned?
>
>Tell me what
>	!bbz#,^az@bz,
>does.
>
>Then tell me what
>	
>	OPEN FILE ARGUMENT 2 AS 2
>	BEGIN LOOP
>		LOAD FILE ARGUMENT 1 INTO BUFFER
>		COPY BUFFER TO 2
>	FINISH LOOP
>does. 
>
>If I came upon the first, I would give up. The second, anyone can
>probably get some idea of basically what it's doing. For a new 
>student, knowing that they aren't totally lost can be a huge
>confidence builder.
>
>As for lisp itself, just from the name, what does defun or cadar
>do? What do FUNCTION, PROCEDURE and BEGIN do? I've seen 2 + 2 since
>the first days of school. Why (+ 2 2)? Learning a new vocabulary,
>a new equation syntax is not what you want to be teaching when you
>have so much else to teach.

What are FILES?  What is an ARGUMENT?  What is this AS 2 business?
What is a BUFFER?  

Prefix notation is not difficult to learn, especially when there is
no exceptions.

Scheme uses a more sensible "define" keyword.  Functional programming
languages that use pattern matching are more straightforward to code
list processing algorithms in, I'll admit.

>> (if you thinking i'm picking nits, note that i've granted you the
>> implicit assumption that there is a singular quality shared by all
>> natural languages, a chomsky-esque universal grammar perhaps, that i
>> could have also questioned.)
>
>That's a theoritical assumption. How about "The vast majority of the
>people who are going to be learning computer programming know an 
>Indo-European language, Russian, Chinese or Japanese."

None of which helps you at all to learn any programming language that I've
ever learned.

>> there are many formal notations, and while one pressure on the form
>> of notations may be resemblance to natural language, there are others
>> of greater importance (e.g., minimizing the difficulty of performing
>> certain operations).  
>
>No, that's not of greater importance. It is, in fact, irrelevant for
>any reasonable language. The goal is teaching people to program,
>not helping experianced programmers hack up scripts or researchers
>write up quicker chess programs. If something is difficult in your
>chosen language, you put that off until a latter class, possibly
>even in a more suitable language. 
>
>-- 
>David Starner - dstarner98@aasaa.ofe.org
>Pointless website: http://dvdeug.dhis.org
>"I don't care if Bill personally has my name and reads my email and 
>laughs at me. In fact, I'd be rather honored." - Joseph_Greg


-- 
/* __  __ __   ____      __*/float m,a,r,k,v;main(i){for(;r<4;r+=.1){for(a=0;
/*|  \/  |\ \ / /\ \    / /*/a<4;a+=.06){k=v=0;for(i=99;--i&&k*k+v*v<4;)m=k*k
/*| |\/| | \ V /  \ \/\/ / */-v*v+a-2,v=2*k*v+r-2,k=m;putchar("X =."[i&3]);}
/*|_|  |_ark\_/ande\_/\_/ettering <markv@telescopemaking.org> */puts("");}}



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-09 19:06           ` Charles Hixson
@ 2001-05-10  6:20             ` Pascal Obry
  2001-05-10 15:31               ` Charles Hixson
  2001-05-10 16:01             ` Stephen Leake
  1 sibling, 1 reply; 232+ messages in thread
From: Pascal Obry @ 2001-05-10  6:20 UTC (permalink / raw)



charleshixson@earthling.net (Charles Hixson) writes:

> GNAT IDE?  I see nothing wrong with AdaGIDE, but if you don't 
> like it, you could try jGRASP.  They don't do GUI's for you (was 
> that what you meant) but they're pretty good.  And jGRASP is 
> portable.

Sure, you just need a PIII 800Mhz with lots of memory to start working
with a decent environment :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
  2001-05-09 23:01             ` Sashank Varma
  2001-05-10  6:06             ` Mark VandeWettering
@ 2001-05-10  7:28             ` FM
  2001-05-10  8:51               ` Jochen Schmidt
  2001-05-11 15:55               ` Andreas Krennmair
  2001-05-10  8:11             ` Friedrich Dominicus
                               ` (4 subsequent siblings)
  7 siblings, 2 replies; 232+ messages in thread
From: FM @ 2001-05-10  7:28 UTC (permalink / raw)


Andreas Krennmair <a.krennmair@aon.at> wrote:

>The problem is that Lisp is in no way similar to a natural language. And 
>natural language can be understood easier than some functional, theoretical
>stuff with a unique concept like Lisp.

You've got at least three assumptions there, none of which
I agree with. I don't see why a programming language
should be similar to a natural language (the only sense in
which they are both languages is that they have some form
of grammar) and it takes quite a lot of arrogance to say
that a programming language is harder to understand than a
natural language or that the imperative paradigm is closer
to the natural way of describing things for humans than
the functional paradigm.

Also, Lisp is hardly some functional thereotical stuff
with a unique concept.


>Don't get me wrong, Lisp is a great
>language, and I personally find it quite exciting as four year Pascal and
>two year C/C++ programmer, but it's hardly usable for teaching, because it
>is so unique (well, you _could_ to functional programming in C, but it would
>be considered bad style).

What is *so* unique? Lisp is a label applied to a broad
family of languages, not a single language. That alone
takes away the uniqueness. Furthermore, the functional
paradigm is hardly confined to the Lisp family.


>I currently go to an Austrian school where mostly programming/CS/software
>engineering-related things are taught (it's for 5 years, and you start
>at an age of 14),

Ouch. This is probably a bad idea...


>> > Now look at it. Could a neophite with literally *zero*
>> > experience in programming computers read it and stand a chance of
>> > understanding what it does or how it does it?
>>  
>>  yes, yes 
>for my comment, see above. Lisp has hardly anything in common with natural
>languages. Or could you express "My girlfriend's name is Suzy and her age
>is 17" as readable as this in Lisp:
>$girlfriend{'name'} = "Suzy";
>$girlfriend{'age'} = 17;

Except that this is completely wrong. Your perl statements
are imperative, not descriptive or even declarative. At
least most languages in the Lisp family will let you write
something close to:

(with (she (my girlfriend))
  (be (of name she) "Suzy")
  (be (of age she) 17))

Of course what this is supposed to mean is complete up to
the programmer.


That's aside from the fact that you chose an arbitrary
sentence that isn't at all representative of natural
languages. For a better exercise, take a few paragraphs
from a book or better yet, record a phone conversation or
radio broadcasts and come up with a formal notation that
could be used to capture their meaning.



>Of course, this is not the best example, since Perl has a syntax that is
>not the optimum for beginners.

Perl's syntax is the closest thing I've seen to a natural
syntax in a programming language.



Dan.


-- 
Q:      What's a WASP's idea of open-mindedness?
A:      Dating a Canadian.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  6:06             ` Mark VandeWettering
@ 2001-05-10  7:57               ` Andrew Bromage
  2001-05-10  8:55                 ` Iain McNaughton
       [not found]                 ` <3AFA5A92.5D4F191C@info.unicaen.fr>
  2001-05-10 13:03               ` John English
  1 sibling, 2 replies; 232+ messages in thread
From: Andrew Bromage @ 2001-05-10  7:57 UTC (permalink / raw)


G'day all.

markv@peewee.telescopemaking.org (Mark VandeWettering) writes:

>First of all, precisely what
>feature of perl is similar to natural languages?

You might want to read this:

	http://www.wall.org/~larry/natural.html

>Second of all, why
>do we think that natural languages are good?

Well, they're not "good".  Natural languages are morally neutral.  But
the fact that we're both using natural languages right now seems to
indicate that they are pragmatically useful.

Of course, if we wanted to speak more precisely, we could use jargon
vocabulary, or impose structure on our language where it is needed
(e.g. pseudocode), or if we were in the same room, we could even use
gestures or draw diagrams on a whiteboard.  In any case, we're just
supplementing the natural language with something else.

>Mathematics implements entire languages specialized
>to their domain just so that they can express the ideas they have clearly
>and concisely.

Which is precisely why my preferred first language is something more like
Haskell.  If the student is already familiar with mathematical notation,
Haskell comes naturally.  Rather than spending brainshare on learning
an unfamiliar syntax (and let's face it, Lisp/Scheme has an unfamiliar
syntax, even if it is a simple one), the student can spend their energy
on learning programming.

Cheers,
Andrew Bromage



^ permalink raw reply	[flat|nested] 232+ messages in thread

* OZ as a beginners' banguage?
  2001-05-05  1:51 ` raj
                     ` (3 preceding siblings ...)
  2001-05-07 14:24   ` Marin David Condic
@ 2001-05-10  8:02   ` Biep @ http://www.biep.org/
  2001-05-10  8:06     ` Andrew Cooke
  2001-05-11 11:13     ` Torbjörn Lager
  4 siblings, 2 replies; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-05-10  8:02 UTC (permalink / raw)


On a related note, what would people think of OZ as a beginners' language?
(http://www.mozart-oz.org)  Is it used anywhere as such?

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






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: OZ as a beginners' banguage?
  2001-05-10  8:02   ` OZ as a beginners' banguage? Biep @ http://www.biep.org/
@ 2001-05-10  8:06     ` Andrew Cooke
  2001-05-11 11:13     ` Torbjörn Lager
  1 sibling, 0 replies; 232+ messages in thread
From: Andrew Cooke @ 2001-05-10  8:06 UTC (permalink / raw)



There's a book in draft form that uses Oz to introduce programming in a
range of styles - I'd think it would be a very good way to learn (but I
guess it would depend a lot on the student - I'm thinking of the kind of
student who'd enjoy SICP, not the kind who's wondering what the mouse is
for).

Andrew

"Biep @ http://www.biep.org/" wrote:
> 
> On a related note, what would people think of OZ as a beginners' language?
> (http://www.mozart-oz.org)  Is it used anywhere as such?
> 
> --
> Biep
> Reply via http://www.biep.org



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  0:01               ` David Starner
  2001-05-10  6:10                 ` Mark VandeWettering
@ 2001-05-10  8:08                 ` FM
  2001-05-10 15:07                 ` Eugene Zaikonnikov
                                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 232+ messages in thread
From: FM @ 2001-05-10  8:08 UTC (permalink / raw)


David Starner <dvdeug@x8b4e53cd.dhcp.okstate.edu> wrote:
>On Wed, 09 May 2001 18:01:10 -0500, Sashank Varma <sashank.varma@vanderbilt.edu> wrote:
>> can you provide some evidence that:
>> 
>> (1) any standard general-purpose programming languages resemble natural
>>     language at all, that there is some metric of natural language-ness
>>     by which they can be ordered, and that wirth-style languages score
>>     higer on this metric than lisp?
>>
>> (2) the degree to which a programming language resembles natural
>>     language predicts the ease with which it will be learned?
>
>Tell me what
>	!bbz#,^az@bz,
>does.

Depends on the language. Give me the language spec or a
reference implementation.


>Then tell me what
>	
>	OPEN FILE ARGUMENT 2 AS 2
>	BEGIN LOOP
>		LOAD FILE ARGUMENT 1 INTO BUFFER
>		COPY BUFFER TO 2
>	FINISH LOOP
>does. 

Same here.


>If I came upon the first, I would give up. The second, anyone can
>probably get some idea of basically what it's doing. For a new 
>student, knowing that they aren't totally lost can be a huge
>confidence builder.

It can also spawn a huge number of unwarranted assumptions
that will plague the process of learning. They will have
to learn to deal with the rigors of a formal grammar at
one point or another. The problem with the above grammar,
as far as I can infer from the code segment, is that it's
terribly complicated if you try to specify any substantial
subset of it.


>As for lisp itself, just from the name, what does defun or cadar
>do? What do FUNCTION, PROCEDURE and BEGIN do?

None of them does anything remotely close to what anyone
would be able to infer from one's knowledge of English
alone


>I've seen 2 + 2 since
>the first days of school. Why (+ 2 2)? Learning a new vocabulary,
>a new equation syntax is not what you want to be teaching when you
>have so much else to teach.

What equation syntax? Lisp doesn't have equations as part
of the language. Or algebra, for that matter. I'm rather
used to writing ab instead of a * b and how would you
support that? Allow only single-character identifiers?


>> (if you thinking i'm picking nits, note that i've granted you the
>> implicit assumption that there is a singular quality shared by all
>> natural languages, a chomsky-esque universal grammar perhaps, that i
>> could have also questioned.)
>
>That's a theoritical assumption. How about "The vast majority of the
>people who are going to be learning computer programming know an 
>Indo-European language, Russian, Chinese or Japanese."

I don't know how many of the above languages you can
speak, but there are enormous differences among them.


Dan.

-- 
What an author likes to write most is his signature on the back of a cheque.
                -- Brendan Francis



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
                               ` (2 preceding siblings ...)
  2001-05-10  7:28             ` FM
@ 2001-05-10  8:11             ` Friedrich Dominicus
  2001-05-10 11:09             ` Markus Mottl
                               ` (3 subsequent siblings)
  7 siblings, 0 replies; 232+ messages in thread
From: Friedrich Dominicus @ 2001-05-10  8:11 UTC (permalink / raw)


a.krennmair@aon.at (Andreas Krennmair) writes:

> >  yes, yes 
> for my comment, see above. Lisp has hardly anything in common with natural
> languages. Or could you express "My girlfriend's name is Suzy and her age
> is 17" as readable as this in Lisp:
> $girlfriend{'name'} = "Suzy";
> $girlfriend{'age'} = 17;

Now there are different ways to do it. Some were pointed out in
another mail, but you could expose the Data-Structure behind the Hash
Table in Lisp. You may say who cares, but learning programming is to
some extend about learning data structures too.

so there are different ways to make a girl-friend
a) as structure
(defstruct girl-friend
      name
      age)


(defvar *my-girl-friend* (make-girl-friend :name "Ann" :age 30))

b) as property list
left out because other have done it

c) as object (subject;-)
(defclass girl-friend ()
                   ((name :initarg :name :accessor name)
                    (age :initarg :age :accessor age)))


(setf my-girl (make-instance 'girl-friend 
                                 :name "Foo"
                                 :age 20))



Now you have just one option in Pascal you have to write

type Girl_friend = record
   name : STRING [30];
   age : INTEGER
end

my-girl : (POINTER ?) Girl_friend;

my_girl.name := "Ann";
my_girl.age  := 30;

What is if you have a longer name? What is if you declare my_girl to
be a Pointer to Girl_friend?
Why should that be easier to understand?

I had to learn programming with Modula-2 and it was the hell for
me. I doubt that it could have been worse while learning Lisp.


> No. Only after understanding the fundamental concepts of Lisp.

So what? I have to understand the fundamental concepts of any
programming langauge why is Pascal different here.
> 
> > >Is it intuitively obvious to
> > > even the most casual observer how to make a similar program?
> >  yes
> No. See answer before. :)
Again why is a record struct in Pascal easier to understand than in
Lisp. What about the Pointers? What about memory handling etc?

> >  he/she started from. If he starts with Lisp; C, Java looks messy. If
> It _does_ matter. Beginners can easily get frustrated because of the
> sometimes confusing syntax. BTW, I wouldn't recommend starting with Java
> or C/C++, either. I'd recommend and teach (if I were a teacher :) some
> Wirth language, because they're designed especially for teaching basics
> of programming.

For a special kind of learning inflexible languages. IMHO the whole
books and langauges have one big advantage. The are there for Top-down
devlopment. No space for errors, no space for piecemeal grow. If you
forget a ; you get a friendly message that you're an idiot (not
really) you have to go back to you editor fix that bug and compile it
again.

You can not simply test out a function by itself in no time. You have
to stop recompile and start again. All this is so tedious and
frustrating that I can't see any reason why that should be a good
thing.

Regards
Friedrich



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  7:28             ` FM
@ 2001-05-10  8:51               ` Jochen Schmidt
  2001-05-10 21:32                 ` FM
                                   ` (2 more replies)
  2001-05-11 15:55               ` Andreas Krennmair
  1 sibling, 3 replies; 232+ messages in thread
From: Jochen Schmidt @ 2001-05-10  8:51 UTC (permalink / raw)


FM wrote:

> Andreas Krennmair <a.krennmair@aon.at> wrote:
> 
>>The problem is that Lisp is in no way similar to a natural language. And
>>natural language can be understood easier than some functional,
>>theoretical stuff with a unique concept like Lisp.
> 
> You've got at least three assumptions there, none of which
> I agree with. I don't see why a programming language
> should be similar to a natural language (the only sense in
> which they are both languages is that they have some form
> of grammar) and it takes quite a lot of arrogance to say
> that a programming language is harder to understand than a
> natural language or that the imperative paradigm is closer
> to the natural way of describing things for humans than
> the functional paradigm.
> 
> Also, Lisp is hardly some functional thereotical stuff
> with a unique concept.
> 
> 
>>Don't get me wrong, Lisp is a great
>>language, and I personally find it quite exciting as four year Pascal and
>>two year C/C++ programmer, but it's hardly usable for teaching, because it
>>is so unique (well, you _could_ to functional programming in C, but it
>>would be considered bad style).
> 
> What is *so* unique? Lisp is a label applied to a broad
> family of languages, not a single language. That alone
> takes away the uniqueness. Furthermore, the functional
> paradigm is hardly confined to the Lisp family.
> 
> 
>>I currently go to an Austrian school where mostly programming/CS/software
>>engineering-related things are taught (it's for 5 years, and you start
>>at an age of 14),
> 
> Ouch. This is probably a bad idea...
> 
> 
>>> > Now look at it. Could a neophite with literally *zero*
>>> > experience in programming computers read it and stand a chance of
>>> > understanding what it does or how it does it?
>>>  
>>>  yes, yes
>>for my comment, see above. Lisp has hardly anything in common with natural
>>languages. Or could you express "My girlfriend's name is Suzy and her age
>>is 17" as readable as this in Lisp:
>>$girlfriend{'name'} = "Suzy";
>>$girlfriend{'age'} = 17;
> 
> Except that this is completely wrong. Your perl statements
> are imperative, not descriptive or even declarative. At
> least most languages in the Lisp family will let you write
> something close to:
> 
> (with (she (my girlfriend))
>   (be (of name she) "Suzy")
>   (be (of age she) 17))

(setf (gethash "name" *girlfriend*) "Suzy"
       (gethash "age" *girlfirend*) 17)

Is more like the equivalent to the Perl code.

but I would do:

(defclass girlfriend ()
 ((name :accessor girlfriend-name :initarg :name)
  (age :accessor girlfirend-age :initarg :age)))

and then

(make-instance 'girlfriend :name "Suzy" :age 17)

Which is IMHO much more natural than the Perlcode.

> That's aside from the fact that you chose an arbitrary
> sentence that isn't at all representative of natural
> languages. For a better exercise, take a few paragraphs
> from a book or better yet, record a phone conversation or
> radio broadcasts and come up with a formal notation that
> could be used to capture their meaning.
> 
> 
> 
>>Of course, this is not the best example, since Perl has a syntax that is
>>not the optimum for beginners.
> 
> Perl's syntax is the closest thing I've seen to a natural
> syntax in a programming language.

?? Is that meant as a joke or what????

Regards,
Jochen



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  7:57               ` Andrew Bromage
@ 2001-05-10  8:55                 ` Iain McNaughton
  2001-05-15  2:02                   ` Rob Warnock
       [not found]                 ` <3AFA5A92.5D4F191C@info.unicaen.fr>
  1 sibling, 1 reply; 232+ messages in thread
From: Iain McNaughton @ 2001-05-10  8:55 UTC (permalink / raw)



Oh, what the heck, here's my two cents:

Seems to me that the best language for a beginner is BASIC. I'm quite
serious about this. I don't mean Visual Basic, or any of the other
recent extensions or amendments to BASIC; I mean original BASIC, as
developed at Dartmouth in the 60s. It was developed as a teaching tool,
and it has all the main requirements for helping someone with their
first steps in programming: it is simple to learn, requires the beginner
to understand simple ideas like input and output of data, if-then
statements, and for loops. Sure, it's not fancy, and it's certainly not
state-of-the-art. But that's not the point. The point is that the first
thing a beginner has to do is learn how to think a little more clearly,
and solve simple problems in a simple way. BASIC meets these criteria,
you can use it as a base for more learning, and it has a large
supporting literature for the student and the teacher alike.

For the next language, I'd choose Pascal. Wirth envisaged it as a
teaching language, and it works as such.

After that, you pick the language that the student is going to find most
useful in his future life.

I await my flaming with interest !

Iain McNaughton.



>
>Which is precisely why my preferred first language is something more like
>Haskell.  If the student is already familiar with mathematical notation,
>Haskell comes naturally.  Rather than spending brainshare on learning
>an unfamiliar syntax (and let's face it, Lisp/Scheme has an unfamiliar
>syntax, even if it is a simple one), the student can spend their energy
>on learning programming.
>
>Cheers,
>Andrew Bromage

P.S. Andrew, I don't think Haskell is a good idea as a first teaching
language, precisely for the reasons you mention: it's too close to
mathematics, and thus *too far* from the way that most computer
languages work.
-- 
Iain McNaughton



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 10:22         ` Biep @ http://www.biep.org/
  2001-05-10  5:45           ` Raffael Cavallaro
@ 2001-05-10  9:02           ` Jochen Schmidt
  1 sibling, 0 replies; 232+ messages in thread
From: Jochen Schmidt @ 2001-05-10  9:02 UTC (permalink / raw)


Biep @ http://www.biep.org/ wrote:

> "Andrew Cooke" <andrew@andrewcooke.free-online.co.uk> wrote in message
> news:3AF67F9D.72B90142@andrewcooke.free-online.co.uk...

> Oh, and I guess some people might be willing to argue that Scheme is the
> *only* programming language with real macros :-)

hmm... ever heard of "Common Lisp" ?

I like the Common-Lisp Macrosystem more than Scheme's restrictive 
"Hygienic" Macros.

Regards,
Jochen



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 22:56         ` David Thornley
@ 2001-05-10  9:16           ` Ola Rinta-Koski
  2001-05-10 20:17             ` David Thornley
  0 siblings, 1 reply; 232+ messages in thread
From: Ola Rinta-Koski @ 2001-05-10  9:16 UTC (permalink / raw)


thornley@visi.com (David Thornley) writes:
> C++, properly taught, does.  I don't know if it's properly taught
> anywhere.  I've taught C as a first language successfully, and the
> areas that gave the most trouble are the areas that I could avoid
> using C++.  No more pointers, C-style arrays, C-style string handling,
> or printf/scanf.

  I must be missing something here. What kind of non-trivial program
  can be written without pointers in C++? Certainly not one using any
  OOP features like virtual functions etc.
-- 
        Ola Rinta-Koski                                 ola@cyberell.com
        Cyberell Oy                                     +358 41 467 2502
        Rauhankatu 8 C, FIN-00170 Helsinki, FINLAND	www.cyberell.com



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
                           ` (4 preceding siblings ...)
  2001-05-10  5:53         ` Mark VandeWettering
@ 2001-05-10  9:22         ` Francis Leboutte
  2001-05-10 15:13         ` Georg Bauhaus
  2001-05-10 15:17         ` brlewis
  7 siblings, 0 replies; 232+ messages in thread
From: Francis Leboutte @ 2001-05-10  9:22 UTC (permalink / raw)


"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> wrote:

>...
>That's why I wouldn't recommend Lisp as a first programming language in an
>intro to CS course.

Lisp was my first programming language. It has been a pleasure and easy. Since
then, I have always regretted to have to program in other languages, even if
sometimes it was fun too.

>Gee. I never thought I'd have to defend THAT statement! :-)

Maybe you will learn something :-)

>MDC

--
www.algo.be
Logo programming : www.algo.be/logo.html



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
                               ` (3 preceding siblings ...)
  2001-05-10  8:11             ` Friedrich Dominicus
@ 2001-05-10 11:09             ` Markus Mottl
  2001-05-10 14:44             ` Eugene Zaikonnikov
                               ` (2 subsequent siblings)
  7 siblings, 0 replies; 232+ messages in thread
From: Markus Mottl @ 2001-05-10 11:09 UTC (permalink / raw)


In comp.lang.functional Andreas Krennmair <a.krennmair@aon.at> wrote:
> The problem is that Lisp is in no way similar to a natural language.

Same is true for all _programming_ languages. Let's not try to maintain
the illusion that programming languages are, could be, or even should be
similar to natural language. Natural language is highly ambiguous and
imprecise, which surely does not make it a good choice for programming
tasks.

> And natural language can be understood easier than some functional,
> theoretical stuff with a unique concept like Lisp.

Sure: you have had about two decades of training, several hours a
day. This definitely makes you good at speaking natural language.
Natural language more easily understood than Lisp? Try to learn Chinese
and tell me again...

Furthermore, I wouldn't regard Lisp as particularly theoretically
inspired, at least not if you compare it to "real" functional languages
like e.g. Haskell.

And yes, this "theoretical" stuff is remarkably readable. Go and look for
yourself:

  http://www.haskell.org

Or try a language from the ML-family, e.g.:

  http://www.ocaml.org

> I was bored in the beginning, because I already knew Pascal, but then
> the teacher explained me that they chose to teach Pascal because it
> is so easy to read and to understand and it still has so many things
> common with other languages.

The true reason most likely is that he had learnt Pascal himself in
school and therefore also uses it for teaching.

> Lisp has hardly anything in common with natural
> languages. Or could you express "My girlfriend's name is Suzy and her age
> is 17" as readable as this in Lisp:
> $girlfriend{'name'} = "Suzy";
> $girlfriend{'age'} = 17;

Don't cheat yourself. There is absolutely no reason why a language like
Perl should be considered anywhere close to natural language. And yes,
I'd say that most well-designed languages make tasks like handling
records significantly easier and safer than Perl.

Take this Lisp-example. First we define a structure to describe persons:

  (defstruct (person) (name) (age))

Now we create a value for your girlfriend:

  (make-person :name "Suzy" :age 17)

To be clear, I am not a particular friend of Lisp and strongly prefer
other (functional and logic) languages. But I just wanted to show that
your claim is not justified.

Other languages also seem much more "natural" to me than your
Perl-example, e.g.:

OCaml with tuples:

  let my_girlfriend = "Suzy", 17

Or (with more structure for readability):

  type person = { name : string; age : int }

  let my_girlfriend = { name = "Suzy"; age = 17 }

None of these examples looks more "theoretical" or less "natural" than
yours. It's probably best if you just take a look at the documentation
of these and other languages, play around a bit, and maybe you'll find
that these languages are much more elegant than you initially thought...

Best regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  6:06             ` Mark VandeWettering
  2001-05-10  7:57               ` Andrew Bromage
@ 2001-05-10 13:03               ` John English
  2001-05-10 13:44                 ` Michael Livshin
  1 sibling, 1 reply; 232+ messages in thread
From: John English @ 2001-05-10 13:03 UTC (permalink / raw)


Mark VandeWettering wrote:
> I am constantly confused by justification.  First of all, precisely what
> feature of perl is similar to natural languages?

You can write poetry in it? :-)

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.it.bton.ac.uk/staff/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 13:03               ` John English
@ 2001-05-10 13:44                 ` Michael Livshin
  2001-05-16 17:59                   ` Lex Spoon
  0 siblings, 1 reply; 232+ messages in thread
From: Michael Livshin @ 2001-05-10 13:44 UTC (permalink / raw)


John English <je@brighton.ac.uk> writes:

> Mark VandeWettering wrote:
> > I am constantly confused by justification.  First of all, precisely what
> > feature of perl is similar to natural languages?
> 
> You can write poetry in it? :-)

there's nothing natural about poetry.

-- 
Computer Science is embarrassed by the computer.
                -- Alan Perlis



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
                               ` (4 preceding siblings ...)
  2001-05-10 11:09             ` Markus Mottl
@ 2001-05-10 14:44             ` Eugene Zaikonnikov
  2001-05-10 15:34             ` ssthapa
  2001-05-14 19:58             ` Johan Kullstam
  7 siblings, 0 replies; 232+ messages in thread
From: Eugene Zaikonnikov @ 2001-05-10 14:44 UTC (permalink / raw)


* "AK" == Andreas Krennmair <a.krennmair@aon.at> writes:

AK>  The problem is that Lisp is in no way similar to a natural
AK>  language. And natural language can be understood easier than some
AK>  functional, theoretical stuff with a unique concept like
AK>  Lisp.

Lisp isn't a language with a unique concept for a very long time. It
provides support for quite a few paradigms and does it much better
than many of the languages.

AK>  Lisp has hardly anything in common with natural languages. Or
AK>  could you express "My girlfriend's name is Suzy and her age is
AK>  17" as readable as this in Lisp: 
AK>  $girlfriend{'name'} = "Suzy";
AK>  $girlfriend{'age'} = 17;

(make-instance 'girlfriend
    :name "Suzy"
    :age 17)

?

--
  Eugene



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  0:01               ` David Starner
  2001-05-10  6:10                 ` Mark VandeWettering
  2001-05-10  8:08                 ` FM
@ 2001-05-10 15:07                 ` Eugene Zaikonnikov
  2001-05-10 20:08                 ` David Thornley
  2001-05-16 18:00                 ` Robert Posey
  4 siblings, 0 replies; 232+ messages in thread
From: Eugene Zaikonnikov @ 2001-05-10 15:07 UTC (permalink / raw)


* "DS" == David Starner <dvdeug@x8b4e53cd.dhcp.okstate.edu> writes:

DS>  Tell me what !bbz#,^az@bz, does.

DS>  Then tell me what
	
DS>  OPEN FILE ARGUMENT 2 AS 2
DS>  BEGIN LOOP
DS>          LOAD FILE ARGUMENT 1 INTO BUFFER 
DS>          COPY BUFFER TO 2
DS>  FINISH LOOP does.

Tell me what

(loop for i across array1
      for j in list1
      maximize (/ i j))

does.

DS>  As for lisp itself, just from the name, what does defun or cadar
DS>  do? What do FUNCTION, PROCEDURE and BEGIN do?

What '2 AS 2' do?

DS>  I've seen 2 + 2 since the first days of school. Why (+ 2 2)?

Because:
a) This syntax is uniform and requires no knowledge of operations
precedence;
b) Plus is not obliged to be a binary operator. Ability to write
(+ foo bar baz qux) or (+ ,@my-list-of-variables) is handy.

-- 
  Eugene



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
                           ` (5 preceding siblings ...)
  2001-05-10  9:22         ` Francis Leboutte
@ 2001-05-10 15:13         ` Georg Bauhaus
  2001-05-10 16:49           ` Jochen Schmidt
  2001-05-11  7:34           ` Ola Rinta-Koski
  2001-05-10 15:17         ` brlewis
  7 siblings, 2 replies; 232+ messages in thread
From: Georg Bauhaus @ 2001-05-10 15:13 UTC (permalink / raw)


Marin David Condic (marin.condic.auntie.spam@pacemicro.com) wrote:

: If you are familiar with Lisp, try this: Write a small program to read in a
: couple of numbers from a keyboard, do some math with them and print the
: result to the screen. Now look at it. Could a neophite with literally *zero*


Then, Ola Rinta-Koski (with f'Up to iso-something):

"(let ((foo 0))
  (dotimes (i 5)
    (incf foo (read)))
  foo)

[is easy]"

: That's why I wouldn't recommend Lisp as a first programming language in an
: intro to CS course.

: Gee. I never thought I'd have to defend THAT statement! :-)

The above looks like Scheme with macros(?) and has a few didactical
problems, as I'd like to report, with some additional guesses thrown in.
(not to say that these problems are not present in many or all
other languages): You may have to answer some questions from your
inexperieced(!) listeners,
- what is let? and then: why do I have to place an additional pair
  of parens around foo 0?
- what is i for?
- what does it mean that this foo is standing on its own
  on the last line?
- if the first thing in a list is a function that does something
  with the rest, then what function is i?
- ...

As you may see by now, there _is_ some complexity even
behind the most "simple" syntax, and while, of course,
all these questions can be answered, the tree (or graph?)
of follow up questions is going to grow large.
So some of these things (like creating "variables") had
better explain themselves a bit more, i.e. without
overloaded parentheses, for example.

When it was my job to teach OO Prgramming with Java :-( to
grown ups with essentially only high school math background,
(it had to be Java, by contract) I was puzzled that there
was no problem in talking about graphs and trees of inheritance
at a very early stage (though not formally, and by example),
but it was _very_
difficult to explain the concept of a function, what it is,
what it is there for, let alone, what it is as a method of
some class.

(All these phaenomena may be my fault, but in this case, I don't
think so.)

 One reason seems to be abstraction: If they have
been doing math for years, it doesn't seem difficult to
see that there is a form in "multiply the number of
goods by their respective prices" that can be used for
anything that has a price, be it bread or a house or a
service. And to find a notation for this function.
But it does seem to become difficult at the point
where familiarity stops: real machines, real data,
real OSs, and the first new syntax, math background or not.

What worked well was flow charts. Very well, indeed.
But which language serves well in the transport of flow
charts to code, and does so after a few introductory words?
I'll vote for a language that has a lucid syntax for this
like "IF condition THEN do_this, OTHERWISE do_that."
until, after formal training, a alternative approach becomes
feasable.
(Maybe the punctiation (which carries meaning!) could
be replaced with words, so people don't become annoyed
with orthographical issues right from the beginning?
Or should they be drilled to formal exactitude? :-)

What I think is lively important in the choice of a 
first programming language, is to have a visual hook in them
to explain fundamental issues (like why "c = c + 1" is
valid in languages actually taught, and which needs
some notion of an accumulator or equivalent, on computers).

If you want to know how to code, you will
have to know a setq-free and a setq-only approach
(after all, there is memory, in real machines at some
level). Is there a good way to do only one of them at
the beginning? I don't know but I would love to read
some real empirical evidence.


Georg Bauhaus

PS: What I find puzzling is the lack of an abundance of
statements from
people who have actually taught several very different
languages...

PPS: And as for beginners with math skills, who cannot yet
master SICP, Abelson's LOGO book _is_ a good reading,
I find.




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 13:55       ` Marin David Condic
                           ` (6 preceding siblings ...)
  2001-05-10 15:13         ` Georg Bauhaus
@ 2001-05-10 15:17         ` brlewis
  7 siblings, 0 replies; 232+ messages in thread
From: brlewis @ 2001-05-10 15:17 UTC (permalink / raw)


"Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:

> First, let me point out that I have no objection to teaching anyone Lisp at
> some later point in their CS education. I have nothing against Lisp, in this
> sense. The reason I wouldn't teach it as a FIRST programming language should
> be fairly obvious.

The Scheme dialect of Lisp is, in fact, largely designed with pedagogy
in mind.  It is used as a first programming language not only at places
like MIT, but even in high schools.  Here is some rationale behind such
a choice:

http://www.htdp.org/2001-01-18/Book/node4.htm

> If you are familiar with Lisp, try this: Write a small program to read in a
> couple of numbers from a keyboard, do some math with them and print the
> result to the screen.

Since Scheme is interactive, a beginning programmer doesn't need to
learn keyboard I/O.  Given the amount of GUI and web programming done
these days, why bother?  Beginning programming is more about the process
of transforming input (e.g. function arguments) into output (e.g. return
values), rather than the mechanics of I/O by keyboard, web forms, or
anything else.

But since you asked, here's a Scheme program that takes input both
ways (as function arguments as well as from the keyboard):

(define (quiz op n1 n2)
  (display "Your answer? ")
  (if (equal? (op n1 n2) (read))
      "Correct!"
      (op n1 n2)))

> Now look at it. Could a neophite with literally *zero*
> experience in programming computers read it and stand a chance of
> understanding what it does or how it does it?

Usually "neophyte" refers to someone with non-zero experience.  It
originally meant a newly-ordained priest, not someone with zero church
experience.  Nonetheless, I think the above program could be explained
quickly and understood reasonably by someone with zero experience.

> Could a neophite duplicate it easily or modify it to do something
> different?

Yes, although they can already do a lot with it as-is.  You can quiz
yourself on addition, multiplication, GCD, LCM, and pretty much any math
operation that takes two numbers.

> Is it intuitively obvious to even the most casual observer how to make
> a similar program?

At least as obvious, if not moreso, than it would be in other
programming language.

> That's why I wouldn't recommend Lisp as a first programming language in an
> intro to CS course.
> 
> Gee. I never thought I'd have to defend THAT statement! :-)

Given that the Scheme dialect of Lisp *has* been used as a first
programming language in so many schools, you shouldn't be surprised.

http://www.schemers.com/schools.html

Followups set to comp.lang.scheme



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-10  6:20             ` Pascal Obry
@ 2001-05-10 15:31               ` Charles Hixson
  2001-05-10 16:12                 ` James Rogers
  0 siblings, 1 reply; 232+ messages in thread
From: Charles Hixson @ 2001-05-10 15:31 UTC (permalink / raw)


Pascal Obry <p.obry@wanadoo.fr> wrote in
<uy9s5iv2v.fsf@wanadoo.fr>: 

>
>...
>Sure, you just need a PIII 800Mhz with lots of memory to
>start working with a decent environment :)
>
>Pascal.
>

Well, Java does have a bit of overhead, but PCGrasp doesn't 
recognize the current GNAT, so I could hardly recommend that 
without an appropriate context.  And it isn't exactly portable.  
I suppose that someday I may learn EMACS well enough to 
understand why some people recommend it, but everytime I've 
looked at it so far, I've bounced into an easier way to do the 
job.  (And I *do* like syntax highlighting.)  

If I were just working in Linux there would probably be several 
choices, but wanting a portable IDE (which *I* do) makes it more 
difficult.

-- 
Charles Hixson

Copy software legally, the GNU way!
Use GNU software, and legally make and share copies of software.
See http://www.gnu.org
    http://www.redhat.com
    http://www.linux-mandrake.com
    http://www.calderasystems.com/
    http://www.linuxapps.com/



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
                               ` (5 preceding siblings ...)
  2001-05-10 14:44             ` Eugene Zaikonnikov
@ 2001-05-10 15:34             ` ssthapa
  2001-05-14 19:58             ` Johan Kullstam
  7 siblings, 0 replies; 232+ messages in thread
From: ssthapa @ 2001-05-10 15:34 UTC (permalink / raw)


Andreas Krennmair <a.krennmair@aon.at> wrote:
>It _does_ matter. Beginners can easily get frustrated because of the
>sometimes confusing syntax. BTW, I wouldn't recommend starting with Java
>or C/C++, either. I'd recommend and teach (if I were a teacher :) some
>Wirth language, because they're designed especially for teaching basics
>of programming.

    I think syntax is a big plus with scheme and to a slightly lesser extent,
lisp.  The syntax is something that can be easily learned since it is so
regular and after that the instructor can move on to programming.  With
other languages, the syntax takes a while to learn and that takes away from
time the instructor can use to teach the actual material.

-- 
----------------------------------------------------------------------------
	   		              |
Suchandra Thapa                       | "There are only two kinds of math . 
s-thapa-11@NOSPAMalumni.uchicago.edu  | books. Those you cannot read beyond 
			              | the first sentence, and those you 
			              | can not read beyond the first page."
			              |                     -C.N. Yang
----------------------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-09 19:06           ` Charles Hixson
  2001-05-10  6:20             ` Pascal Obry
@ 2001-05-10 16:01             ` Stephen Leake
  2001-05-11  1:54               ` Retraction : ( Was: Beginner's Ide) raj
  2001-05-11 11:44               ` Beginner's Ide Georg Bauhaus
  1 sibling, 2 replies; 232+ messages in thread
From: Stephen Leake @ 2001-05-10 16:01 UTC (permalink / raw)


charleshixson@earthling.net (Charles Hixson) writes:

> raj <israelrt@optushome.com.au> wrote in
> <7p1hfto4sa6d4sek62ipntjsrvaqsvodtt@4ax.com>: 
> 
> >...The GNAT IDE should be avoided like the plague.
> >Aonix do a nice free ( for noncommercial use ) compiler + Ide
> >that should be fine for students.
> >
> 
> GNAT IDE?  I see nothing wrong with AdaGIDE, but if you don't 
> like it, you could try jGRASP.  They don't do GUI's for you (was 
> that what you meant) but they're pretty good.  And jGRASP is 
> portable.

Just to be clear, there is no product named "the GNAT IDE". GNAT is
just a command line compiler; it can be used with any IDE that
supports command line compilers. 

AdaGIDE is a student-oriented, minimal, GUI interface to the GNAT
compiler. It is produced by the US Air Force Academy. It is available
on the GNAT ftp site as a curtesy. Previous versions of GNAT bundeled
AdaGIDE with the GNAT binary distribution, but this is no longer done.

ACT (the GNAT support company) also supports an extension to GNU Emacs
called Glide. It includes an Ada mode, among other things. 

I'm not clear what "other things", because I have not seen an adequate
description, and I like my current Emacs setup and don't want to risk
breaking it by installing Glide :(.

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-10 15:31               ` Charles Hixson
@ 2001-05-10 16:12                 ` James Rogers
  0 siblings, 0 replies; 232+ messages in thread
From: James Rogers @ 2001-05-10 16:12 UTC (permalink / raw)


Charles Hixson wrote:
> 
> Pascal Obry <p.obry@wanadoo.fr> wrote in
> <uy9s5iv2v.fsf@wanadoo.fr>:
> 
> >
> >...
> >Sure, you just need a PIII 800Mhz with lots of memory to
> >start working with a decent environment :)
> >
> >Pascal.
> >
> 
> Well, Java does have a bit of overhead, but PCGrasp doesn't
> recognize the current GNAT, so I could hardly recommend that
> without an appropriate context.  And it isn't exactly portable.
> I suppose that someday I may learn EMACS well enough to
> understand why some people recommend it, but everytime I've
> looked at it so far, I've bounced into an easier way to do the
> job.  (And I *do* like syntax highlighting.)
> 
> If I were just working in Linux there would probably be several
> choices, but wanting a portable IDE (which *I* do) makes it more
> difficult.
> 

I find both these comments quite perplexing.

I frequently teach programming courses using both PCGrasp and JGrasp.
I use JGrasp on my 400MHZ laptop computer with no performance issues.

PCGrasp can easily be modified to recognize the current version of
GNAT. Simply copy the delivered version of the GNAT compiler model and
edit the directory paths. This work takes less than one minute. Once
done it does not need to be repeated. 

Jim Rogers
Colorado Springs, Colorado USA



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 15:13         ` Georg Bauhaus
@ 2001-05-10 16:49           ` Jochen Schmidt
  2001-05-10 17:04             ` Friedrich Dominicus
  2001-05-11  7:34           ` Ola Rinta-Koski
  1 sibling, 1 reply; 232+ messages in thread
From: Jochen Schmidt @ 2001-05-10 16:49 UTC (permalink / raw)


Georg Bauhaus wrote:

> Marin David Condic (marin.condic.auntie.spam@pacemicro.com) wrote:
> 
> : If you are familiar with Lisp, try this: Write a small program to read
> : in a couple of numbers from a keyboard, do some math with them and print
> : the result to the screen. Now look at it. Could a neophite with
> : literally *zero*
> 
> 
> Then, Ola Rinta-Koski (with f'Up to iso-something):
> 
> "(let ((foo 0))
>   (dotimes (i 5)
>     (incf foo (read)))
>   foo)
> 
> [is easy]"
> 
> : That's why I wouldn't recommend Lisp as a first programming language in
> : an intro to CS course.
> 
> : Gee. I never thought I'd have to defend THAT statement! :-)
> 
> The above looks like Scheme with macros(?) and has a few didactical
> problems, as I'd like to report, with some additional guesses thrown in.

It seems to be CommonLisp. You could also write:

(loop :repeat 5 :sum (read))

Which is maybe easier to understand.
        

> (not to say that these problems are not present in many or all
> other languages): You may have to answer some questions from your
> inexperieced(!) listeners,
> - what is let? and then: why do I have to place an additional pair
>   of parens around foo 0?
> - what is i for?
> - what does it mean that this foo is standing on its own
>   on the last line?
> - if the first thing in a list is a function that does something
>   with the rest, then what function is i?
> - ...

some of your questions are IMHO biased through your knowledge of languages 
like Pascal, C...
If they are _really_ newbies some of those questions will *never* arise 
because they have nothing to compare with (like you do here)

Taking the example in C

#include <stdio.h>
 
int main (int argc, char** argv) {
  int sum=0;
  int foo=0;
  int i=0;
  for (;i<5;++i) {
     scanf("%d", &foo);
     sum=sum+foo;
  }
  printf("%d", sum);
}

It is not clear to me that this could be easier to explain then the first 
Lisp-variant.

- What is #include
- What is <stdio.h>
- What is int
- What is main
- What is argc
- What is char** (!!!)
- What is argv
- what is for
- why are ";" used in for instead of "," in other places...
- what is scanf
- what is this %d thingy
- what is the & before foo
- what is printf
- What are those {,} all around
- If functions are recocnized by a opening paren after there name, why
  are the parameters of the function foo splitted by ";" and why is there no
  ";" at the end of the line but this "{" thingy....

Pascal is not much easier in this point...

BASIC:

FOR i = 0 TO 5
  INPUT foo
  sum = sum + foo
NEXT i
PRINT sum

would be rather understandable but is IMHO beaten by far through

(loop :repeat 5 :sum (read))

But I've to say that it is absolutely unrealistic to begin with such a 
function. The first lessons should *not* contain any control-statements.
The nice thing with Lisp is that you can begin with simple arithmetic 
without teaching I/O Functions first. So they can compare the first lessons 
with using a more and more sophisticated calculator.

Regards,
Jochen



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 16:49           ` Jochen Schmidt
@ 2001-05-10 17:04             ` Friedrich Dominicus
  0 siblings, 0 replies; 232+ messages in thread
From: Friedrich Dominicus @ 2001-05-10 17:04 UTC (permalink / raw)


Jochen Schmidt <jsc@dataheaven.de> writes:

> 
> #include <stdio.h>
>  
> int main (int argc, char** argv) {
int main (void) should be enough here ;-)
>   int sum=0;
>   int foo=0;
>   int i=0;
>   for (;i<5;++i) {
>      scanf("%d", &foo);
>      sum=sum+foo;
>   }
>   printf("%d", sum);
> }
> 
> It is not clear to me that this could be easier to explain then the first 
> Lisp-variant.
> 
> - What is #include
> - What is <stdio.h>
> - What is int
> - What is main


> - What is argc
unessary
> - What is char** (!!!)
dito 
> - What is argv
dito

Till then Friedrich



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 14:18         ` Ola Rinta-Koski
  2001-05-09 15:53           ` Marin David Condic
@ 2001-05-10 17:15           ` David Gillon
  2001-05-10 19:50             ` Warren W. Gay VE3WWG
                               ` (2 more replies)
  1 sibling, 3 replies; 232+ messages in thread
From: David Gillon @ 2001-05-10 17:15 UTC (permalink / raw)




Ola Rinta-Koski wrote:
> 
> (let ((foo 0))
>   (dotimes (i 5)
>     (incf foo (read)))
>   foo)
> 
> > Now look at it. Could a neophite with literally *zero*
> > experience in programming computers read it and stand a chance of
> > understanding what it does or how it does it?
> 
>   Not being a neophyte, I'll just have to guess: yes and yes.

Well, I'll admit that despite a CS degree (including a course
specifically aimed at comparing different languages) and fifteen years
in the industry I can't claim to know what this code does, so any
complete neophyte is going to be floundering. I can guess we have a loop
doing something to Foo, but beyond that ...? Sum five (could also be 6)
inputs seems most likely, but that's based on my knowledge of parallel
constructs in other languages and therefore more than a true neophyte
could get.

Despite all the criticisms that can legitimately be levelled at BASIC I
originally taught myself to code from BASIC examples in computer
magazines, I don't believe that would have been true if they had looked
like the example above instead of paralleling natural language. And what
BASIC does better than this Pascal and Ada do better still.

There's also a strong cultural element to be considered beyond the
strict grammar of the language. A language that stays close to natural
language (at least for the anglophone part of the population), which
encourages meaningful variable names and cleanly structured, readable,
well commented code is going to be far easier for someone with limited
knowledge to understand (or maintain). A CS/SE course that teaches good
coding practise rather than just coding is going to produce people
who'll be both more useful to their employers and gain the course a good
reputation

I much prefer the following to the example above and I believe that even
with all comments stripped out it would be inherently easier to
understand for a struggling student:

procedure Sum_Five_Values is

  -- Description : 
  --   Example showing clear coding practice, sums five integer inputs 
  --   and displays result

  -- Input Parameters  : 
  --   None (uses keyboard)
  -- Output Parameters : 
  --   None (uses screen)

  -- Modification History :
  --   10-05-2001, Initial version, DWG
  --   <DD-MM-YYYY>,<Description of change>,<Author>

  Total_Count   : Integer := 0;
  Entered_Value : Integer;

begin

  -- Sum five inputs from the keyboard
  for Loop_Counter := 1 .. 5 do
  begin
    Put_Line ("Enter an integer value and press return");
    Get (Entered_Value);
    Total_Count := Total_Count + Entered_Value;
  end;

  -- report the final result to the screen
  Put("Total Value = ");
  Put_Line(Total_Count);

end Sum_Five_Values;

-- 

David Gillon



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 17:15           ` David Gillon
@ 2001-05-10 19:50             ` Warren W. Gay VE3WWG
  2001-05-10 20:15             ` Marie-No�lle Baechler
  2001-05-11  5:29             ` Friedrich Dominicus
  2 siblings, 0 replies; 232+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-05-10 19:50 UTC (permalink / raw)


David Gillon wrote:
> Ola Rinta-Koski wrote:
> >
> > (let ((foo 0))
> >   (dotimes (i 5)
> >     (incf foo (read)))
> >   foo)
> >
> > > Now look at it. Could a neophite with literally *zero*
> > > experience in programming computers read it and stand a chance of
> > > understanding what it does or how it does it?
> >
> >   Not being a neophyte, I'll just have to guess: yes and yes.
> 
> Well, I'll admit that despite a CS degree (including a course
> specifically aimed at comparing different languages) and fifteen years
> in the industry I can't claim to know what this code does, so any
> complete neophyte is going to be floundering. I can guess we have a loop
> doing something to Foo, but beyond that ...? Sum five (could also be 6)
> inputs seems most likely, but that's based on my knowledge of parallel
> constructs in other languages and therefore more than a true neophyte
> could get.
> 
> Despite all the criticisms that can legitimately be levelled at BASIC I
> originally taught myself to code from BASIC examples in computer
> magazines, I don't believe that would have been true if they had looked
> like the example above instead of paralleling natural language. And what
> BASIC does better than this Pascal and Ada do better still.

A number of posts ago, someone mentioned "general purpose". One of the
things that most people seem to forget in this type of discussion, is
whether or not a "general purpose" language is being considered (I
believe this is assumed by most here).

If you truly want something simpler for people to learn from, 
*** take away the "general purpose" requirement. ***

As mentioned in the current post (above), BASIC helped many newbies
get started. Why?  BASIC was simple to understand, & it put you in
a restricted "shell" of sorts, with very simple commands to use. Ie:

LOAD "PROGRAM"
SAVE "PROGRAM"
RUN
LIST
etc.

The _environment_ and the simple language combined, made it easy. It
was also easy, because it was not totally "general purpose" (it does
not interface well with many things that one would use under UNIX today,
for example).

If all you had to do was control a few things, you can really simplify
the language. A hypothetical example might be (for a controller):

   Open door.
   Close window.

A two step, but specialized language program.  However, if you had to 
code that in assembler language, a completely general purpose language,
you would have perhaps 200 to 1000+ lines of code to read. The difference
was simply between a specialized language and a general one.

			- My Point -  ;-)

So my point is that when you consider a "beginner's language", consider
his needs first. Does he need a totally general purpose language, or
can he get by with a reasonable subset of "general"?  If he can be
happy with the bare minimum, then languages like BASIC are a good
place to start.

In addition to the language, you might also consider the "environment"
also. If the user is foreign to UNIX shells for example, than a BASIC
subsystem might be more productive for him.

I'm not promoting BASIC for general use here-- only discussing the
needs of beginners.

As a side note, I find it interesting that a
number of high schools teach kids here BASIC using QBASIC that was
distributed free on Windoze-95 CD's (it might also be on Win98).
You have to look for it on the install CD-- it won't be installed
for you.  If my daughter can use it (as impatient as she is), then
this says something to me about the success of this approach.

-- 
Warren W. Gay VE3WWG
http://members.home.net/ve3wwg



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  0:01               ` David Starner
                                   ` (2 preceding siblings ...)
  2001-05-10 15:07                 ` Eugene Zaikonnikov
@ 2001-05-10 20:08                 ` David Thornley
  2001-05-16 18:00                 ` Robert Posey
  4 siblings, 0 replies; 232+ messages in thread
From: David Thornley @ 2001-05-10 20:08 UTC (permalink / raw)


In article <9dclnt$9ic1@news.cis.okstate.edu>,
David Starner <dstarner98@aasaa.ofe.org> wrote:
>On Wed, 09 May 2001 18:01:10 -0500, Sashank Varma <sashank.varma@vanderbilt.edu> wrote:
>
>Tell me what
>	!bbz#,^az@bz,
>does.
>
>Then tell me what
>	
>	OPEN FILE ARGUMENT 2 AS 2
>	BEGIN LOOP
>		LOAD FILE ARGUMENT 1 INTO BUFFER
>		COPY BUFFER TO 2
>	FINISH LOOP
>does. 
>
I can make much better guesses in the latter case.  Is it realistic?

Is it going to fool the beginner into thinking that he or she can
write English?  I knew a woman who had difficulty in learning
COBOL because she took the English-like quality too seriously,
and never remembered the exact phrase she needed.  Like
READ FOO INTO BAR AT END GO TO BAZ.
She would substitute all sorts of apparently equivalent things
for "AT END".

>If I came upon the first, I would give up. The second, anyone can
>probably get some idea of basically what it's doing. For a new 
>student, knowing that they aren't totally lost can be a huge
>confidence builder.
>
What's this BUFFER business?  Isn't that something that you put
in aspirin?  What are these 2s for and why are they arguing?
To understand the preceding, you need to have some idea of
how computer programs work, and hence you already need to
be a programmer.

>As for lisp itself, just from the name, what does defun or cadar
>do?

Anybody who teaches "cadar" and friends in a beginning course should
be deprived of tenure, or at least shot.

 What do FUNCTION, PROCEDURE and BEGIN do?

Yeah, what do they do?  How about READLN?

 I've seen 2 + 2 since
>the first days of school. Why (+ 2 2)? Learning a new vocabulary,
>a new equation syntax is not what you want to be teaching when you
>have so much else to teach.
>
You know what threw me in my first computer language course?  This
LET X = X + 1 thing is one of them.  That makes absolutely no
sense.  X = X + 1 is true iff X is infinite.  It took me a
while to get the hang of the LET statement.

Every computer language is going to have odd stuff in it, and that
odd stuff is going to hit the student right away.  Variables in
programming languages have surprisingly little in common with
mathematical variables; they're much more similar to mathematical
sequences.  Most languages recommended for beginners require the
declaration of variables and types.  Most of them require some
sort of magic invocations that are not going to be understood
until later.  Most of them have, for example, much more intrusive
syntax than Common Lisp.

Learning to program is difficult, and learning the meanings of
a few words is unlikely to be much of an obstacle.


--
David H. Thornley                        | If you want my opinion, ask.
david@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 17:15           ` David Gillon
  2001-05-10 19:50             ` Warren W. Gay VE3WWG
@ 2001-05-10 20:15             ` Marie-No�lle Baechler
  2001-05-11  5:29             ` Friedrich Dominicus
  2 siblings, 0 replies; 232+ messages in thread
From: Marie-No�lle Baechler @ 2001-05-10 20:15 UTC (permalink / raw)



>There's also a strong cultural element to be considered beyond the
>strict grammar of the language. A language that stays close to natural
>language (at least for the anglophone part of the population), which
>encourages meaningful variable names and cleanly structured, readable,
>well commented code is going to be far easier for someone with limited
>knowledge to understand (or maintain). A CS/SE course that teaches good
>coding practise rather than just coding is going to produce people
>who'll be both more useful to their employers and gain the course a good
>reputation

For elementary algorithms, as the one you give, this may be enough. 
But most of the algorithms we use are much more complex and 
understanding them may require a strong mathematical background. I
strongly doubt that mimicking "natural" language will make easier to 
understand the query optimizer of a relational database or a truth
maintainance system.

Marie-Noelle Baechler



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  9:16           ` Ola Rinta-Koski
@ 2001-05-10 20:17             ` David Thornley
  0 siblings, 0 replies; 232+ messages in thread
From: David Thornley @ 2001-05-10 20:17 UTC (permalink / raw)


In article <x5zocly361.fsf@arenal.cyberell.com>,
Ola Rinta-Koski  <ola@cyberell.com> wrote:
>thornley@visi.com (David Thornley) writes:
>> C++, properly taught, does.  I don't know if it's properly taught
>> anywhere.  I've taught C as a first language successfully, and the
>> areas that gave the most trouble are the areas that I could avoid
>> using C++.  No more pointers, C-style arrays, C-style string handling,
>> or printf/scanf.
>
>  I must be missing something here. What kind of non-trivial program
>  can be written without pointers in C++? Certainly not one using any
>  OOP features like virtual functions etc.

You can rewrite most C programs that use pointers into C++ programs
that use references and STL vectors, and it is certainly possible
to write non-trivial C programs.  In the context of this thread,
I'm talking about teaching people to program using a language, not
teaching them how best to use a language.  If I were teaching
an introduction to programming class, I'd leave object orientation
for later.

Even there, you don't have to use pointers heavily.  Common Lisp
and Java aren't difficult because almost everything is a pointer
in both languages.  If you teach things like

Fnord *foo = new Fnord;
....
foo->bar(baz);

you can get polymorphism without getting as deep into pointers
as I had to do halfway through an Introduction to Programming in
C class.

I think C++ can be an excellent introductory language, provided
everybody is using standard compilers with standard libraries.
Just don't try to cover anywhere near the whole language in
the introductory course.

--
David H. Thornley                        | If you want my opinion, ask.
david@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  8:51               ` Jochen Schmidt
@ 2001-05-10 21:32                 ` FM
  2001-05-11  0:26                   ` James Rogers
  2001-05-12  2:56                 ` FM
  2001-05-12 17:06                 ` FM
  2 siblings, 1 reply; 232+ messages in thread
From: FM @ 2001-05-10 21:32 UTC (permalink / raw)


Jochen Schmidt <jsc@dataheaven.de> wrote:
>FM wrote:
>> Andreas Krennmair <a.krennmair@aon.at> wrote:

>>>Of course, this is not the best example, since Perl has a syntax that is
>>>not the optimum for beginners.
>> 
>> Perl's syntax is the closest thing I've seen to a natural
>> syntax in a programming language.
>
>?? Is that meant as a joke or what????

I was dead serious. Its syntax looks more like a result
of evolution than design and that's what distinguishes
*natural* from *artificial*.


Dan.

-- 
Love is an ideal thing, marriage a real thing; a confusion of the real
with the ideal never goes unpunished.
                -- Johann Wolfgang von Goethe



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09  5:32     ` Beginner's Language? Simon Wright
@ 2001-05-10 21:50       ` Gary Scott
  2001-05-11  2:14       ` raj
  1 sibling, 0 replies; 232+ messages in thread
From: Gary Scott @ 2001-05-10 21:50 UTC (permalink / raw)


Hi, I vote for "F".  Excessive news group postings trimmed.

Simon Wright wrote:
> 
> "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:
> 
> > My advice for a first programming language would be Ada (for a lot
> > of reasons besides being my favorite language :-) followed by Pascal
> > & maybe Modula-2. Save the other stuff until the students have
> > progressed a little.
> 
> All very heavy, what about Logo? (after all, it was designed for
> beginners).
> 
> -S (tongue _not_ in cheek)



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 21:32                 ` FM
@ 2001-05-11  0:26                   ` James Rogers
  0 siblings, 0 replies; 232+ messages in thread
From: James Rogers @ 2001-05-11  0:26 UTC (permalink / raw)


FM wrote:
> 
> Jochen Schmidt <jsc@dataheaven.de> wrote:
> >FM wrote:
> >> Andreas Krennmair <a.krennmair@aon.at> wrote:
> 
> >>>Of course, this is not the best example, since Perl has a syntax that is
> >>>not the optimum for beginners.
> >>
> >> Perl's syntax is the closest thing I've seen to a natural
> >> syntax in a programming language.
> >
> >?? Is that meant as a joke or what????
> 
> I was dead serious. Its syntax looks more like a result
> of evolution than design and that's what distinguishes
> *natural* from *artificial*.
> 

Aha, comp.lang.Ada now ventures into the off-topic discussion of
creationism versus evolution theory.

I can see why someone might believe that the Perl syntax is a
product of purely chaotic forces, with no elements of planning or
design. On a closer inspection, however, one must admit that 
features of Perl could never have evolved from C, its original
syntactic progenitor. 

For example, look at the I/O model for Perl. No loops required.
That could never come from C.

Example:

  @contents = <>;

The above statement reads all of Standard Input into a vector
named "@contents".

If there is any relationship with C it must be in the form of
a genetic mutation. If so, what is the C genetic feature altered
to produce this Perl feature? 

Note also that the theory of evolution always procedes from the
simple to the complex. On a feature-by-feature comparison most
of Perl's syntax is simpler than C's. Perl's data model is certainly
simpler than C's. This is progress directly opposite evolution.

No, the evidence clearly shows that Perl is not the result of
evolution, but merely the result of a brilliant but undisciplined
intelligence.

Jim Rogers
Colorado Springs, Colorado USA



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Retraction : ( Was: Beginner's Ide)
  2001-05-10 16:01             ` Stephen Leake
@ 2001-05-11  1:54               ` raj
  2001-05-11 11:44               ` Beginner's Ide Georg Bauhaus
  1 sibling, 0 replies; 232+ messages in thread
From: raj @ 2001-05-11  1:54 UTC (permalink / raw)


Richard pointed out ( quite reasonably ) that AdaGIDE is not the
GnatIDE.  However, the fact remains that the IDE that most users endup
having to use with GNAT is very basic. Of course, there is always
EMACS.....



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09  5:32     ` Beginner's Language? Simon Wright
  2001-05-10 21:50       ` Gary Scott
@ 2001-05-11  2:14       ` raj
  1 sibling, 0 replies; 232+ messages in thread
From: raj @ 2001-05-11  2:14 UTC (permalink / raw)


>All very heavy, what about Logo? (after all, it was designed for
>beginners).

I have taught Logo to my children.
My experience has been that after a few lessons, they lose
interest....

However, I was able to reinterest my 9 year old in programming by
using Game Maker by Mark Overmars.
Games can be made using drag and drop, but very soon one finds that
the "built in programming language " is necessary.
He loved being able to creat his own games.
However, he has now graduated to Black and White which is a little
beyond Game Maker's ability !

Check.
http://www.cs.ruu.nl/people/markov/kids/index.html

I just noticed that Mark had a program called Drape, a "Visual lego
for preschoolers who cannot read" . I havent checked that out yet.

Blurb from the site:
"Did you always want to design computer games but don't you want to
spend a lot of time learning to become a programmer?
Then you came to the right place. Game Maker is a program that allows
you to make exciting computer games without the need to write a single
line of code.
Using easy to learn drag-and-drop actions you can make professional
looking games in little time. Games with backgrounds, animated
graphics, music and sound effects. And once you get more experienced
there is a built-in programming language that gives you full
flexibility. What is best, Game Maker can be used completely free
of charge. And you can use the games you produced in any way you like.
You can even sell them!"






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 17:15           ` David Gillon
  2001-05-10 19:50             ` Warren W. Gay VE3WWG
  2001-05-10 20:15             ` Marie-No�lle Baechler
@ 2001-05-11  5:29             ` Friedrich Dominicus
  2001-05-27 12:59               ` Alejandro R. Mosteo
  2 siblings, 1 reply; 232+ messages in thread
From: Friedrich Dominicus @ 2001-05-11  5:29 UTC (permalink / raw)


David Gillon <david.gillon@baesystems.com> writes:

> I much prefer the following to the example above and I believe that even
> with all comments stripped out it would be inherently easier to
> understand for a struggling student:
> 
> procedure Sum_Five_Values is
> 
>   -- Description : 
>   --   Example showing clear coding practice, sums five integer inputs 
>   --   and displays result
> 
>   -- Input Parameters  : 
>   --   None (uses keyboard)
>   -- Output Parameters : 
>   --   None (uses screen)
> 
>   -- Modification History :
>   --   10-05-2001, Initial version, DWG
>   --   <DD-MM-YYYY>,<Description of change>,<Author>
> 
>   Total_Count   : Integer := 0;
>   Entered_Value : Integer;
> 
> begin
> 
>   -- Sum five inputs from the keyboard
>   for Loop_Counter := 1 .. 5 do
>   begin
>     Put_Line ("Enter an integer value and press return");
>     Get (Entered_Value);
>     Total_Count := Total_Count + Entered_Value;
>   end;
> 
>   -- report the final result to the screen
>   Put("Total Value = ");
>   Put_Line(Total_Count);
> 
> end Sum_Five_Values;
(defun sum-n-numbers (n)
  "Read n numbers from the standard input and add them all"
  (let ((element 0)
        (total-sum 0))
    (loop for i from 1 to n
          do
          (format t "Give me a number please : ")
          (setf element (read))
          (setf total-sum (+ total-sum element))
          
          finally
          (format t "Total Sum = ~A~%" total-sum))))


Now I don't think I ever would write it that way, but hey it's as
verbose as you want it to be ;-)

Now alternatively one could write:
(defun sum-n-numbers (n)
  (loop for i from 1 to n
        for prompt = (format t "Give me a number please ")
        for element = (read)
        sum element into total-sum

        finally (format t "Total Sum = ~A~%" total-sum)))


     
or
(defun sum-n-numbers (n)
  (let ((total-sum 0))
    (dotimes (i n)
      (format t "Give me a number please: ")
      (let ((element (read)))
        (incf total-sum element)))
    (format t "Total Sum = ~A~%" total-sum)
     (values)))

or
....

I doubt that the Basic solution is easier on the eyes for a beginner
than one of the Common Lisp solutions.

Anyway programming I would conclude that learning programming is
work it can be even very hard. As usual if you start with something
completly new you're lost in the details. You do not know what really
is important all looks more or less like black magic. So what a
beginner needs is either a very good book or a good teacher and he/she
must really want to learn programming.

What we never should forget is that having fun while learning is a
maybe not the worst thing. If you can get nice results fast, it's very
encouraging.

One can compare programming with a lot of other things. It's like a
game, a puzzle or like building a model.


Every game has it's rules a puzzle can be build just in one way and
you have to follow a order to get a model build. All this holds for
programming the rules are what the language asks you for, getting the
pieces together will gave the whole picture. If you miss one piece
well, your programm like you puzzle will be incomplete. The model is
the idea you have while working on you program.

I really can't tell what a beginer is looking for, those times are
still gone for me and for you. That means if we show "what we think"
is understandable or "readable" for a beginner, it's nearly completly
irrelevant to them. They have their own idea, there will some which
like C, Assembler, Pascal, Modula-2, C++, Java, Lisp, Haskell or
whatever and find some other things totally stupid.

So I suggest not to put one of the languages down, but assist anyone
who wants to learn programming in whatever you like. Let him/her make
the choice and fine...

Regards
Friedrich



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 15:13         ` Georg Bauhaus
  2001-05-10 16:49           ` Jochen Schmidt
@ 2001-05-11  7:34           ` Ola Rinta-Koski
  2001-05-11 14:47             ` Georg Bauhaus
  1 sibling, 1 reply; 232+ messages in thread
From: Ola Rinta-Koski @ 2001-05-11  7:34 UTC (permalink / raw)


sb463ba@l1-hrz.uni-duisburg.de (Georg Bauhaus) writes:
> Marin David Condic (marin.condic.auntie.spam@pacemicro.com) wrote:
> : If you are familiar with Lisp, try this: Write a small program to read in a
> : couple of numbers from a keyboard, do some math with them and print the
> : result to the screen. Now look at it. Could a neophite with literally *zero*

> Then, Ola Rinta-Koski (with f'Up to iso-something):
> 
> "(let ((foo 0))
>   (dotimes (i 5)
>     (incf foo (read)))
>   foo)
> 
> [is easy]"

> : That's why I wouldn't recommend Lisp as a first programming language in an
> : intro to CS course.
> 
> : Gee. I never thought I'd have to defend THAT statement! :-)
> 
> The above looks like Scheme with macros(?)

  But is in fact straight ANSI Common Lisp.

> and has a few didactical problems, as I'd like to report, with some
> additional guesses thrown in.  (not to say that these problems are
> not present in many or all other languages): You may have to answer
> some questions from your inexperieced(!) listeners,

  But of course. That's what the teacher's job is.

> So some of these things (like creating "variables") had better
> explain themselves a bit more, i.e. without overloaded parentheses,
> for example.

  And is there a rationale for this statement? Would it be better to
  use brackets or curly brackets, so as not to use parentheses for
  different purposes?

  No language, even one designed solely for the purpose of teaching,
  will be completely self-explanatory for a neophyte. What remains to
  be debated is the degree of help needed for the student to "get
  it". I am not advocating (Common) Lisp as a first language per se; I
  am merely stating that it would not automatically be a worse choice
  than <pick-your-lingo>.

> PS: What I find puzzling is the lack of an abundance of statements
> from people who have actually taught several very different
> languages...

  On what basis do you make this statement? I can't speak for others,
  but I have taught C and C++ in addition to Lisp. If you want
  comments from only those with at least (say) five (or ten, or
  twenty, or...) languages on the list, you'll have a quiet
  conversation.
-- 
        Ola Rinta-Koski                                 ola@cyberell.com
        Cyberell Oy                                     +358 41 467 2502
        Rauhankatu 8 C, FIN-00170 Helsinki, FINLAND	www.cyberell.com



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: OZ as a beginners' banguage?
  2001-05-10  8:02   ` OZ as a beginners' banguage? Biep @ http://www.biep.org/
  2001-05-10  8:06     ` Andrew Cooke
@ 2001-05-11 11:13     ` Torbjörn Lager
  1 sibling, 0 replies; 232+ messages in thread
From: Torbjörn Lager @ 2001-05-11 11:13 UTC (permalink / raw)
  To: Biep @ http://www.biep.org/



"Biep @ http://www.biep.org/" wrote:
> 
> On a related note, what would people think of OZ as a beginners' language?
> (http://www.mozart-oz.org)  Is it used anywhere as such?

Two relevant items from the Mozart Latest News page at 
http://www.mozart-oz.org/news.cgi:

---------------------------------------------------------- 
Apr 4,
2001 Mozart at the 7th World Conference on Computers in Education
(WCCE)

The 7th World Conference on Computers in Education (WCCE 2001) will
take place in Copenhagen, Denmark from July 28 to Aug. 3, 2001.

At WCCE 2001, there will be a panel discussion on Monday, July 30, from
11:00 to 12:30, on The Next Generation of Programming Languages.
Moderator: Juris Reinfelds. Participants: Peter Van Roy, Corky
Cartwright, Seif Haridi, Mikihiko Onari, Arthur Tattnall, and Ingrid de
Vargas Milto.

(Peter Van Roy and Seif Haridi are in the OZ development team, and are 
also authors of the book draft at:
 
      http://www.info.ucl.ac.be/~pvr/book.ps.gz
      http://www.info.ucl.ac.be/~pvr/book.pdf

)

---------------------------------------------------------- 
Jan 31, 2001
Multiparadigm Programming Without Loss of Depth

There will be a session on the use of Mozart/Oz for computer science
education at the:

  32nd SIGCSE Technical Symposium on Computer Science Education

to be held on Feb. 21-25, 2001, in Charlotte, NC USA. The SIGCSE
symposium Web site is:

            http://www.math.grin.edu/~sigcse/2001/

The Mozart session is titled: Multiparadigm Programming Without Loss of
Depth and will be presented by Juris Reinfelds of New Mexico State
University in a "Birds of a Feather" session on Thursday Feb. 22, from
5:15 pm to 6:15 pm.
----------------------------------------------------------

-- 
----------------------------------------------------------------
Torbj�rn Lager                  Computational Linguist
Department of Linguistics       Uppsala University
S-751 20 Uppsala                Sweden
Phone: +46 18 471 7860          http://stp.ling.uu.se/~torbjorn/
----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-10 16:01             ` Stephen Leake
  2001-05-11  1:54               ` Retraction : ( Was: Beginner's Ide) raj
@ 2001-05-11 11:44               ` Georg Bauhaus
  2001-05-11 21:30                 ` Stephen Leake
  1 sibling, 1 reply; 232+ messages in thread
From: Georg Bauhaus @ 2001-05-11 11:44 UTC (permalink / raw)


Stephen Leake (stephen.a.leake.1@gsfc.nasa.gov) wrote:

: ACT (the GNAT support company) also supports an extension to GNU Emacs
: called Glide. It includes an Ada mode, among other things. 

: I'm not clear what "other things", because I have not seen an adequate
: description, and I like my current Emacs setup and don't want to risk
: breaking it by installing Glide :(.

"other things" includes an additional window with your
project's files, and context menus, that someone called for.
Mousable. Installation is trouble free if you follow both the
instructions that come with glide and your system's emacs
installation ways.


Georg Bauhaus



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-11  7:34           ` Ola Rinta-Koski
@ 2001-05-11 14:47             ` Georg Bauhaus
  0 siblings, 0 replies; 232+ messages in thread
From: Georg Bauhaus @ 2001-05-11 14:47 UTC (permalink / raw)


Ola Rinta-Koski (ola@cyberell.com) wrote:

[Georg says:
 (let ((foo 0)) ...) may confuse beginners because of double parens]

:   And is there a rationale for this statement? Would it be better to
:   use brackets or curly brackets, so as not to use parentheses for
:   different purposes?

Every language has syntactical quirks, no doubt, I think this has
been said many times in this thread. In this case, using LET
involves several advanced concepts, or at least, it could,
for beginners. And as you have written, it is the teachers job
to explain them.

Now there are languages where variables spring into existence
when you name them. Good for beginners? Is scoping, besides
beeing required and good knowledge, an obstacle in some first
"Read five numbers" program? (Well, I don't think so,
_after_ some explanaitions about simpler language facilities.)

How many basic concepts do you need? Is this number relevant?
If so, to what? How difficult are they to remember syntax-wise?
From the little I know, most languages used will do, in combination
with good teachers and texts, so lets hope there are enough
good teachers :-) (I'm not a teacher, but in times, I teach
and can only say this is a hard job if you are seriously 
trying to explain basics, no matter what language is used.)

Some posts have shown up that give credits to verbosity,
so should the syntax be verbose as well? 

function square a number
 with argument num
 returning squared
is defined as
 squared becomes num * num
return

Well...
I have no chance to try this out, has someone some
experience with this issue? (if this is an issue, i.e.:-) 

So, yes:

:   No language, even one designed solely for the purpose of teaching,
:   will be completely self-explanatory for a neophyte. What remains to
:   be debated is the degree of help needed for the student to "get
:   it". I am not advocating (Common) Lisp as a first language per se; I
:   am merely stating that it would not automatically be a worse choice
:   than <pick-your-lingo>.


: > PS: What I find puzzling is the lack of an abundance of statements
: > from people who have actually taught several very different
: > languages...

:   On what basis do you make this statement? I can't speak for others,
:   but I have taught C and C++ in addition to Lisp. If you want
:   comments from only those with at least (say) five (or ten, or
:   twenty, or...) languages on the list, you'll have a quiet
:   conversation.

Chances are that this is due to them not reading or posting news,
I'd say. OTOH, there are many who have defended their dearest language
when language superiority for (task x not= teaching) is
not the issue.  For example, you could use Ada without nested
procedures for a start, and certainly without generics.
You could use some LISP without passing functions around,
although both are essential features of the respective
languages. (Meyer has dedicated a whole chapter in OOSC2 to teaching
Eiffel to students at different levels, BETA has been used
here some time ago, so who knows...)
But could you use languages that, internally, can be considered
as understandable in terms of trees, like PROLOG, when those
who have to learn programming, don't have a clear notion of trees yet?

From an old primer for SNOBOL4, I remember a sentence from
the preface that stated that you would have to know the meaning
of the most basic technical terms, or else programming will soon
become frustrating. Therefore, if the number of such technicalities
even for a subset of some language is high, it may not be the best
choice. class Obstacle { public static void main (String[] args) {
}}, a variation of what Jochen said. (From my experience, it is
_not_ the boilerplate stuff, but the syntax clutter, that makes C
syntax hard to comprehend: most symbols don't do anything that
has to do with data manipulation or calculations.)

One thing I would like to add to the discussion is
the quality of error messages. Imagine the translator complains
about an error and you cannot see the relation to your code
without some deeper knowledge of your language ...


Georg Bauhaus



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  7:28             ` FM
  2001-05-10  8:51               ` Jochen Schmidt
@ 2001-05-11 15:55               ` Andreas Krennmair
  2001-05-11 23:50                 ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) FM
  2001-05-15  9:19                 ` Beginner's Language? Siegfried Gonzi
  1 sibling, 2 replies; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-11 15:55 UTC (permalink / raw)


FM <danfm@dartmouth.edu> wrote:
> >I currently go to an Austrian school where mostly programming/CS/software
> >engineering-related things are taught (it's for 5 years, and you start
> >at an age of 14),
>  
>  Ouch. This is probably a bad idea...
You mean the age? That's not a problem. This school actually educates Austria's
software engineering elite. The students who manage to do all 5 years are
usually very innovative. The most interesting project of the last few year was 
e.g. an operating system (search for SkyOS on google). This year's projects 
was an organization tool for a LAN party already tested in the real world (500 
players, the site has more than 100000 hits and they already start licensing 
the software to other LAN parties)

Regards,
Andreas Krennmair
-- 
MakeHacker:	.
	@echo "Just another make hacker."



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-11 11:44               ` Beginner's Ide Georg Bauhaus
@ 2001-05-11 21:30                 ` Stephen Leake
  2001-05-12 17:15                   ` Simon Wright
  0 siblings, 1 reply; 232+ messages in thread
From: Stephen Leake @ 2001-05-11 21:30 UTC (permalink / raw)


sb463ba@l1-hrz.uni-duisburg.de (Georg Bauhaus) writes:

> Stephen Leake (stephen.a.leake.1@gsfc.nasa.gov) wrote:
> 
> : ACT (the GNAT support company) also supports an extension to GNU Emacs
> : called Glide. It includes an Ada mode, among other things. 
> 
> : I'm not clear what "other things", because I have not seen an adequate
> : description, and I like my current Emacs setup and don't want to risk
> : breaking it by installing Glide :(.
> 
> "other things" includes an additional window with your
> project's files, and context menus, that someone called for.

Is that an Emacs window (ie the speedbar package), or a GtkAda window?
I looked at Glide briefly, and there seemed to be a DLL in there. What
is it for?

> 
> Mousable. Installation is trouble free if you follow both the
> instructions that come with glide and your system's emacs
> installation ways.

Hmm, two sets of instructions not written by the same source. Recipe
for trouble. Hence my hesitation. I want a product description!

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 232+ messages in thread

* [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-11 15:55               ` Andreas Krennmair
@ 2001-05-11 23:50                 ` FM
  2001-05-12 11:59                   ` raj
                                     ` (3 more replies)
  2001-05-15  9:19                 ` Beginner's Language? Siegfried Gonzi
  1 sibling, 4 replies; 232+ messages in thread
From: FM @ 2001-05-11 23:50 UTC (permalink / raw)


"Andreas Krennmair" <a.krennmair@aon.at> wrote:
> FM <danfm@dartmouth.edu> wrote:
> > >I currently go to an Austrian school where mostly programming/CS/software
> > >engineering-related things are taught (it's for 5 years, and you start
> > >at an age of 14),

> >  Ouch. This is probably a bad idea...

> You mean the age? That's not a problem.

Specialized education at that age, to be honest, seems militaristic.


> This school actually educates Austria's
> software engineering elite.

This was probably my principal objection. Why should you or anyone
decide whether you are, at the age of 14, part of the nation's
software engineering elite or not? What the heck does it mean anyway?
If you refuse the assignment, then somehow you aren't part of that
elite?

As much as it might be inevitable, this practice of limiting young
people's options and permanently dividing them into different classes
for the future before they are even close to being adult, frightens
my humanistic side. I'm not sure if I see any tangible benefit either.

Why not start admitting 8-year olds? They are surely capable.


> The students who manage to do all 5 years are
> usually very innovative.

I think it's an excellent way to kill that innovative side everyone
is endowed with.


> The most interesting project of the last few year was
> e.g. an operating system (search for SkyOS on google).

I get some extremely annoying shockwave nonsense that says SkyOS is
the most powerful OS on earth with no other content.


> This year's projects
> was an organization tool for a LAN party already tested in the real world (500
> players, the site has more than 100000 hits and they already start licensing
> the software to other LAN parties)

I don't know what this means. What tool do you need to organize a
LAN party or whatever that is?


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  8:51               ` Jochen Schmidt
  2001-05-10 21:32                 ` FM
@ 2001-05-12  2:56                 ` FM
  2001-05-12 17:06                 ` FM
  2 siblings, 0 replies; 232+ messages in thread
From: FM @ 2001-05-12  2:56 UTC (permalink / raw)


"Jochen Schmidt" <jsc@dataheaven.de> wrote:
> FM wrote:
> > Andreas Krennmair <a.krennmair@aon.at> wrote:

> >>Of course, this is not the best example, since Perl has a syntax that is
> >>not the optimum for beginners.
> >
> > Perl's syntax is the closest thing I've seen to a natural
> > syntax in a programming language.
>
> ?? Is that meant as a joke or what????

By natural, I meant that it seems to have arisen through evolution,
rather than by design.

Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-11 23:50                 ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) FM
@ 2001-05-12 11:59                   ` raj
  2001-05-12 14:17                     ` Andrew Cooke
                                       ` (5 more replies)
  2001-05-12 14:33                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andreas Krennmair
                                     ` (2 subsequent siblings)
  3 siblings, 6 replies; 232+ messages in thread
From: raj @ 2001-05-12 11:59 UTC (permalink / raw)


>> > >I currently go to an Austrian school where mostly programming/CS/software
>> > >engineering-related things are taught (it's for 5 years, and you start
>> > >at an age of 14),

>> >  Ouch. This is probably a bad idea...
>
>> You mean the age? That's not a problem.
>> This school actually educates Austria's
>> software engineering elite.
>
>Specialized education at that age, to be honest, seems militaristic.

That is probably "not a problem" either.
Remember, you are talking about the educational system of a country
that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
Schicklgruber.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 11:59                   ` raj
@ 2001-05-12 14:17                     ` Andrew Cooke
  2001-05-12 17:09                       ` FM
  2001-05-12 14:40                     ` Andreas Krennmair
                                       ` (4 subsequent siblings)
  5 siblings, 1 reply; 232+ messages in thread
From: Andrew Cooke @ 2001-05-12 14:17 UTC (permalink / raw)



That's an impressively small-minded post from Australia.  Following this
thread I had assumed - from the arrogant assumption that the poster's
cultural intuition was sufficient to dismiss the education system in
another country - that the posts were from the US.  But no...
Congratulations!

Andrew


raj wrote:
> 
> >> > >I currently go to an Austrian school where mostly programming/CS/software
> >> > >engineering-related things are taught (it's for 5 years, and you start
> >> > >at an age of 14),
> 
> >> >  Ouch. This is probably a bad idea...
> >
> >> You mean the age? That's not a problem.
> >> This school actually educates Austria's
> >> software engineering elite.
> >
> >Specialized education at that age, to be honest, seems militaristic.
> 
> That is probably "not a problem" either.
> Remember, you are talking about the educational system of a country
> that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
> Schicklgruber.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-11 23:50                 ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) FM
  2001-05-12 11:59                   ` raj
@ 2001-05-12 14:33                   ` Andreas Krennmair
  2001-05-12 20:37                     ` FM
  2001-05-13  8:29                     ` thi
  2001-05-12 17:20                   ` [OT] Software Engineering at 14 Markus Mottl
  2001-05-13 20:15                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Peter Schuller
  3 siblings, 2 replies; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-12 14:33 UTC (permalink / raw)


FM <danfm@dartmouth.edu> wrote:
> > You mean the age? That's not a problem.
>  
>  Specialized education at that age, to be honest, seems militaristic.
Nobody is forced to go to that school. If somebody's not talented, he will
leave school after one year anyway.

>  As much as it might be inevitable, this practice of limiting young
>  people's options and permanently dividing them into different classes
>  for the future before they are even close to being adult, frightens
>  my humanistic side. I'm not sure if I see any tangible benefit either.
The other side is that you get a great job already at an age of 19 to 20
(depends on your sex: young men have to go to the Austrian army for 8 months)
with a salary of at least ATS 30000 (EUR 2180). And those who are in the
higher classes are very motivated because everybody likes the stuff they're
doing.

>  Why not start admitting 8-year olds? They are surely capable.
You don't have a general comprehensive education at an age of 8, but you have
one at an age of 14. That's what mostly left out on this school, only a little
bit of geography, chemistry and history, no arts subject or something, and
quite a lot of physics and maths.

> > The most interesting project of the last few year was
> > e.g. an operating system (search for SkyOS on google).
>  
>  I get some extremely annoying shockwave nonsense that says SkyOS is
>  the most powerful OS on earth with no other content.
Indeed, it isn't, but it's a proof a concept, and a really great achievement 
for that age, isn't it?

>  I don't know what this means. What tool do you need to organize a
>  LAN party or whatever that is?
On a LAN party young people usually meet to play multiplayer games (first
person shooter, strategy, whatever). You can do that privately, with say
10 people, or you can organize a big LAN party for 500 players.
Therefore you need a system to
 - publish news
 - give a possibility to let people communicate (messageboard, personal
   messaging system) over the web
 - organize catering on the LAN party
 - do votes/polls
 - organize which player gets which seat
 - manage all tournaments
 - etc.

Just have a look at http://www.dagor.net/ (unfortunately it's in German).

Best regards,
Andreas Krennmair
-- 
C.O.B.O.L - Completely Obsolete Boring Old Language.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 11:59                   ` raj
  2001-05-12 14:17                     ` Andrew Cooke
@ 2001-05-12 14:40                     ` Andreas Krennmair
  2001-05-13  1:44                       ` raj
  2001-05-12 19:23                     ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Marco Antoniotti
                                       ` (3 subsequent siblings)
  5 siblings, 1 reply; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-12 14:40 UTC (permalink / raw)


raj <israelrt@optushome.com.au> wrote:
>  Remember, you are talking about the educational system of a country
>  that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
>  Schicklgruber.
You are so stupid. You think because there are a few "bad" guys from this
country, every Austrian must be evil. When you've heard of J�rg Haider,
did you also hear about the resistance against him inside of Austria? There
was quite a lot going on, and his party, the FP�, lost recent votes in
Vienna. 

Andreas Krennmair
-- 
"This struct already has a perfectly good definition."
  -- Apple MPW C Compiler



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  8:51               ` Jochen Schmidt
  2001-05-10 21:32                 ` FM
  2001-05-12  2:56                 ` FM
@ 2001-05-12 17:06                 ` FM
  2 siblings, 0 replies; 232+ messages in thread
From: FM @ 2001-05-12 17:06 UTC (permalink / raw)


"Jochen Schmidt" <jsc@dataheaven.de> wrote:
> FM wrote:
>
> > Andreas Krennmair <a.krennmair@aon.at> wrote:

> >>Of course, this is not the best example, since Perl has a syntax that is
> >>not the optimum for beginners.
> >
> > Perl's syntax is the closest thing I've seen to a natural
> > syntax in a programming language.
>
> ?? Is that meant as a joke or what????

I was dead serious. Its syntax looks more like a result
of evolution than design and that's what distinguishes
*natural* from *artificial*.

Dan.

(Sorry about multiple posts, but I didn't notice the followup.)






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 14:17                     ` Andrew Cooke
@ 2001-05-12 17:09                       ` FM
  0 siblings, 0 replies; 232+ messages in thread
From: FM @ 2001-05-12 17:09 UTC (permalink / raw)


"Andrew Cooke" <andrew@andrewcooke.free-online.co.uk> wrote:
>
> That's an impressively small-minded post from Australia.  Following this
> thread I had assumed - from the arrogant assumption that the poster's
> cultural intuition was sufficient to dismiss the education system in
> another country - that the posts were from the US.  But no...
> Congratulations!

May I arrogantly assume that it was your arrogant assumption that led
to the above conclusion that there was such an arrogant assumption? Or
was it your cultural intuition?

In any case, I didn't mean to dismiss Austria's education system with
my cultural intuition. The original poster (Andreas) somehow mentioned
his school, seemingly out of context, which led to a separate
discussion as to whether it is desirable.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Ide
  2001-05-11 21:30                 ` Stephen Leake
@ 2001-05-12 17:15                   ` Simon Wright
  0 siblings, 0 replies; 232+ messages in thread
From: Simon Wright @ 2001-05-12 17:15 UTC (permalink / raw)


Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov> writes:

> sb463ba@l1-hrz.uni-duisburg.de (Georg Bauhaus) writes:

> > Mousable. Installation is trouble free if you follow both the
> > instructions that come with glide and your system's emacs
> > installation ways.
> 
> Hmm, two sets of instructions not written by the same source. Recipe
> for trouble. Hence my hesitation. I want a product description!

I have only seen supported GLIDE, installed out-of-the-box (well, off
ACT's ftp site actually, still waiting for the fancy box with the CD
in!) on NT, and there was no need to do anything other than run the
installer. Manuals are for wimps (I exaggerate).

I normally use emacs on Unix, so there were some surprises. For
example, I really like the [Home] key to go to the top of the file! no
doubt I will fix this when I get annoyed enough, but clearly this is
what a Windows user would expect, so one can't fault the choice.

We have had issues with GLIDE, all (as far as I remember)
VxWorks-related -- no, there was a problem with the case exception file
name.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-11 23:50                 ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) FM
  2001-05-12 11:59                   ` raj
  2001-05-12 14:33                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andreas Krennmair
@ 2001-05-12 17:20                   ` Markus Mottl
  2001-05-13 20:15                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Peter Schuller
  3 siblings, 0 replies; 232+ messages in thread
From: Markus Mottl @ 2001-05-12 17:20 UTC (permalink / raw)


In comp.lang.functional FM <danfm@dartmouth.edu> wrote:
>> You mean the age? That's not a problem.

> Specialized education at that age, to be honest, seems militaristic.

Nobody is forced to go to this type of school ("HTL") - it's up to their
choice. They can also continue with more general education in a grammar
school ("AHS"). Some people choose to limit their choices...

>> This school actually educates Austria's software engineering elite.

> This was probably my principal objection. Why should you or anyone
> decide whether you are, at the age of 14, part of the nation's
> software engineering elite or not? What the heck does it mean anyway?
> If you refuse the assignment, then somehow you aren't part of that
> elite?

That's probably what their teachers told them. Their education is
very practically oriented (both in the positive and negative sense of
the word), which also includes a significant amount of e.g. mainframe
assembler programming etc. In my opinion they specialize far too much
on irrelevant details of certain platforms or technologies (including
programming languages).

> As much as it might be inevitable, this practice of limiting young
> people's options and permanently dividing them into different classes
> for the future before they are even close to being adult, frightens
> my humanistic side. I'm not sure if I see any tangible benefit either.

I agree on this.

>> The students who manage to do all 5 years are
>> usually very innovative.

> I think it's an excellent way to kill that innovative side everyone
> is endowed with.

My experience with graduates from these schools at university generally
is that their knowledge does not help them too much when faced with
tasks that they were not specially trained for (in comparison to other
students).  Their technical mastery is certainly higher than average,
but not significantly different from the one of people who studied (<>
played with) computers for fun besides school.

Regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 11:59                   ` raj
  2001-05-12 14:17                     ` Andrew Cooke
  2001-05-12 14:40                     ` Andreas Krennmair
@ 2001-05-12 19:23                     ` Marco Antoniotti
  2001-05-12 22:38                     ` [OT] Software Engineering at 14 Markus Mottl
                                       ` (2 subsequent siblings)
  5 siblings, 0 replies; 232+ messages in thread
From: Marco Antoniotti @ 2001-05-12 19:23 UTC (permalink / raw)



raj <israelrt@optushome.com.au> writes:

> >> > >I currently go to an Austrian school where mostly programming/CS/software
> >> > >engineering-related things are taught (it's for 5 years, and you start
> >> > >at an age of 14),
> 
> >> >  Ouch. This is probably a bad idea...
> >
> >> You mean the age? That's not a problem.
> >> This school actually educates Austria's
> >> software engineering elite.
> >
> >Specialized education at that age, to be honest, seems militaristic.
> 
> That is probably "not a problem" either.
> Remember, you are talking about the educational system of a country
> that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
> Schicklgruber.

Very well.  This has gone on long enough and I now see the signs of
"thread decay" getting in.

Please stop all cross postings.

regards

-- 
Marco Antoniotti ========================================================
NYU Courant Bioinformatics Group        tel. +1 - 212 - 998 3488
719 Broadway 12th Floor                 fax  +1 - 212 - 995 4122
New York, NY 10003, USA                 http://bioinformatics.cat.nyu.edu
                    "Hello New York! We'll do what we can!"
                           Bill Murray in `Ghostbusters'.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 14:33                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andreas Krennmair
@ 2001-05-12 20:37                     ` FM
  2001-05-12 21:56                       ` Andreas Krennmair
  2001-05-14  9:27                       ` Biep @ http://www.biep.org/
  2001-05-13  8:29                     ` thi
  1 sibling, 2 replies; 232+ messages in thread
From: FM @ 2001-05-12 20:37 UTC (permalink / raw)


"Andreas Krennmair" <a.krennmair@aon.at> wrote:
> FM <danfm@dartmouth.edu> wrote:
> > > You mean the age? That's not a problem.
> >
> >  Specialized education at that age, to be honest, seems militaristic.
> Nobody is forced to go to that school.

That's a questionable assumption. Kids are forced into a lot of
things without explicit coercion.


> If somebody's not talented, he will
> leave school after one year anyway.

I love the logic there. Would the kid feel the same about himself
when he leaves the school for whatever reason? It's not as though
there's a clear line between the "talented" and the "untalented"
either.


> >  As much as it might be inevitable, this practice of limiting young
> >  people's options and permanently dividing them into different classes
> >  for the future before they are even close to being adult, frightens
> >  my humanistic side. I'm not sure if I see any tangible benefit either.

> The other side is that you get a great job already at an age of 19 to 20
> (depends on your sex: young men have to go to the Austrian army for 8 months)
> with a salary of at least ATS 30000 (EUR 2180).

Whether this is a good thing, for the society or the individual, is
arguable. It's easy to get carried away with the notion of doing
things earlier than others could, but it's much harder to justify
the benefit.


> And those who are in the
> higher classes are very motivated because everybody likes the stuff they're
> doing.

I would think they would be just as motivated if they were studying
the same stuff on their own.


> >  Why not start admitting 8-year olds? They are surely capable.
> You don't have a general comprehensive education at an age of 8, but you have
> one at an age of 14. That's what mostly left out on this school, only a little
> bit of geography, chemistry and history, no arts subject or something, and
> quite a lot of physics and maths.

I don't think you'd have "general comprehensive education" by age
14 either. I don't know about other people, but I had been hardly
taught anything in school by 14 beyond a few misrepresented facts.
Provided that you need to learn two kinds of subjects, one that you
are already good at and one that you aren't, it would probably be
better to learn the former by yourself and the latter in an
organized setting, than the other way around.


> > > The most interesting project of the last few year was
> > > e.g. an operating system (search for SkyOS on google).
> >
> >  I get some extremely annoying shockwave nonsense that says SkyOS is
> >  the most powerful OS on earth with no other content.
> Indeed, it isn't, but it's a proof a concept, and a really great achievement
> for that age, isn't it?

A shockwave page is a great achievement? <g>

Frankly, writing a primitive OS (that's what I would have to assume)
is a great exercise, not an achievement of any kind. Age is hardly a
factor.

I'm not sure what you're trying to show with these examples either.
If you put together a group of smart kids in a school, obviously
some of them will do interesting, even impressive, things. But that
happens regardless of the setting.

I happen to feel that the world needs more interdisciplinary types,
those who could cross the boundaries and challenge the establishment.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 20:37                     ` FM
@ 2001-05-12 21:56                       ` Andreas Krennmair
  2001-05-12 23:50                         ` FM
  2001-05-14  9:27                       ` Biep @ http://www.biep.org/
  1 sibling, 1 reply; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-12 21:56 UTC (permalink / raw)


FM <danfm@dartmouth.edu> wrote:
> > If somebody's not talented, he will
> > leave school after one year anyway.
>  
>  I love the logic there. Would the kid feel the same about himself
>  when he leaves the school for whatever reason? It's not as though
>  there's a clear line between the "talented" and the "untalented"
>  either.
The line IS drawn clearly within the first year. Those who get it, have good
marks on the tests in subjects like programming and "basics of computer
science", and those who don't, will fail in at least 2 subjects (programming,
basics of computer science, sometimes also accounting, and quite often
maths).

> > And those who are in the
> > higher classes are very motivated because everybody likes the stuff they're
> > doing.
>  
>  I would think they would be just as motivated if they were studying
>  the same stuff on their own.
Of course they would, but in school they're supported and trained by
professionals, either having several years of experience in the industry or
being respectable computer science professors.

>  Frankly, writing a primitive OS (that's what I would have to assume)
>  is a great exercise, not an achievement of any kind. Age is hardly a
>  factor.
Well, I wouldn't call it too primitive, since it has some built-in layer
that makes in binary compatible with Linux. AFAIK, you can also easily
replace the scheduler, and they already have a quite good scheduler for
hard realtime applications.

Regards,
Andreas Krennmair
-- 
Users should be more Linux-friendly



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-12 11:59                   ` raj
                                       ` (2 preceding siblings ...)
  2001-05-12 19:23                     ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Marco Antoniotti
@ 2001-05-12 22:38                     ` Markus Mottl
  2001-05-13  2:48                     ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Jorn W Janneck
  2001-05-15 22:53                     ` [OT] Software Engineering at 14 Reini Urban
  5 siblings, 0 replies; 232+ messages in thread
From: Markus Mottl @ 2001-05-12 22:38 UTC (permalink / raw)


In comp.lang.functional raj <israelrt@optushome.com.au> wrote:
>>Specialized education at that age, to be honest, seems militaristic.

> That is probably "not a problem" either.
> Remember, you are talking about the educational system of a country
> that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
> Schicklgruber.

Although this is completely off topic, I still feel that it's necessary
to answer this statement.

First of all, there is nothing militaristic about the Austrian school
system. In fact, it was mainly shaped by the government of the social
democrats. E.g. in contrast to some other countries, there are no
competitive elements in it like e.g. having students compete for a place
at good schools. Until this year, access to universities was _free_
for everybody. Contrast this to most other countries.

Secondly, "good" education does not necessarily make "good" people. If
it only were so easy!

What concerns Adolf "Schicklgruber" (why not name the devil: it's
Hitler), I happened to go to the same school where he had also studied.
In contrast to him I completed the eight years there instead of being
thrown out after one. So no, there is no reason to think that his
"success" was encouraged by the school system of his time and definitely
even less by our current one.

Just for your interest, the history of and around World War II is a major
topic in (compulsory!) Austrian history classes. The crimes, which were
also supported to a quite significant part by Austrians, are covered
there in accurate detail. All classes had to see the concentration camp
in Mauthausen, a rather shocking experience for the average teenager.
I can only hope that your country educates its children equally well
to be watchful citizens, because I am absolutely convinced that what
happened here can otherwise happen anywhere at anytime.

If you really blame the Austrian school system for producing people
like above, why don't you also count other people educated by it,
like e.g. Ludwig Wittgenstein, Kurt Goedel, Ludwig Boltzmann, Erwin
Schroedinger, Wolfgang Pauli or (more recent - around the age of Haider)
Anton Zeilinger?

What concerns our current political situation, I know that there is
nothing to be proud of. It might be sufficient for you to know that alone
in our capital nearly 200,000 people demonstrated against the forming
of this government (the people are still alive) and that it was only
due to a coalition that the extreme right could enter it (the largest
party is still the social democrats, who are in opposition).

Also note that the Austrian law (which hasn't changed in this respect)
disallows national socialist activities. For example, people who
publically deny the existence of concentration camps can be sentenced to
life-long prison! I doubt that your country has only closely as strict
anti-nazi laws (if any at all).  This also means that there is a hard
limit to which the extreme right can go without being forbidden due
to our constitutional laws (government does _not_ have the sufficient
majority in parliament for changing the constitution and would definitely
not dare to touch this specific issue).

Even if I am, as many others, extremely dissatisfied being governed
by a right-winged government, it was a democratic process that lead
to this result. If democracy is a value as such, we must accept its
outcomes. Everything else would just be another form of totalitarianism.
I don't think that the extreme right will get another chance to enter
government after the next elections. Their populist style has been
demasked by their sheer incompetence (e.g. they had to exchange half of
their ministers within not even a year), and they had severe losses in
_all_ provincial elections so far.

Last but not least, I'd be very, very happy if I were not constantly
confronted with the name "Haider", especially from foreign sources. The
more he is mentioned, the more power he gets, because some people say
"Look, he is not ignored on the international scene so he can defend
our interests.".  In contrast to popular belief in other countries,
Haider is an _unimportant_ Austrian politician of a small (a few hundred
thousand citizens) province. The mayor of our capitol is responsible for
more than three times as many people. I don't think you know his name. (He
is a social democrat, by the way, and his party has the absolute majority
in this city).

I hope that this clarifies some things about Austria and will make people
think twice before making wrong generalizing claims. It's exactly this
kind of defamatory statements that cause the kind of evil that you
believe to be opposing.

Regards,
Markus Mottl

P.S.:  My origin is neither Austrian nor German so you cannot take my opposition
       against your statement as being caused by nationalist feelings.

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 21:56                       ` Andreas Krennmair
@ 2001-05-12 23:50                         ` FM
  2001-05-13  8:02                           ` Andreas Krennmair
  0 siblings, 1 reply; 232+ messages in thread
From: FM @ 2001-05-12 23:50 UTC (permalink / raw)


"Andreas Krennmair" <a.krennmair@aon.at> wrote:
> FM <danfm@dartmouth.edu> wrote:
> > > If somebody's not talented, he will
> > > leave school after one year anyway.
> >
> >  I love the logic there. Would the kid feel the same about himself
> >  when he leaves the school for whatever reason? It's not as though
> >  there's a clear line between the "talented" and the "untalented"
> >  either.
> The line IS drawn clearly within the first year. Those who get it, have good
> marks on the tests in subjects like programming and "basics of computer
> science", and those who don't, will fail in at least 2 subjects (programming,
> basics of computer science, sometimes also accounting, and quite often
> maths).

Lovely assertion. How do you know? Even worse than using test
scores or grades to evaluate kids is putting blind trust in
evaluations based on those measures. This is only tangentially
related to the original point but if you think you can judge
14 year-olds purely based on their grades, well, I hope you
don't become a teacher.


> > > And those who are in the
> > > higher classes are very motivated because everybody likes the stuff they're
> > > doing.
> >
> >  I would think they would be just as motivated if they were studying
> >  the same stuff on their own.
> Of course they would, but in school they're supported and trained by
> professionals, either having several years of experience in the industry or
> being respectable computer science professors.

I think the better test of someone's talent and motivation is
whether one needs this type of support and/or training.


> >  Frankly, writing a primitive OS (that's what I would have to assume)
> >  is a great exercise, not an achievement of any kind. Age is hardly a
> >  factor.
> Well, I wouldn't call it too primitive, since it has some built-in layer
> that makes in binary compatible with Linux. AFAIK, you can also easily
> replace the scheduler, and they already have a quite good scheduler for
> hard realtime applications.

Perhaps I should've said "trivial" or "of no theoretical or
practical significance." In any case, there's absolutely nothing
informative about this OS on the web as far as I could find,
except a short description on TUNES.org, which basically says the
system is a hack, but an impressive one in terms of the amount of
work put into it.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 14:40                     ` Andreas Krennmair
@ 2001-05-13  1:44                       ` raj
  2001-05-13  8:28                         ` [OT] Software Engineering at 14 Markus Mottl
  0 siblings, 1 reply; 232+ messages in thread
From: raj @ 2001-05-13  1:44 UTC (permalink / raw)


On 12 May 2001 14:40:39 GMT, a.krennmair@aon.at (Andreas Krennmair)
wrote:

>raj <israelrt@optushome.com.au> wrote:
>>  Remember, you are talking about the educational system of a country
>>  that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
>>  Schicklgruber.
>You are so stupid. You think because there are a few "bad" guys from this
>country, every Austrian must be evil. 

Where did I say that _any_Austrian is evil ?

I merely pointed out that Adolf  Schicklgruber , Waldheim, Haider and
a few others with rather conservative politics were educated in
Austria.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 11:59                   ` raj
                                       ` (3 preceding siblings ...)
  2001-05-12 22:38                     ` [OT] Software Engineering at 14 Markus Mottl
@ 2001-05-13  2:48                     ` Jorn W Janneck
  2001-05-13  3:00                       ` raj
  2001-05-15 22:53                     ` [OT] Software Engineering at 14 Reini Urban
  5 siblings, 1 reply; 232+ messages in thread
From: Jorn W Janneck @ 2001-05-13  2:48 UTC (permalink / raw)



"raj" <israelrt@optushome.com.au> wrote in message
news:uh9qftsg7nohpaso8q4p12a8a6kit3v3g7@4ax.com...
> >> > >I currently go to an Austrian school where mostly
programming/CS/software
> >> > >engineering-related things are taught (it's for 5 years, and you
start
> >> > >at an age of 14),
>
> >> >  Ouch. This is probably a bad idea...
> >
> >> You mean the age? That's not a problem.
> >> This school actually educates Austria's
> >> software engineering elite.
> >
> >Specialized education at that age, to be honest, seems militaristic.
>
> That is probably "not a problem" either.
> Remember, you are talking about the educational system of a country
> that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
> Schicklgruber.

what good does it do to remember this, precisely? it seems that this tells
me as much about the austrian educational system as, say, an account of the
australian history with, for instance, a special focus on the fate of the
indigenous population after the arrival of the british tells me about what
goes on in the schools down under. i.e., nothing.

so, care to elaborate?

best regards,

-- j









^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-13  2:48                     ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Jorn W Janneck
@ 2001-05-13  3:00                       ` raj
  2001-05-13  8:59                         ` [OT] Software Engineering at 14 Markus Mottl
                                           ` (2 more replies)
  0 siblings, 3 replies; 232+ messages in thread
From: raj @ 2001-05-13  3:00 UTC (permalink / raw)


>what good does it do to remember this, precisely? it seems that this tells
>me as much about the austrian educational system as, say, an account of the
>australian history with, for instance, a special focus on the fate of the
>indigenous population after the arrival of the british tells me about what
>goes on in the schools down under. i.e., nothing.

Actually the attempted genocide of the Aboriginal population of
Australia by the British is still a hot topic here. Australia Day (
January 26th) , is called Invasion Day by the native Australians.

Pauline Hanson, our home grown version of Haider is well known for her
anti-Aboriginal stance ( and anti Chinese and anti-Asian and ...)

Remembering is ultimately the only defence we have.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 23:50                         ` FM
@ 2001-05-13  8:02                           ` Andreas Krennmair
  2001-05-13 20:55                             ` FM
  0 siblings, 1 reply; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-13  8:02 UTC (permalink / raw)


FM <danfm@dartmouth.edu> wrote:
>  Lovely assertion. How do you know? Even worse than using test
>  scores or grades to evaluate kids is putting blind trust in
>  evaluations based on those measures. This is only tangentially
That's experience. The school now exists since the early 80's, and many of
the teachers already teach there for almost the same time.

>  related to the original point but if you think you can judge
>  14 year-olds purely based on their grades, well, I hope you
>  don't become a teacher.
How else do you want to, if not on their grades? That would be interesting.
And don't think measuring by social competence comes too short.


> > Of course they would, but in school they're supported and trained by
> > professionals, either having several years of experience in the industry or
> > being respectable computer science professors.
>  
>  I think the better test of someone's talent and motivation is
>  whether one needs this type of support and/or training.
How do you want to teach yourself project development? You obviously need
a class. The whole thing isn't that easy, so you need some advice, actually
a lot of advice. Because of that reason the subject "project development" is
taught for 3 years.

>  Perhaps I should've said "trivial" or "of no theoretical or
>  practical significance." In any case, there's absolutely nothing
Ahm, the students who did that _are_ now writing realtime applications for
a company. So it has practical significance: the students had the possibility
in school to concentrate on the things they were interested in by doing it
as a project. The result is SkyOS, and they've learned quite a lot, more than
what is taught in the subject "operating system", which is mostly based on
Tanenbaum's book (not the Minix book, the other, more theoretical one).

Andreas Krennmair
-- 
Geologists rock your world.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13  1:44                       ` raj
@ 2001-05-13  8:28                         ` Markus Mottl
  2001-05-13 10:41                           ` Mark Wotton
  2001-05-13 22:09                           ` FM
  0 siblings, 2 replies; 232+ messages in thread
From: Markus Mottl @ 2001-05-13  8:28 UTC (permalink / raw)


In comp.lang.functional raj <israelrt@optushome.com.au> wrote:
> On 12 May 2001 14:40:39 GMT, a.krennmair@aon.at (Andreas Krennmair)
> wrote:

>>raj <israelrt@optushome.com.au> wrote:
>>>  Remember, you are talking about the educational system of a country
>>>  that produced Joerg Haider , Kurt Waldheim and most (in)famously Adolf
>>>  Schicklgruber.
>>You are so stupid. You think because there are a few "bad" guys from this
>>country, every Austrian must be evil. 

> Where did I say that _any_Austrian is evil ?

You hadn't said so, but your statement clearly implies that you think it's
the fault of our educational system that there are politically doubtful
Austrians and that you agreed with the previous article, which stated
that it was a militaristic aspect of an educational system if pupils _can_
(they need not!) start to specialize in education at the age of 14. As if
this were any different from educational systems in other countries! Or
do you want to tell us that all Australian pupils get humanistic education
in history, arts and literature only until they are 18?

> I merely pointed out that Adolf  Schicklgruber , Waldheim, Haider and
> a few others with rather conservative politics were educated in Austria.

No, Haider, for example, had also studied in Harvard for some time. Does
this make Harvard the center of right-winged politicians? Haider's parents
were convinced Nazis so there is an easy explanation where his political
bias comes from. You don't need to bash the educational system of a
whole country, even more so if you obviously don't know much about it.

Regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 14:33                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andreas Krennmair
  2001-05-12 20:37                     ` FM
@ 2001-05-13  8:29                     ` thi
  1 sibling, 0 replies; 232+ messages in thread
From: thi @ 2001-05-13  8:29 UTC (permalink / raw)


a.krennmair@aon.at (Andreas Krennmair) writes:

   Indeed, it isn't, but it's a proof a concept, and a really great
   achievement for that age, isn't it?

i tend to think evaluation of achievement (or anything) based on age is
somewhat old-fashioned.  this holds especially in software.

thi



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13  3:00                       ` raj
@ 2001-05-13  8:59                         ` Markus Mottl
  2001-05-13 11:38                           ` Karel Thönissen
  2001-05-13  9:44                         ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andrew Bromage
  2001-05-14  7:21                         ` Jorn W Janneck
  2 siblings, 1 reply; 232+ messages in thread
From: Markus Mottl @ 2001-05-13  8:59 UTC (permalink / raw)


In comp.lang.functional raj <israelrt@optushome.com.au> wrote:
>>what good does it do to remember this, precisely? it seems that this tells
>>me as much about the austrian educational system as, say, an account of the
>>australian history with, for instance, a special focus on the fate of the
>>indigenous population after the arrival of the british tells me about what
>>goes on in the schools down under. i.e., nothing.

> Remembering is ultimately the only defence we have.

Remembering is good, and it is understandable that the international
community is especially watchful about Austria, though this is rationally
a rather weakly founded attitude given the unimportance of this small
country in political and economical terms. There is no scientific basis
for believing that Austria is any more likely to suffer a political turn
to the extreme right than most other countries (better watch elections
in Italy today and pray that Berlusconi, who is cooperating with the
neo-fascists, doesn't make it into government).

The example of Belgium, the country that most strongly supported the
sanctions (*) against the Austrian government, shows how easy it is to see
the splinter in someone else's eye but not the log in one's own. Whereas
their foreign minister participated in heavy criticism against Austria,
their minister of internal affairs was a member of an SS-organisation
over the last 25 (!) years as was recently discovered (he was fired,
he didn't go voluntarily). I don't want to know what would have happened
if Austria had dared to proclaim such ministers in crucial positions. We
might have been nuked.

Regards,
Markus Mottl

  (*) - I was intially also in favour of the international sanctions
        against the formation of our current government until it became
        evident that the effect was counter-productive: over time part of
        the population felt that those sanctions were addressed against
        them rather than the government and therefore took a defensive
        position that supported the government.

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-13  3:00                       ` raj
  2001-05-13  8:59                         ` [OT] Software Engineering at 14 Markus Mottl
@ 2001-05-13  9:44                         ` Andrew Bromage
  2001-05-14  7:21                         ` Jorn W Janneck
  2 siblings, 0 replies; 232+ messages in thread
From: Andrew Bromage @ 2001-05-13  9:44 UTC (permalink / raw)


G'day all.

raj <israelrt@optushome.com.au> writes:

>Pauline Hanson, our home grown version of Haider is well known for her
>anti-Aboriginal stance ( and anti Chinese and anti-Asian and ...)

Talking about Pauline Hanson in a thread about education is just WRONG.

Followups to /dev/null.

Cheers,
Andrew Bromage



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13  8:28                         ` [OT] Software Engineering at 14 Markus Mottl
@ 2001-05-13 10:41                           ` Mark Wotton
  2001-05-13 12:04                             ` Markus Mottl
  2001-05-13 22:09                           ` FM
  1 sibling, 1 reply; 232+ messages in thread
From: Mark Wotton @ 2001-05-13 10:41 UTC (permalink / raw)


On Sun, 13 May 2001 08:28:19 +0000 (UTC), Markus Mottl posted:
>
>You hadn't said so, but your statement clearly implies that you think it's
>the fault of our educational system that there are politically doubtful
>Austrians and that you agreed with the previous article, which stated
>that it was a militaristic aspect of an educational system if pupils _can_
>(they need not!) start to specialize in education at the age of 14. As if
>this were any different from educational systems in other countries! Or
>do you want to tell us that all Australian pupils get humanistic education
>in history, arts and literature only until they are 18?

Well, yes, actually. At least when I went through, doing at least one
humanities subject was compulsory all the way through to year 12, which 
happens to be the year I turned 18. This doesn't include the study of
literature and English, which is also compulsory.

This should not be taken as an indictment on Austria's educational system:
it's just a data point.

mrak



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13  8:59                         ` [OT] Software Engineering at 14 Markus Mottl
@ 2001-05-13 11:38                           ` Karel Thönissen
  2001-05-13 12:46                             ` Markus Mottl
  0 siblings, 1 reply; 232+ messages in thread
From: Karel Thönissen @ 2001-05-13 11:38 UTC (permalink / raw)


Markus Mottl schreef:

> The example of Belgium, the country that most strongly supported the
> sanctions (*) against the Austrian government, shows how easy it is to see
> the splinter in someone else's eye but not the log in one's own. Whereas

This minister was fired within a week, so the similarity with many of
the countries mentioned earlier is rather weak: they did as they
preached.

> their foreign minister participated in heavy criticism against Austria,
> their minister of internal affairs was a member of an SS-organisation

Bollocks. The minister of foreign affairs was the federal minister. The
person that you call minister of internal affairs was not a federal
minister: he was minister of internal affairs for Flanders. Note that he
did not survive the political debate within the Flemish parliament.

> over the last 25 (!) years as was recently discovered (he was fired,
> he didn't go voluntarily). I don't want to know what would have happened
> if Austria had dared to proclaim such ministers in crucial positions. We
> might have been nuked.


-- 

Groeten, Karel Th�nissen

Hello Technologies develops high-integrity software for complex systems



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13 10:41                           ` Mark Wotton
@ 2001-05-13 12:04                             ` Markus Mottl
  2001-05-13 12:48                               ` Mark Wotton
  0 siblings, 1 reply; 232+ messages in thread
From: Markus Mottl @ 2001-05-13 12:04 UTC (permalink / raw)


In comp.lang.functional Mark Wotton <mwotton@hons.cs.usyd.edu.au> wrote:
> Well, yes, actually. At least when I went through, doing at least one
> humanities subject was compulsory all the way through to year 12,
> which happens to be the year I turned 18. This doesn't include the
> study of literature and English, which is also compulsory.

> This should not be taken as an indictment on Austria's educational system:
> it's just a data point.

You are extrapolating from your experience to the one of others. In
an age where you still sit in school, others usually already have to
work as apprentice so we are already only talking about a fraction of
the population.

Anyway, in Austria most part of the pupils who seek higher education
go to grammar schools rather than the professionally oriented higher
schools as Andreas does (is it really wrong to give people this option?).

E.g. in my school fine arts and music were both compulsory until year 10
(age 16), then you had to choose one of them. History, geography, German,
English and either Latin or French were compulsory up to the last year,
and this was a school that specialized in _nature science_. Humanist
grammar schools usually teach Latin, old Greek, French, English and
German as compulsory subjects nearly all the way through and usually
also encourage pupils to take another language. Of course, the other
subjects aren't neglected either...

So really, better inform yourself about educational systems of other
countries before making unjustified claims. In contrast to many other
systems, this is the standard of our _public_ schools where everybody
can go to irrespective of social status and income.

Regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13 11:38                           ` Karel Thönissen
@ 2001-05-13 12:46                             ` Markus Mottl
  2001-05-13 14:29                               ` Karel Thönissen
  0 siblings, 1 reply; 232+ messages in thread
From: Markus Mottl @ 2001-05-13 12:46 UTC (permalink / raw)


In comp.lang.functional Karel Th�nissen <thoenissen@hello.nl> wrote:
> This minister was fired within a week, so the similarity with many of
> the countries mentioned earlier is rather weak: they did as they
> preached.

So what? Our president refused the appointments of two ministers and
this "only", because they had made statements with a racist touch -
something which is not too uncommon among foreign politicians of even
"politically correct" parties either. Other ministers were fired out of
different reasons, none of them being related to racist or extremist
activities. I think that our democratic institutions still work fine
(which doesn't mean that I am happy about our current government).

> Bollocks. The minister of foreign affairs was the federal minister. The
> person that you call minister of internal affairs was not a federal
> minister: he was minister of internal affairs for Flanders. Note that
> he did not survive the political debate within the Flemish parliament.

Right, but this just makes the situation even more interesting: how comes
that a country (Belgium) that attempts to stand as one has different
governments for, ahem, different ethnic groups (regions)? Does the
term "Vlaams Blok" ring a bell (and Sauwens isn't even member of this
extreme-right party so better don't ask how extremist those are!)? Have
you ever heard of ethnic clashes in Austria with Slovenian or Hungarian
minorities? I haven't. Just to make sure, I am not bashing Belgium
as a whole.  It's only double moral if people of a country that has
sufficient problems with the extreme right point with a finger and say
"All of you ...".

In any case, it doesn't make things any better that Sauwens does not
represent the whole of Belgium. Even if it was "only" Flanders, he still
had enough representative power to be internationally known (e.g. I
remember that he once visited Austria to establish economic connections).

Again: what is so bad about Austria (or so good about other countries)
that even some people of technically oriented newgroups can't resist the
temptation of bashing it as a whole (rather than specific aspects)? I
have never given my vote to any right-winged party so how do I deserve
reading criticism that is general enough to cover even me? Don't you
realize that this kind of generalizing, simple-minded criticism is
exactly what right-winged politicians need to gain votes?

Regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13 12:04                             ` Markus Mottl
@ 2001-05-13 12:48                               ` Mark Wotton
  2001-05-13 13:05                                 ` Daniel C. Wang
  0 siblings, 1 reply; 232+ messages in thread
From: Mark Wotton @ 2001-05-13 12:48 UTC (permalink / raw)


On Sun, 13 May 2001 12:04:21 +0000 (UTC), Markus Mottl posted:
>In comp.lang.functional Mark Wotton <mwotton@hons.cs.usyd.edu.au> wrote:
>> Well, yes, actually. At least when I went through, doing at least one
>> humanities subject was compulsory all the way through to year 12,
>> which happens to be the year I turned 18. This doesn't include the
>> study of literature and English, which is also compulsory.
>
>> This should not be taken as an indictment on Austria's educational system:
>> it's just a data point.
>
>You are extrapolating from your experience to the one of others. In
>an age where you still sit in school, others usually already have to
>work as apprentice so we are already only talking about a fraction of
>the population.

Not in Australia. We have universal free public schooling: I'd be very
much surprised if less than 80% of current students completed 13 years of
schooling. (My school is probably not the best example, as only 2 people
out of 180 in the cohort did not go through to year 12.)

>Anyway, in Austria most part of the pupils who seek higher education
>go to grammar schools rather than the professionally oriented higher
>schools as Andreas does (is it really wrong to give people this option?).

I drew no moral comparisons.

>So really, better inform yourself about educational systems of other
>countries before making unjustified claims. In contrast to many other
>systems, this is the standard of our _public_ schools where everybody
>can go to irrespective of social status and income.

I was talking about the standard High School certificate. I checked the
website (http://www.boardofstudies.nsw.edu.au/) and a maximum of 6 out of
10 units can be from the sciences. This is the standard for *all* schools,
public or private, in my state (NSW): other states are similar.

mrak



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13 12:48                               ` Mark Wotton
@ 2001-05-13 13:05                                 ` Daniel C. Wang
  0 siblings, 0 replies; 232+ messages in thread
From: Daniel C. Wang @ 2001-05-13 13:05 UTC (permalink / raw)



This thread is off topic... kill it please....



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13 12:46                             ` Markus Mottl
@ 2001-05-13 14:29                               ` Karel Thönissen
  0 siblings, 0 replies; 232+ messages in thread
From: Karel Thönissen @ 2001-05-13 14:29 UTC (permalink / raw)


Markus Mottl schreef:
> 
> In comp.lang.functional Karel Th�nissen <thoenissen@hello.nl> wrote:
> > This minister was fired within a week, so the similarity with many of
> > the countries mentioned earlier is rather weak: they did as they
> > preached.
> 
> So what? Our president refused the appointments of two ministers and
> this "only", because they had made statements with a racist touch -
> something which is not too uncommon among foreign politicians of even
> "politically correct" parties either. Other ministers were fired out of
> different reasons, none of them being related to racist or extremist
> activities. I think that our democratic institutions still work fine
> (which doesn't mean that I am happy about our current government).
> 
> > Bollocks. The minister of foreign affairs was the federal minister. The
> > person that you call minister of internal affairs was not a federal
> > minister: he was minister of internal affairs for Flanders. Note that
> > he did not survive the political debate within the Flemish parliament.
> 
> Right, but this just makes the situation even more interesting: how comes
> that a country (Belgium) that attempts to stand as one has different
> governments for, ahem, different ethnic groups (regions)? Does the
> term "Vlaams Blok" ring a bell (and Sauwens isn't even member of this
> extreme-right party so better don't ask how extremist those are!)? Have
> you ever heard of ethnic clashes in Austria with Slovenian or Hungarian
> minorities? I haven't. Just to make sure, I am not bashing Belgium
> as a whole.  It's only double moral if people of a country that has
> sufficient problems with the extreme right point with a finger and say
> "All of you ...".
> 
> In any case, it doesn't make things any better that Sauwens does not
> represent the whole of Belgium. Even if it was "only" Flanders, he still
> had enough representative power to be internationally known (e.g. I
> remember that he once visited Austria to establish economic connections).
> 
> Again: what is so bad about Austria (or so good about other countries)
> that even some people of technically oriented newgroups can't resist the
> temptation of bashing it as a whole (rather than specific aspects)? I
> have never given my vote to any right-winged party so how do I deserve
> reading criticism that is general enough to cover even me? Don't you
> realize that this kind of generalizing, simple-minded criticism is
> exactly what right-winged politicians need to gain votes?

I must assume that this is a general remark, because I personally did
not bash Austria, not now in this discussion here, nor a year ago when
the debate ran, exactly for the reasons mentioned by you. I just wanted
to point out that the Belgian situation was different.

-- 

Groeten, Karel Th�nissen

Hello Technologies develops high-integrity software for complex systems



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-11 23:50                 ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) FM
                                     ` (2 preceding siblings ...)
  2001-05-12 17:20                   ` [OT] Software Engineering at 14 Markus Mottl
@ 2001-05-13 20:15                   ` Peter Schuller
  2001-05-13 21:54                     ` FM
  2001-05-14 10:15                     ` Biep @ http://www.biep.org/
  3 siblings, 2 replies; 232+ messages in thread
From: Peter Schuller @ 2001-05-13 20:15 UTC (permalink / raw)


[age 14]
>> You mean the age? That's not a problem.
>
>Specialized education at that age, to be honest, seems militaristic.

Sorry to but this late, but I have to re-act to this. One doesn't have to be
an idiot because one is young. There is nothing wrong with persuing one's
interests while still young.

I began programming when I was 8. I knew exactly what type of job I wanted
eventuellay, and I *wanted* to pursue my interestes.

The biggest problem was the stupid educational system which acts a huge bump
on the road (this is Sweden by the way; pretty much comparable to US
education except slightly "faster"). In order to get good grades, everyone
has to send a *significant* part of their lives working on subjects in
school they do now *want* to be studying. Why? Because some suit at the
governemntal level thinks that X, Y and Z should be required subjects for
all students (nevermind that if you're not interested in it you don't
remember it anyway).

You couldn't take an alternate route even if you wanted to - unless you
dropped out completely.

The biggest ploblem I had with the system was always the lack of choice, and
I was quite vocal about those opinions. (Oh and btw, I had well above
average grades, so I'm not complaining because I got bad grades or something
here.)

*PLEASE* let people choose. They're not vegetables just because they haven't
turned 18.

>Why not start admitting 8-year olds? They are surely capable.

Heh; I hadn't read the entire message. Glad you suggested it :)

Militaristic would be *forcing* students to specialize; just as militaristic
as it is to force students to get a "broad" education defined by someone else.

If a person wanted to get a Ph.D. in whatever subject, he/she should be
allowed to do so regardless of age.

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrival: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-13  8:02                           ` Andreas Krennmair
@ 2001-05-13 20:55                             ` FM
  0 siblings, 0 replies; 232+ messages in thread
From: FM @ 2001-05-13 20:55 UTC (permalink / raw)


"Andreas Krennmair" <a.krennmair@aon.at> wrote:
> FM <danfm@dartmouth.edu> wrote:
> >  Lovely assertion. How do you know? Even worse than using test
> >  scores or grades to evaluate kids is putting blind trust in
> >  evaluations based on those measures. This is only tangentially
> That's experience. The school now exists since the early 80's, and many of
> the teachers already teach there for almost the same time.

Experience doesn't mean anything without a feedback mechanism,
which doesn't really exist for teachers, and insofar as it
exists, it's greatly flawed because of their influence.


> >  related to the original point but if you think you can judge
> >  14 year-olds purely based on their grades, well, I hope you
> >  don't become a teacher.

> How else do you want to, if not on their grades? That would be interesting.
> And don't think measuring by social competence comes too short.

Why do you have to judge 14-year olds? Let'em be what they are.
My objection was your logic that if someone has bad grades, then
he must not be talented. It is completely backward.


> > > Of course they would, but in school they're supported and trained by
> > > professionals, either having several years of experience in the industry or
> > > being respectable computer science professors.
> >
> >  I think the better test of someone's talent and motivation is
> >  whether one needs this type of support and/or training.
> How do you want to teach yourself project development? You obviously need
> a class. The whole thing isn't that easy, so you need some advice, actually
> a lot of advice. Because of that reason the subject "project development" is
> taught for 3 years.

Whether you find something easy or not is completely irrelevant.
If you mean certain specific techniques used to manage software
engineering projects, yes you can learn without a class. If you
mean some practical exposure to those techniques within a social
setting, yes you can learn without a class.


> >  Perhaps I should've said "trivial" or "of no theoretical or
> >  practical significance." In any case, there's absolutely nothing
> Ahm, the students who did that _are_ now writing realtime applications for
> a company. So it has practical significance: the students had the possibility
> in school to concentrate on the things they were interested in by doing it
> as a project. The result is SkyOS, and they've learned quite a lot, more than
> what is taught in the subject "operating system", which is mostly based on
> Tanenbaum's book (not the Minix book, the other, more theoretical one).

To paraphrase, it was a great *exercise*. I hope you knew what
I meant by *theoretical* or *practical* significance.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-13 20:15                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Peter Schuller
@ 2001-05-13 21:54                     ` FM
  2001-05-14  4:42                       ` Peter Schuller
  2001-05-14 10:15                     ` Biep @ http://www.biep.org/
  1 sibling, 1 reply; 232+ messages in thread
From: FM @ 2001-05-13 21:54 UTC (permalink / raw)


"Peter Schuller" <peter.schuller@infidyne.com> wrote:
> [age 14]
> >> You mean the age? That's not a problem.
> >
> >Specialized education at that age, to be honest, seems militaristic.
>
> Sorry to but this late, but I have to re-act to this. One doesn't have to be
> an idiot because one is young. There is nothing wrong with persuing one's
> interests while still young.

One can be uninformed and misled because one is young.
There's a good reason why kids are not always responsible
for their own decisions. And there's nothing wrong with
pursuing one's interests while still young. There's
something wrong with creating a system that a kid and his
parents can use to keep him away from other possible
interests.


> I began programming when I was 8. I knew exactly what type of job I wanted
> eventuellay, and I *wanted* to pursue my interestes.

I'm somehow skeptical as to what degree this could be true.
You mean the job that you envisioned as a 8 year old turned
out to be the same job that you wanted later on? And you
knew exactly what people did in other jobs that you didn't
want? I don't know how anyone who hasn't retired could say
he knows *exactly* what type of job he wants, let alone an
8-year old.


> The biggest problem was the stupid educational system which acts a huge bump
> on the road (this is Sweden by the way; pretty much comparable to US
> education except slightly "faster").

I'm not sure if I comprehend this. The US doesn't have
anything close to single education system. Every state has
its own standards, every district has its own standards,
and every private school has its own standards. And in each
school, kids get to choose their own courses, within
certain limits.


> In order to get good grades, everyone
> has to send a *significant* part of their lives working on subjects in
> school they do now *want* to be studying. Why? Because some suit at the
> governemntal level thinks that X, Y and Z should be required subjects for
> all students (nevermind that if you're not interested in it you don't
> remember it anyway).

Nevermind that interests change quickly and there are a lot
of things that kids should learn, whether they happen to
recognize the necessity or not.

Also, specialization is a lot more tolerable when it doesn't
take place in separate places.


> >Why not start admitting 8-year olds? They are surely capable.
>
> Heh; I hadn't read the entire message. Glad you suggested it :)
>
> Militaristic would be *forcing* students to specialize; just as militaristic
> as it is to force students to get a "broad" education defined by someone else.

You can always go from broad to narrow, the other way around
is much harder. The law also recognizes, here in the US
anyway, that it's much harder to go from a non-virgin to a
virgin than the other way around. And you overestimate the
degree of choice kids usually have in such matters.

There's almost a point where some form of broad education is
necessary for one to be considered a citizen.


> If a person wanted to get a Ph.D. in whatever subject, he/she should be
> allowed to do so regardless of age.

That's a strawman. One should have received a broad, extensive
education before becoming a Ph.D. candidate.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13  8:28                         ` [OT] Software Engineering at 14 Markus Mottl
  2001-05-13 10:41                           ` Mark Wotton
@ 2001-05-13 22:09                           ` FM
  2001-05-13 23:44                             ` Markus Mottl
  1 sibling, 1 reply; 232+ messages in thread
From: FM @ 2001-05-13 22:09 UTC (permalink / raw)


"Markus Mottl" <mottl@miss.wu-wien.ac.at> wrote:

> that you agreed with the previous article, which stated
> that it was a militaristic aspect of an educational system if pupils _can_
> (they need not!) start to specialize in education at the age of 14. As if
> this were any different from educational systems in other countries!

Note the misrepresentation. The qualities of a certain choice do
not necessarily reflect the qualities of a system that allows such
a choice. I don't know much about Austria's educational system and
I did not make a single comment on it.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-13 22:09                           ` FM
@ 2001-05-13 23:44                             ` Markus Mottl
  0 siblings, 0 replies; 232+ messages in thread
From: Markus Mottl @ 2001-05-13 23:44 UTC (permalink / raw)


In comp.lang.functional FM <danfm@dartmouth.edu> wrote:
> "Markus Mottl" <mottl@miss.wu-wien.ac.at> wrote:
>> that you agreed with the previous article, which stated
>> that it was a militaristic aspect of an educational system if pupils _can_
>> (they need not!) start to specialize in education at the age of 14. As if
>> this were any different from educational systems in other countries!
> Note the misrepresentation. The qualities of a certain choice do
> not necessarily reflect the qualities of a system that allows such
> a choice. I don't know much about Austria's educational system and
> I did not make a single comment on it.

I know that you didn't comment on it on a general scale, but somebody
else generalized your statement. I was critizing his article, not yours...

Regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-13 21:54                     ` FM
@ 2001-05-14  4:42                       ` Peter Schuller
  2001-05-14  6:21                         ` FM
                                           ` (2 more replies)
  0 siblings, 3 replies; 232+ messages in thread
From: Peter Schuller @ 2001-05-14  4:42 UTC (permalink / raw)


>There's a good reason why kids are not always responsible
>for their own decisions. And there's nothing wrong with
>pursuing one's interests while still young. There's
>something wrong with creating a system that a kid and his
>parents can use to keep him away from other possible
>interests.

Kids and parents can *always* abuse the system. That's not anything new.
The same thing applies today.

>> I began programming when I was 8. I knew exactly what type of job I wanted
>> eventuellay, and I *wanted* to pursue my interestes.
>
>I'm somehow skeptical as to what degree this could be true.
>You mean the job that you envisioned as a 8 year old turned
>out to be the same job that you wanted later on?

Probably not, but I stopped having doubts a loooong time ago. When most
people were discussing what direction of eductaion to choose at the
Gymnasium level (and later at the university level) I was amazed how 90%
didn't know. I've never had problems choosing that, because I knew my
current interests and I knew where I wanted to end up.

>And you
>knew exactly what people did in other jobs that you didn't
>want?

That argument can be taken as far as you like. One can never know exactly
what it's like to be in every single possible profession. I've always been
leaning towards science, mathematics and computers. And no, I wasn't bullied
into it by my parents or anything. That's the way my brain works.

The first computer I ever tried was a Mac running MacOS. I later tried DOS.
Guess what? I preferred DOS. And this was when I was a super-newbie.

>I don't know how anyone who hasn't retired could say
>he knows *exactly* what type of job he wants, let alone an
>8-year old.

When I said "exactly" I didn't really mean it literally, but I knew what my
interetets were, and I know I wanted to be a programmer.

>> The biggest problem was the stupid educational system which acts a huge bump
>> on the road (this is Sweden by the way; pretty much comparable to US
>> education except slightly "faster").
>
>I'm not sure if I comprehend this. The US doesn't have
>anything close to single education system. Every state has
>its own standards, every district has its own standards,
>and every private school has its own standards. And in each
>school, kids get to choose their own courses, within
>certain limits.

It's those "limits" I'm talking about. In this regard, the US is actually
worse than Sweden - if I had gone to a university in Sweden I could have
concentrated on what I'm interested in (computers, math, physics,
philosophy, and some other stufF). I'm currently attending a US unversity
where 50% of the curriculum is CORE - and it's more or less the same all
over the place (believe me, I've checked this stuff for at least 100
universities around the country).

That's one reason why I'm dropping out. I don't want to waste even more time
of my life. Instead I'll concentrate on running my company.

>Nevermind that interests change quickly and there are 

Of course they do. But always saying "nope, I could change my mind, I'm not
going to decide" is useless.

> a lot
>of things that kids should learn, whether they happen to
>recognize the necessity or not.

... and once again, the "it's important to learn" argument, which is
completely without merit in this context. I have forgotten the vast majority
of what I "learned" in school. I remember the math, physics etc well because
I *want* to know it. As for history and similar subjects - I've forgotten
most of it. And I don't need it. I don't need to know exactly which year
some king died because I'm not interested.

Then there are subjects that were useless from the beginning that I had to
take anyway. English for example. I have learned all my English from
watching TV/movies. English in Sweden was a complete waste of time.

Swedish - another useless subject for me. Ok - did learn (and like learning)
grammer. But sadly that topic was mostly ignored (apparantly everything
thought it was boring and difficult). Instead we droned on about history of
a bunch of mentally challened alcoholics who wrote a bunch of books I
haven't read. I remember nothing of that except a few names in the back of
my mind. We also did variuos excercies with regards to writing properly
(punctuation, dividing text into paragraphs, etc). While I'm no shiny
example of corrct writing, I learned it all myself from reading and writing
on FidoNet and the Internet. Everything we did in school on the topic was
useless.

I could go on. I *literally* wasted years of my life, and that's not
counting free time and sleeping.

>Also, specialization is a lot more tolerable when it doesn't
>take place in separate places.

In the sense that everyone should go to the same school? Sure, fine by me!
Just don't force me to read about where Ingmar Bergman was born. I couldn't
care less, and I won't remember it anyway.

>You can always go from broad to narrow, the other way around
>is much harder.

Yes, but one should be able to make decisions - even if it requires the
concent of the parents. But it should be possible to deviate from the
standard path that everyone's supposed to take. If nothing else, that would
increase diversity in the society as a whole.

> The law also recognizes, here in the US
>anyway, that it's much harder to go from a non-virgin to a
>virgin than the other way around.

Hmm? How is sex among young children relevant? It's *impossible* to go from
non-virgin to virgin.

>And you overestimate the
>degree of choice kids usually have in such matters.

No I don't; I state that I think they should have more choice.

I fully realize that not everyone should be presented with all these choices
early in life. But the possibility should exist if the child takes the
initiative. <insert super natural being here> knows that I would have done so.

>There's almost a point where some form of broad education is
>necessary for one to be considered a citizen.

Yes, but once again, teaching a bunch of stuff the subject doesn't remember
is useless.

>> If a person wanted to get a Ph.D. in whatever subject, he/she should be
>> allowed to do so regardless of age.
>
>That's a strawman. One should have received a broad, extensive
>education before becoming a Ph.D. candidate.

I'm not debating that. But age in and of itself should not be an issue.

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrival: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-14  4:42                       ` Peter Schuller
@ 2001-05-14  6:21                         ` FM
  2001-05-14 18:37                           ` Peter Schuller
  2001-05-14  6:30                         ` Peter Schuller
  2001-05-14 12:21                         ` James A. Robertson
  2 siblings, 1 reply; 232+ messages in thread
From: FM @ 2001-05-14  6:21 UTC (permalink / raw)


"Peter Schuller" <peter.schuller@infidyne.com> wrote:

> >And you
> >knew exactly what people did in other jobs that you didn't
> >want?
>
> That argument can be taken as far as you like. One can never know exactly
> what it's like to be in every single possible profession. I've always been
> leaning towards science, mathematics and computers. And no, I wasn't bullied
> into it by my parents or anything. That's the way my brain works.

Human brains are fairly similar to one another. I once thought
when I was really young that I was leaning towards science, only
to discover later that I didn't know what science really meant.
I think the reason why our inclinations tend not to change has
more to do with positive feedback than them being right.


> The first computer I ever tried was a Mac running MacOS. I later tried DOS.
> Guess what? I preferred DOS. And this was when I was a super-newbie.

I had the opposite reaction, so it must be that I'm not fit to be
a programmer. <g>


> >> The biggest problem was the stupid educational system which acts a huge bump
> >> on the road (this is Sweden by the way; pretty much comparable to US
> >> education except slightly "faster").
> >
> >I'm not sure if I comprehend this. The US doesn't have
> >anything close to single education system. Every state has
> >its own standards, every district has its own standards,
> >and every private school has its own standards. And in each
> >school, kids get to choose their own courses, within
> >certain limits.

> It's those "limits" I'm talking about. In this regard, the US is actually
> worse than Sweden - if I had gone to a university in Sweden I could have
> concentrated on what I'm interested in (computers, math, physics,
> philosophy, and some other stufF). I'm currently attending a US unversity
> where 50% of the curriculum is CORE - and it's more or less the same all
> over the place (believe me, I've checked this stuff for at least 100
> universities around the country).

Brown University?

In any case, what colleges decide to require for their degrees is
a completely distinct issue. That's a point where there are enough
plausible choices that it's hard to characterize them as a single
system of any kind.


> > a lot
> >of things that kids should learn, whether they happen to
> >recognize the necessity or not.
>
> ... and once again, the "it's important to learn" argument, which is
> completely without merit in this context. I have forgotten the vast majority
> of what I "learned" in school. I remember the math, physics etc well because
> I *want* to know it. As for history and similar subjects - I've forgotten
> most of it. And I don't need it. I don't need to know exactly which year
> some king died because I'm not interested.

Do you believe you learn only *facts* (or whatever it is that you can
remember or forget) in history classes? That might be all they teach,
but that's not all you were supposed to learn, IMHO.


> >You can always go from broad to narrow, the other way around
> >is much harder.
>
> Yes, but one should be able to make decisions - even if it requires the
> concent of the parents. But it should be possible to deviate from the
> standard path that everyone's supposed to take. If nothing else, that would
> increase diversity in the society as a whole.

Of course everyone needs to deviate from the standard path at some
point. That doesn't mean that specialization is the only way or that
it's a good idea for a 14 year old.


> >And you overestimate the
> >degree of choice kids usually have in such matters.
>
> No I don't; I state that I think they should have more choice.
>
> I fully realize that not everyone should be presented with all these choices
> early in life. But the possibility should exist if the child takes the
> initiative. <insert super natural being here> knows that I would have done so.

What possibility? Learning by yourself is a possibility for most
circumstances, though not always (i.e. I didn't have access to
any CS literature and/or a programmable computer when I was very
young. I'm not too sure if it was a bad thing).


> >There's almost a point where some form of broad education is
> >necessary for one to be considered a citizen.
>
> Yes, but once again, teaching a bunch of stuff the subject doesn't remember
> is useless.

But that some people don't remember what they are taught doesn't
mean that teaching in general is useless. Whether you will need
or remember something is not clear to anyone when the decision to
teach it is made.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-14  4:42                       ` Peter Schuller
  2001-05-14  6:21                         ` FM
@ 2001-05-14  6:30                         ` Peter Schuller
  2001-05-14 12:21                         ` James A. Robertson
  2 siblings, 0 replies; 232+ messages in thread
From: Peter Schuller @ 2001-05-14  6:30 UTC (permalink / raw)


>>That's a strawman. One should have received a broad, extensive
>>education before becoming a Ph.D. candidate.

And btw, that's a matter of definition. One that should be changed. What's
important is what you *know*, not what you've studied. A CS Ph.D isn't
likely to remember details tought in history or social science (unless the
person in question is particularly interested in the subject); likewise a
History Ph.D isn't likely to be able to explain the difference between
automatic and dynamic memory allocation in C, or what a "class" is in the
context of object oriented programming.

However, a CS major is expected to be aware of the second world war, and a
history major is expected to know what a computer is. But that's a different
matter - one that does not require anyone to study computer or World War II
in extreme detail.

(I happen to be interested in WWII, so in my case I wouldn't mind studying
it in detail, but any other example will do just fine aswell. I'm not
interested in Swedish kings for example.)

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrival: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-13  3:00                       ` raj
  2001-05-13  8:59                         ` [OT] Software Engineering at 14 Markus Mottl
  2001-05-13  9:44                         ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andrew Bromage
@ 2001-05-14  7:21                         ` Jorn W Janneck
  2 siblings, 0 replies; 232+ messages in thread
From: Jorn W Janneck @ 2001-05-14  7:21 UTC (permalink / raw)



"raj" <israelrt@optushome.com.au> wrote in message
news:7iurft0hbh4ilp040t9vob6bmhbfsavgkb@4ax.com...
> >what good does it do to remember this, precisely? it seems that this
tells
> >me as much about the austrian educational system as, say, an account of
the
> >australian history with, for instance, a special focus on the fate of the
> >indigenous population after the arrival of the british tells me about
what
> >goes on in the schools down under. i.e., nothing.
>
> Actually the attempted genocide of the Aboriginal population of
> Australia by the British is still a hot topic here. Australia Day (
> January 26th) , is called Invasion Day by the native Australians.
>
> Pauline Hanson, our home grown version of Haider is well known for her
> anti-Aboriginal stance ( and anti Chinese and anti-Asian and ...)
>
> Remembering is ultimately the only defence we have.

nice tactics. but i had specifically challenged your attempt to make a
connection between the characteristics of a country's (austria's,
specifically) educational system and a short list of people of questionable
character or at least somewhat, uhum, controversial political views, that
presumably went through it. i agree with you on the value of memory in
general.

maybe you just apologize to the austrians for this somewhat thoughtless
remark of yours, i am sure you did mean no harm.

best regards,

-- j









^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-12 20:37                     ` FM
  2001-05-12 21:56                       ` Andreas Krennmair
@ 2001-05-14  9:27                       ` Biep @ http://www.biep.org/
  1 sibling, 0 replies; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-05-14  9:27 UTC (permalink / raw)


"FM" <danfm@dartmouth.edu> wrote in message
news:9dk70r$4gv$1@merrimack.Dartmouth.EDU...
> I don't think you'd have "general comprehensive education" by age
> 14 either. I don't know about other people, but I had been hardly
> taught anything in school by 14 beyond a few misrepresented facts.

Well, someone with a good education will probably know more "school stuff"
by the age of 14 than many others will learn at all.
What is lacking will be life experience, a sense of scientific humility,
and a good sense of what life is really about.

I don't think I have had a particularly good education, but at 14 I had a
good basis of the three Rs, basic grammar, a working knowledge of a few
foreign languages, roughly the same amount of historic and geographic
knowledge that I have now (those were out of vogue at that time), and
decent introductions in physics, math, and biology.  (Chemistry came
later.)  Culture history had been good, arts and crafts, like physical
education, simply didn't have my attention.  (Still, I was a decent
swimmer.)

My real problem with strong specialisation that early would be the lack of
insight in the goals of life.

Follow-ups set to misc.education

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







^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-13 20:15                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Peter Schuller
  2001-05-13 21:54                     ` FM
@ 2001-05-14 10:15                     ` Biep @ http://www.biep.org/
  1 sibling, 0 replies; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-05-14 10:15 UTC (permalink / raw)


"Peter Schuller" <peter.schuller@infidyne.com> wrote in message
news:9dmq0v$60r$1@hecate.umd.edu...
> I began programming when I was 8. I knew exactly what type of job I
wanted
> eventuellay, and I *wanted* to pursue my interestes.

> > Why not start admitting 8-year olds? They are surely capable.
> Heh; I hadn't read the entire message. Glad you suggested it :)

I think it is very easy to stunt the development of a child at that age,
and it resuires a specific effort from an educational system to make them
grow in areas they haven't learned to appreciate yet.
I happen to think that an educational system in a democracy has the moral
obligation to do just that: to help turn children into full human beings,
rather than allow them to hide in a corner for the rest of their lives.
After all, these children will be tomorrow's voters.
One is certainly allowed to dislike, say, history even after being exposed
to a decent quantity of facts and their significance, but someone who does
not want to do some historic research should at least be aware that they
are missing so much that they better refrain from voting.  I doubt whether
a child of 14 who dislikes history will have learned that lesson already -
the a-ha erlebnis will not have occurred yet, I would guess.  The same is
true m. m. for other subjects.

Follow-ups to misc.education
--
Biep
Reply via http://www.biep.org







^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-14  4:42                       ` Peter Schuller
  2001-05-14  6:21                         ` FM
  2001-05-14  6:30                         ` Peter Schuller
@ 2001-05-14 12:21                         ` James A. Robertson
  2 siblings, 0 replies; 232+ messages in thread
From: James A. Robertson @ 2001-05-14 12:21 UTC (permalink / raw)


'Core' courses in Universities run in fads here.  When I graduated
(1984) we were at the tail end of an era where there pretty much were no
'Core' classes at a University.  I took a path that had only the
following requirements:

36 credit hours in math (my major)
at least 3 credits in each of the following areas within the math dept:

Geometry/Topology
Analysis
Algebra
Statistics

So I had 36 credits determined by my major, and everything else totally
up to me.  This sort of things has its drawbacks as well; most 18-21
year olds (myself at the time included) are not about to make totally
wise choices; I specialized in 'gut' courses to fill out my 120
credits.  


Peter Schuller wrote:
> 

> >I'm not sure if I comprehend this. The US doesn't have
> >anything close to single education system. Every state has
> >its own standards, every district has its own standards,
> >and every private school has its own standards. And in each
> >school, kids get to choose their own courses, within
> >certain limits.
> 
> It's those "limits" I'm talking about. In this regard, the US is actually
> worse than Sweden - if I had gone to a university in Sweden I could have
> concentrated on what I'm interested in (computers, math, physics,
> philosophy, and some other stufF). I'm currently attending a US unversity
> where 50% of the curriculum is CORE - and it's more or less the same all
> over the place (believe me, I've checked this stuff for at least 100
> universities around the country).
> 
> That's one reason why I'm dropping out. I don't want to waste even more time
> of my life. Instead I'll concentrate on running my company.
> 

-- 
James A. Robertson
Product Manager (Smalltalk), Cincom
jarober@mail.com
<Talk Small and Carry a Big Class Library>



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-14  6:21                         ` FM
@ 2001-05-14 18:37                           ` Peter Schuller
  2001-05-14 21:18                             ` FM
  2001-05-15  7:49                             ` David Rush
  0 siblings, 2 replies; 232+ messages in thread
From: Peter Schuller @ 2001-05-14 18:37 UTC (permalink / raw)


>> That argument can be taken as far as you like. One can never know exactly
>> what it's like to be in every single possible profession. I've always been
>> leaning towards science, mathematics and computers. And no, I wasn't bullied
>> into it by my parents or anything. That's the way my brain works.
>
>Human brains are fairly similar to one another. I once thought
>when I was really young that I was leaning towards science, only
>to discover later that I didn't know what science really meant.
>I think the reason why our inclinations tend not to change has
>more to do with positive feedback than them being right.

Yes, but so far it's turned out to be right. One can only make decisions
based on current facts, even if there is a possibility that the situation
will change.

>> The first computer I ever tried was a Mac running MacOS. I later tried DOS.
>> Guess what? I preferred DOS. And this was when I was a super-newbie.
>
>I had the opposite reaction, so it must be that I'm not fit to be
>a programmer. <g>

:) That's not quite what I was implying...

>> It's those "limits" I'm talking about. In this regard, the US is actually
>> worse than Sweden - if I had gone to a university in Sweden I could have
>> concentrated on what I'm interested in (computers, math, physics,
>> philosophy, and some other stufF). I'm currently attending a US unversity
>> where 50% of the curriculum is CORE - and it's more or less the same all
>> over the place (believe me, I've checked this stuff for at least 100
>> universities around the country).
>
>Brown University?

Me? No, Univ. of Maryland, College Park.

>In any case, what colleges decide to require for their degrees is
>a completely distinct issue. That's a point where there are enough
>plausible choices that it's hard to characterize them as a single
>system of any kind.

They're different, but the concept of CORE is a general one. And some states
(if not all, I don't know) have laws regarding CORE (at least that's the
response I got from MIT when I asked about the CS degree requirements; and
IIRC also from RIT).

>Do you believe you learn only *facts* (or whatever it is that you can
>remember or forget) in history classes? That might be all they teach,
>but that's not all you were supposed to learn, IMHO.

Supposed to yes, but in reality, no. I assume you're referring to things
like being able to conduct research, or analytical thinking as applied to
history etc. Sure, it sounds good on paper, but in practice? It's about
remembering facts for some exam. Except of course if you're *interested* and
take initiative; which isn't the case in the situation in question.

>Of course everyone needs to deviate from the standard path at some
>point. That doesn't mean that specialization is the only way 

I am definitely not implying it's the only way.

> or that
>it's a good idea for a 14 year old.

It might be. Also, the standard system as it is to day might not be good for
a 14 year old either. All I want is choice.

>> I fully realize that not everyone should be presented with all these choices
>> early in life. But the possibility should exist if the child takes the
>> initiative. <insert super natural being here> knows that I would have done so.
>
>What possibility?

To choose your own education. Requirements for being admitted to an
educational program should be based on:

(1) Knowledge, as opposed to a piece of paper that states you've passed
course X and Y.
(2) *Relvent* knowledge only. Requiring home economics or sports in order to
get into a CS program is absurd. Just as absurd as requiring computer
programming for a home economics program.

> Learning by yourself is a possibility for most
>circumstances, though not always (i.e. I didn't have access to
>any CS literature and/or a programmable computer when I was very
>young. I'm not too sure if it was a bad thing).

No - and that's the problem. Getting into a university for example (or
whatever) requires certain artificial requirements to be met (one must have
such and such requirements satisfied on a high school transcript etc).
Without a standard education, I'd have a really hard time getting into a CS
program at a university for example.

Even if I were an expert at everything, I would have a hard time being
admitted because of artificial requirements.

>> Yes, but once again, teaching a bunch of stuff the subject doesn't remember
>> is useless.
>
>But that some people don't remember what they are taught doesn't
>mean that teaching in general is useless. Whether you will need
>or remember something is not clear to anyone when the decision to
>teach it is made.

Correct - but I am trying to highlight that not everyone necessarily fits
into the "mold" created by whoever makes the decision regarding standard
education. And the student in question (possible in conjuncing with parents)
is more likely to make a proper decision individually than the "system" is
likely to do when throwing everyone in the same basket.

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrival: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-09 18:24           ` Andreas Krennmair
                               ` (6 preceding siblings ...)
  2001-05-10 15:34             ` ssthapa
@ 2001-05-14 19:58             ` Johan Kullstam
  2001-05-14 20:14               ` Matthias Blume
  7 siblings, 1 reply; 232+ messages in thread
From: Johan Kullstam @ 2001-05-14 19:58 UTC (permalink / raw)


a.krennmair@aon.at (Andreas Krennmair) writes:

> Friedrich Dominicus <frido@q-software-solutions.com> wrote:
> >  "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:
> > > 
> > > If you are familiar with Lisp, try this: Write a small program to read in a
> > > couple of numbers from a keyboard, do some math with them and print the
> > > result to the screen.
> >  Gosh, how much simpler as in Lisp can it be? No declarations, no
> >  puzzling about counting probably etc etc.
> The problem is that Lisp is in no way similar to a natural language. And 
> natural language can be understood easier than some functional, theoretical
> stuff with a unique concept like Lisp. Don't get me wrong, Lisp is a great
> language, and I personally find it quite exciting as four year Pascal and
> two year C/C++ programmer, but it's hardly usable for teaching, because it
> is so unique (well, you _could_ to functional programming in C, but it would
> be considered bad style).

in C, functions are not first class objects; you cannot do functional
programming in C.

example 1

how do i take a function of two args in C and pass it to a function
which expects a funciton of only one arg?

(defun foo (x y) (...))

(bar #'(lambda (u) (foo u 4)))

in C, this can be kluged by using a global variable and a named helper
function which accesses the global and calls foo.  it's very ugly and
not re-entrant.

example 2

how do i have a function *create* and return a *function*?

(defun power-function (power)
   #'(lambda (x) (expt x power)))

now use it to get

lisp> (mapcar (power-function 3) '(1 2 3))
(1 8 27)

afaik this cannot be done in C at all.

-- 
J o h a n  K u l l s t a m
[kullstam@ne.mediaone.net]
sysengr



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-14 19:58             ` Johan Kullstam
@ 2001-05-14 20:14               ` Matthias Blume
  2001-05-16 16:16                 ` J�rgen Exner
  0 siblings, 1 reply; 232+ messages in thread
From: Matthias Blume @ 2001-05-14 20:14 UTC (permalink / raw)


Johan Kullstam wrote:
> 
> a.krennmair@aon.at (Andreas Krennmair) writes:
> 
> > Friedrich Dominicus <frido@q-software-solutions.com> wrote:
> > >  "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> writes:
> > > >
> > > > If you are familiar with Lisp, try this: Write a small program to read in a
> > > > couple of numbers from a keyboard, do some math with them and print the
> > > > result to the screen.
> > >  Gosh, how much simpler as in Lisp can it be? No declarations, no
> > >  puzzling about counting probably etc etc.
> > The problem is that Lisp is in no way similar to a natural language. And
> > natural language can be understood easier than some functional, theoretical
> > stuff with a unique concept like Lisp. Don't get me wrong, Lisp is a great
> > language, and I personally find it quite exciting as four year Pascal and
> > two year C/C++ programmer, but it's hardly usable for teaching, because it
> > is so unique (well, you _could_ to functional programming in C, but it would
> > be considered bad style).
> 
> in C, functions are not first class objects; you cannot do functional
> programming in C.

false and (in some sense) true
(Functions _are_ first-class objects in C; and you cannot do _elegant_ functional
programming in C.)

> 
> how do i take a function of two args in C and pass it to a function
> which expects a funciton of only one arg?

What does this have to do with first-class-ness and/or functional programming?
In ML or Haskell, I cannot take a function of two arguments and pass it to a
function that expects a function of only one argument.

> (defun foo (x y) (...))
> 
> (bar #'(lambda (u) (foo u 4)))
> 
> in C, this can be kluged by using a global variable and a named helper
> function which accesses the global and calls foo.  it's very ugly and
> not re-entrant.

Oh, I see. You are talking about closures and partial application.  In C this can
be (and often has been) done using explicit closure passing style.  See your 
favorite X windows toolkit for plentiful examples.  (I didn't say it was pretty.)

To go back to ML or Haskell (or Lisp or Scheme):  What you are doing is not "passing
of a function of two args to a place that expects a function of one arg", you are
actually passing a function that expects one arg (and which happens to call the original
function of two args).

> example 2
> 
> how do i have a function *create* and return a *function*?
> 
> (defun power-function (power)
>    #'(lambda (x) (expt x power)))
> 
> now use it to get
> 
> lisp> (mapcar (power-function 3) '(1 2 3))
> (1 8 27)
> 
> afaik this cannot be done in C at all.

Can be done.  Same trick, explicit closure passing.  (Of course, you won't be passing
"just a function" then in C.)

Matthias



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-14 18:37                           ` Peter Schuller
@ 2001-05-14 21:18                             ` FM
  2001-05-14 22:45                               ` Peter Schuller
  2001-05-15  7:49                             ` David Rush
  1 sibling, 1 reply; 232+ messages in thread
From: FM @ 2001-05-14 21:18 UTC (permalink / raw)


"Peter Schuller" <peter.schuller@infidyne.com> wrote:

> >> It's those "limits" I'm talking about. In this regard, the US is actually
> >> worse than Sweden - if I had gone to a university in Sweden I could have
> >> concentrated on what I'm interested in (computers, math, physics,
> >> philosophy, and some other stufF). I'm currently attending a US unversity
> >> where 50% of the curriculum is CORE - and it's more or less the same all
> >> over the place (believe me, I've checked this stuff for at least 100
> >> universities around the country).
> >
> >Brown University?
>
> Me? No, Univ. of Maryland, College Park.

I actually meant to ask if you checked out Brown University.
From what I remember, they don't have any core requirements.


> >In any case, what colleges decide to require for their degrees is
> >a completely distinct issue. That's a point where there are enough
> >plausible choices that it's hard to characterize them as a single
> >system of any kind.
>
> They're different, but the concept of CORE is a general one. And some states
> (if not all, I don't know) have laws regarding CORE (at least that's the
> response I got from MIT when I asked about the CS degree requirements; and
> IIRC also from RIT).

It probably has something to do with accreditation, though I
don't see how it would have such an effect. Seems like a
marketing excuse, for the most part.


> >Do you believe you learn only *facts* (or whatever it is that you can
> >remember or forget) in history classes? That might be all they teach,
> >but that's not all you were supposed to learn, IMHO.
>
> Supposed to yes, but in reality, no. I assume you're referring to things
> like being able to conduct research, or analytical thinking as applied to
> history etc. Sure, it sounds good on paper, but in practice? It's about
> remembering facts for some exam. Except of course if you're *interested* and
> take initiative; which isn't the case in the situation in question.

You gain a useful perspective. It's something that comes
along naturally as you learn facts even without you being
necessarily aware of it. And who's to say that you won't
be interested in it?


> >> I fully realize that not everyone should be presented with all these choices
> >> early in life. But the possibility should exist if the child takes the
> >> initiative. <insert super natural being here> knows that I would have done so.
> >
> >What possibility?
>
> To choose your own education. Requirements for being admitted to an
> educational program should be based on:
>
> (1) Knowledge, as opposed to a piece of paper that states you've passed
> course X and Y.
> (2) *Relvent* knowledge only. Requiring home economics or sports in order to
> get into a CS program is absurd. Just as absurd as requiring computer
> programming for a home economics program.

This is an idealistic but wildly impractical view. It's not
that easy to evaluate others based on those principles alone.

Besides, there are some other things to consider, such as
potential, aptitude, character, social status, etc.


> > Learning by yourself is a possibility for most
> >circumstances, though not always (i.e. I didn't have access to
> >any CS literature and/or a programmable computer when I was very
> >young. I'm not too sure if it was a bad thing).
>
> No - and that's the problem. Getting into a university for example (or
> whatever) requires certain artificial requirements to be met (one must have
> such and such requirements satisfied on a high school transcript etc).
> Without a standard education, I'd have a really hard time getting into a CS
> program at a university for example.

Of course that's why there are things like the GED test and a
number of other standardized exams. Besides, nothing stops you
from getting a high school diploma while studying other things.
You could also take classes at a local college.


> Even if I were an expert at everything, I would have a hard time being
> admitted because of artificial requirements.

I see that as *more* of a problem in a system that divides kids
into separate schools and specialized courses. It creates those
artificial requirements, for kids who haven't learned to deal
with them.


> >> Yes, but once again, teaching a bunch of stuff the subject doesn't remember
> >> is useless.
> >
> >But that some people don't remember what they are taught doesn't
> >mean that teaching in general is useless. Whether you will need
> >or remember something is not clear to anyone when the decision to
> >teach it is made.
>
> Correct - but I am trying to highlight that not everyone necessarily fits
> into the "mold" created by whoever makes the decision regarding standard
> education. And the student in question (possible in conjuncing with parents)
> is more likely to make a proper decision individually than the "system" is
> likely to do when throwing everyone in the same basket.

You're saying that as if one system offers more choices than
the other. There's no such dichotomy here. In any system, if
you choose to go to a certain school, you are limited by its
course offerings and graduation requirements. The question
is, which limitations are beneficial or necessary and which
ones aren't.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-14 21:18                             ` FM
@ 2001-05-14 22:45                               ` Peter Schuller
  0 siblings, 0 replies; 232+ messages in thread
From: Peter Schuller @ 2001-05-14 22:45 UTC (permalink / raw)


>I actually meant to ask if you checked out Brown University.
>From what I remember, they don't have any core requirements.

Oh. I think I had a look, but I don't remember if I checked out the CORE
situation (I "dumped" a lot for other reasons).

>It probably has something to do with accreditation, though I
>don't see how it would have such an effect. Seems like a
>marketing excuse, for the most part.

Possibly. If there are indeed many universities that doesn't have CORE -
that's a good thing IMO. 

>You gain a useful perspective. It's something that comes
>along naturally as you learn facts even without you being
>necessarily aware of it.

Very true. But re-iterating the same parts of history mulitple times doesn't
add much to it. And that's what I've been doing. I learned a lot of good
stuff in history in the 9th grade (good teacher, interesting material). In
the "10th grade" (first grade at the gymnasium level) I didn't get anything
out of it.

> And who's to say that you won't
> be interested in it?

I am :) It is obviously not a black and white situation; and there is much
room for making bad and/or un-informed decisions. But the decisions should
be yours to make, not the system's.

>This is an idealistic but wildly impractical view. It's not
>that easy to evaluate others based on those principles alone.

I agree. However the overall "attitude" of the educational system shows no
indication of even trying to reach those goals.

>Besides, there are some other things to consider, such as
>potential, aptitude, character, social status, etc.

Of course. As long as it's relevant.

>Of course that's why there are things like the GED test and a
>number of other standardized exams. Besides, nothing stops you
>from getting a high school diploma while studying other things.
>You could also take classes at a local college.

That might solve getting into it, but there's still the degree issue.

>I see that as *more* of a problem in a system that divides kids
>into separate schools and specialized courses. It creates those
>artificial requirements, for kids who haven't learned to deal
>with them.

I'm not proposing anything like that. I just want choice. That's all. No
segregation or anything; just let people pick their own courses if they want
to - and without going to extra-ordinary means in order to do so.

>You're saying that as if one system offers more choices than
>the other. There's no such dichotomy here. In any system, if
>you choose to go to a certain school, you are limited by its
>course offerings and graduation requirements. The question
>is, which limitations are beneficial or necessary and which
>ones aren't.

Yes, but when the system works such that if you don't silently accept
everything and do what everyone's expected to do you're in "trouble", that's
when it gets bad. Obviously, if someone chooses to go with a program where
you have 50% required courses, that's fine. My point is that alternate
choices aren't considered equally valid, nor are they as commonly available.

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrival: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  8:55                 ` Iain McNaughton
@ 2001-05-15  2:02                   ` Rob Warnock
  2001-05-15 11:56                     ` Andreas Krennmair
  0 siblings, 1 reply; 232+ messages in thread
From: Rob Warnock @ 2001-05-15  2:02 UTC (permalink / raw)


Iain McNaughton  <im@t956379207.demon.co.uk> wrote:
+---------------
| Oh, what the heck, here's my two cents:
| Seems to me that the best language for a beginner is BASIC. I'm quite
| serious about this. I don't mean Visual Basic, or any of the other
| recent extensions or amendments to BASIC; I mean original BASIC, as
| developed at Dartmouth in the 60s.
+---------------

Not everyone will agree with you. In fact, some have been known to be
quite vehement about it, such as Dijkstra's classic flame:

	It is practically impossible to teach good programming to students
	that have ad a prior exposure to BASIC: as potential programmers
	they are mentally multilated beyond hope of regeneration.[*]

In that same paper, he says somewhat similar things (in varying degrees)
about FORTRAN, PL/I, COBOL, APL, and (reading between the lines) Ada.

And since this thread included a considerable amount of Lisp/Scheme-bashing
because the syntax isn't "natural" (by some opinions), one more excerpt:

	Projects promoting programming in "natural language" are
	intrinsically doomed to fail.


-Rob

[*] 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 at <URL:http://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF>

-----
Rob Warnock, 31-2-510		rpw3@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



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-14 18:37                           ` Peter Schuller
  2001-05-14 21:18                             ` FM
@ 2001-05-15  7:49                             ` David Rush
  2001-05-15 19:29                               ` Peter Schuller
  1 sibling, 1 reply; 232+ messages in thread
From: David Rush @ 2001-05-15  7:49 UTC (permalink / raw)


peter.schuller@infidyne.com (Peter Schuller) writes:
> >Do you believe you learn only *facts* (or whatever it is that you can
> >remember or forget) in history classes? That might be all they teach,
> >but that's not all you were supposed to learn, IMHO.
> 
> Supposed to yes, but in reality, no. I assume you're referring to things
> like being able to conduct research, or analytical thinking as applied to
> history etc. Sure, it sounds good on paper, but in practice? It's about
> remembering facts for some exam. Except of course if you're *interested* and
> take initiative; which isn't the case in the situation in question.

C.S. Lewis (who was an educator before he was an author) talked about
this problem over 40 years ago. He pointed out that you can really
only measure such tangibles as the student's retention of "facts". If
you do anything else you will end up seriously distorting the
student's ability to think for themselves. Whether a student learns to
think (or in our biz design and program creatively and efficiently) is
a hopeful by-product resulting as much from the student's own internal
imperatives as it is from the teacher's performance.

Just my $0.02

david rush
-- 
If you give someone Fortran, he has Fortran.
If you give someone Lisp, he has any language he pleases.
	-- Guy L. Steele Jr.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-11 15:55               ` Andreas Krennmair
  2001-05-11 23:50                 ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) FM
@ 2001-05-15  9:19                 ` Siegfried Gonzi
  2001-05-15  9:47                   ` Preben Randhol
  2001-05-15 12:06                   ` Andreas Krennmair
  1 sibling, 2 replies; 232+ messages in thread
From: Siegfried Gonzi @ 2001-05-15  9:19 UTC (permalink / raw)


Andreas Krennmair wrote:

> >  Ouch. This is probably a bad idea...
> You mean the age? That's not a problem. This school actually educates Austria's
> software engineering elite.

[all the crosspostings are not deleted from my side, so be aware]

>

You are joking? I also attended such a (to be honest not computer-science but
mechanical-engineering) school.


Now I am at the university and in July I will start with my PhD thesis in physics.
So, I know what I am talking about when I say that the difference between the HTL
(the above mentioned school is named that in Austria: Hoehere Technische
Bundeslehranstalt) and the university is similar to black and white.

Sure HTL graduates have some basic knowledge, but it is not legal to compare that
knowledge to knowledge which graduates from universities own.

Do not get me wrong, but the teachers at the HTL only have got as a degree a MS.

Knowing different programming languages (and more is not teached at the HTL during
the 5 years) is not enough. So, I think the phrase "elite" is in no way appropiate
for HTL graduates. But that doesn't mean that I connect with "elite" university
graduates only. What counts is what someone know...


S. Gonzi




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-15  9:19                 ` Beginner's Language? Siegfried Gonzi
@ 2001-05-15  9:47                   ` Preben Randhol
  2001-05-15 12:06                   ` Andreas Krennmair
  1 sibling, 0 replies; 232+ messages in thread
From: Preben Randhol @ 2001-05-15  9:47 UTC (permalink / raw)


On Tue, 15 May 2001 11:19:17 +0200, Siegfried Gonzi wrote:
 
> Knowing different programming languages (and more is not teached at the HTL during
> the 5 years) is not enough. So, I think the phrase "elite" is in no way appropiate
> for HTL graduates. But that doesn't mean that I connect with "elite" university
> graduates only. What counts is what someone know...
> 

What does this have to do with Ada ? Please move the discussion to some
list concerning education systems etc..

-- 
Preben Randhol ------------------- http://www.pvv.org/~randhol/ --
                 �For me, Ada95 puts back the joy in programming.�



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-15  2:02                   ` Rob Warnock
@ 2001-05-15 11:56                     ` Andreas Krennmair
  2001-05-15 17:14                       ` FM
  0 siblings, 1 reply; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-15 11:56 UTC (permalink / raw)


Rob Warnock <rpw3@rigden.engr.sgi.com> wrote:
>  And since this thread included a considerable amount of Lisp/Scheme-bashing
>  because the syntax isn't "natural" (by some opinions), one more excerpt:
>  
>  	Projects promoting programming in "natural language" are
>  	intrinsically doomed to fail.
And that's what Lisp does, according to Paul Foley. He expressed the sentence
"My girlfriend's name is Suzy and her age is 17" in Lisp via
(and (name (girlfriend me) Suzy) (age her 17))
To quote him:
"and there you have it -- a perfect representation of natural language!"

ergo: Lisp is intrinsically doomed to fail.

Regards,
Andreas Krennmair
-- 
Find bad web sites 8x faster."         
  -- Motorola ISDN modem ad



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-15  9:19                 ` Beginner's Language? Siegfried Gonzi
  2001-05-15  9:47                   ` Preben Randhol
@ 2001-05-15 12:06                   ` Andreas Krennmair
  1 sibling, 0 replies; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-15 12:06 UTC (permalink / raw)


Siegfried Gonzi <siegfried.gonzi@kfunigraz.ac.at> wrote:
>  Do not get me wrong, but the teachers at the HTL only have got as a degree 
>  a MS.
As already mentioned somewhere else, I have two teachers being doctors of
computer science. One of them also teaches in Johannes Kepler University/Linz,
and the other one taught operating systems in FHS Hagenberg.

>  Knowing different programming languages (and more is not teached at the HTL
>  during
>  the 5 years) is not enough. So, I think the phrase "elite" is in no way 
Of course a lot more is taught
 - algorithms and data structures
 - object oriented design
 - project development in teams
 - network technologies

Just have a look at http://www.htl-leonding.ac.at/, there you can find a 
complete list of all subjects.

Best regards,
Andreas Krennmair
-- 
10 PRINT "Just another BASIC hacker"



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-15 11:56                     ` Andreas Krennmair
@ 2001-05-15 17:14                       ` FM
  2001-05-15 18:08                         ` Andreas Krennmair
  0 siblings, 1 reply; 232+ messages in thread
From: FM @ 2001-05-15 17:14 UTC (permalink / raw)


"Andreas Krennmair" <a.krennmair@aon.at> wrote:
> Rob Warnock <rpw3@rigden.engr.sgi.com> wrote:
> >  And since this thread included a considerable amount of Lisp/Scheme-bashing
> >  because the syntax isn't "natural" (by some opinions), one more excerpt:
> >
> >  Projects promoting programming in "natural language" are
> >  intrinsically doomed to fail.
> And that's what Lisp does, according to Paul Foley. He expressed the sentence
> "My girlfriend's name is Suzy and her age is 17" in Lisp via
> (and (name (girlfriend me) Suzy) (age her 17))
> To quote him:
> "and there you have it -- a perfect representation of natural language!"
>
> ergo: Lisp is intrinsically doomed to fail.

There's a *clear* distinction between a metalanguage that *could* be
used to represent X and X itself. Lisp does not promote programming
in the above style. That it makes manipulation of such representation
extremely trivial is a point in its favor.

In any case, I still find it odd that you'd claim a lot of things
about Lisp just a few days after proclaiming yourself as "an absolute
beginner with Lisp."

Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-15 17:14                       ` FM
@ 2001-05-15 18:08                         ` Andreas Krennmair
  2001-05-15 20:37                           ` FM
  0 siblings, 1 reply; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-15 18:08 UTC (permalink / raw)


FM <danfm@dartmouth.edu> wrote:
>  In any case, I still find it odd that you'd claim a lot of things
>  about Lisp just a few days after proclaiming yourself as "an absolute
>  beginner with Lisp."
To be honest, I already know what Lisp is about for about one year (you 
won't believe it, I learned about it in school!). But I never really used
it, I only heard many things about it in theory.

And, damn, although I read this group for a few days, I already found out
that there are many competent Lisp hackers and at least as many bigots
and ignorant advocates.

Andreas Krennmair
-- 
When the pin is pulled, Mr. Grenade is not our friend.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-15  7:49                             ` David Rush
@ 2001-05-15 19:29                               ` Peter Schuller
  2001-05-17 15:21                                 ` David Rush
  0 siblings, 1 reply; 232+ messages in thread
From: Peter Schuller @ 2001-05-15 19:29 UTC (permalink / raw)


>C.S. Lewis (who was an educator before he was an author) talked about
>this problem over 40 years ago. He pointed out that you can really
>only measure such tangibles as the student's retention of "facts".

I agree with this - mostly. But the issue at hand was wheather you learned
something useful in history class, not wheater you can measure it :)

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrival: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-15 18:08                         ` Andreas Krennmair
@ 2001-05-15 20:37                           ` FM
  2001-05-16 17:56                             ` Andreas Krennmair
  0 siblings, 1 reply; 232+ messages in thread
From: FM @ 2001-05-15 20:37 UTC (permalink / raw)


"Andreas Krennmair" <a.krennmair@aon.at> wrote:
> FM <danfm@dartmouth.edu> wrote:
> >  In any case, I still find it odd that you'd claim a lot of things
> >  about Lisp just a few days after proclaiming yourself as "an absolute
> >  beginner with Lisp."
> To be honest, I already know what Lisp is about for about one year (you
> won't believe it, I learned about it in school!). But I never really used
> it, I only heard many things about it in theory.

In other words, you probably realize that don't know enough to
make sweeping, unqualified statements about Lisp.


> And, damn, although I read this group for a few days,

Note that you've been crossposting to many different newsgroups.
I've been reading this thread from comp.lang.functional, though
I'm also subscribed to comp.lang.scheme and comp.lang.lisp.


> I already found out
> that there are many competent Lisp hackers and at least as many bigots
> and ignorant advocates.

Not that I necessarily disagree with your observation, but your
judgment and dismissal of a language without relevant knowledge
would, in many people's minds, qualify you as a bigot. Whether
it would in your mind, well, that's a good test of hypocrisy,
isn't it?


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-12 11:59                   ` raj
                                       ` (4 preceding siblings ...)
  2001-05-13  2:48                     ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Jorn W Janneck
@ 2001-05-15 22:53                     ` Reini Urban
  2001-05-15 23:24                       ` FM
  5 siblings, 1 reply; 232+ messages in thread
From: Reini Urban @ 2001-05-15 22:53 UTC (permalink / raw)


In comp.lang.lisp raj <israelrt@optushome.com.au> wrote:
:>> > >I currently go to an Austrian school where mostly programming/CS/software
:>> > >engineering-related things are taught (it's for 5 years, and you start
:>> > >at an age of 14),

:>> >  Ouch. This is probably a bad idea...
:>> You mean the age? That's not a problem.
:>> This school actually educates Austria's
:>> software engineering elite.
:>
:>Specialized education at that age, to be honest, seems militaristic.

: That is probably "not a problem" either.
: Remember, you are talking about the educational system of a country
: that produced Joerg Haider, Kurt Waldheim and most (in)famously Adolf
: Schicklgruber.

he was talking about an elite school that cannot mixed with a country wide 
"system". the brtish educational system is said to be more "militaristic" 
than the austrian. so what? pure nonsense.

more and more ground school pupils do learn programming in a lot of 
civilized countries. and to my knowledge most of them start with pascal
nowadays. before that it was basic. I started with basic at 10 in 
an ordinary school, no elite. my brother in law runs a ground school with a
lot of computers, and some of the kids (8-12 years) do like programming. 
(VB, I guess). 
-- 
Reini Urban
http://xarch.tu-graz.ac.at/acadwiki/AutoLispFaq



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14
  2001-05-15 22:53                     ` [OT] Software Engineering at 14 Reini Urban
@ 2001-05-15 23:24                       ` FM
  0 siblings, 0 replies; 232+ messages in thread
From: FM @ 2001-05-15 23:24 UTC (permalink / raw)


"Reini Urban" <rurban@x-ray.at> wrote:

> more and more ground school pupils do learn programming in a lot of
> civilized countries. and to my knowledge most of them start with pascal
> nowadays. before that it was basic. I started with basic at 10 in
> an ordinary school, no elite. my brother in law runs a ground school with a
> lot of computers, and some of the kids (8-12 years) do like programming.
> (VB, I guess).

Wow, do you train 8-12 year olds to become pilots? <g>

And to make the point clear, no one ever suggested that there's
something militaristic about teaching programming early. I don't
see a clear benefit either, but YMMV.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-14 20:14               ` Matthias Blume
@ 2001-05-16 16:16                 ` J�rgen Exner
  2001-05-16 20:49                   ` Matthias Blume
  0 siblings, 1 reply; 232+ messages in thread
From: J�rgen Exner @ 2001-05-16 16:16 UTC (permalink / raw)


"Matthias Blume" <blume@research.bell-labs.com> wrote in message
news:3B003CA2.D24D083C@research.bell-labs.com...
> false and (in some sense) true
> (Functions _are_ first-class objects in C; and you cannot do _elegant_
functional
> programming in C.)

Sorry, that's not correct.
In C the only first-class objects are byte, chars, ints, doubles, ..., and
pointers. These are the only objects you can use
    - as elements of a complex data structure (array, record or however you
want to call it)
    - return value of a function/procedure

Second class objects in C are e.g. strings, arrays, and functions/procedures
because they cannot be be used as elements in a complex data structure or as
a return value of a function.

Of course, because C is so low-level, you can simulate functional
programming by using pointers to functions and for complex datastructes. But
with the same argument could be applied to even assembler.

jue







^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-08  0:15     ` Dodger
@ 2001-05-16 16:55       ` Lex Spoon
  2001-05-16 17:42         ` Markus Kliegl
  0 siblings, 1 reply; 232+ messages in thread
From: Lex Spoon @ 2001-05-16 16:55 UTC (permalink / raw)


"Dodger" <dodger@necrosoft.net> writes:

> "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> wrote in
> message news:9d6b6e$1bt$1@nh.pace.co.uk...
> 
> > My advice for a first programming language would be Ada (for a lot of
> > reasons besides being my favorite language :-) followed by Pascal & maybe
> > Modula-2. Save the other stuff until the students have progressed a
> little.
> 
> Got a better one. It's terrible (which is a better representation of what
> they will end up doing, most likely), and wonky, and regardless of all your
> opinions of perl for weal or woe, it makes Perl look beautiful...
> 
> But, it will get kids programming.
> 
> LPC. Set them up a mud. Get them to code LPC (a whacked out MUD code C-based
> ...thing...) or some other MU* code that is actually programmable.


Amy Bruckman's Moose Crossing is a mud intended as a place for kids to
learn about programming:

    http://www.cc.gatech.edu/elc/moose-crossing/

If you think muds for programming is interesting, you should
definitely look into Moose Crossing.


Lex Spoon




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 16:55       ` Lex Spoon
@ 2001-05-16 17:42         ` Markus Kliegl
  2001-05-19 14:24           ` Lex Spoon
  0 siblings, 1 reply; 232+ messages in thread
From: Markus Kliegl @ 2001-05-16 17:42 UTC (permalink / raw)


Lex Spoon <lex@cc.gatech.edu> writes:

> "Dodger" <dodger@necrosoft.net> writes:
> 
> > "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com> wrote in
> > message news:9d6b6e$1bt$1@nh.pace.co.uk...
> > 
> > > My advice for a first programming language would be Ada (for a lot of
> > > reasons besides being my favorite language :-) followed by Pascal & maybe
> > > Modula-2. Save the other stuff until the students have progressed a
> > little.
> > 
> > Got a better one. It's terrible (which is a better representation of what
> > they will end up doing, most likely), and wonky, and regardless of all your
> > opinions of perl for weal or woe, it makes Perl look beautiful...
> > 
> > But, it will get kids programming.
> > 
> > LPC. Set them up a mud. Get them to code LPC (a whacked out MUD code C-based
> > ...thing...) or some other MU* code that is actually programmable.
> 
> 
> Amy Bruckman's Moose Crossing is a mud intended as a place for kids to
> learn about programming:
> 
>     http://www.cc.gatech.edu/elc/moose-crossing/
> 
> If you think muds for programming is interesting, you should
> definitely look into Moose Crossing.
> 
> 
> Lex Spoon
> 

What is Moose as a language like, though? Is it a well-designed language
(I only saw something about it being OO, which is obviously essential for
a MUD programming language, anyway)? LPC is quite an interesting language,
as it offers a lower-level language, a C-like language without pointers
and efficient closures, so besides being extremely impure, it at least
has first-class functions :-)

Been a while since I had a look at LPC, so I hope I didn't get anything
wrong.

-- 
Markus Kliegl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-08  7:23       ` ronald schroder
@ 2001-05-16 17:53         ` Lex Spoon
  2001-05-17  0:54           ` Tim May
  2001-05-17  8:20           ` Biep @ http://www.biep.org/
  0 siblings, 2 replies; 232+ messages in thread
From: Lex Spoon @ 2001-05-16 17:53 UTC (permalink / raw)


> Scheme was a fourth or fifth language for me and I like it, but I
> wouldn't deem it proper for a first course. Procedural programming IS
> a low level business, but it helps us to see that computers do what we
> tell them, not what we want them to do.


Others disagree, of course.  One wonderful thing about Scheme is that
it's very easy to learn recursion with it.  I don't think I really
understood recursion until I saw the way it's formulated in Scheme:

        (defun myfunc (x1 x2)
          (cond
            ((base case 1)  (code for base case 1))
            ((base case 2)  (code for base case 2))
            ((... however many base cases you want...))
            ((recursive case)  (recursive code))))



There are lots of things to think about when picking an initial
language.  One of the most important for rank beginners is the
*primitives* that are available.  If the learner is happy averaging
lists of numbers and generating sentences and things like that, then
Scheme is a wonderful place to start, but many beginners would be
happier playing with graphical objcets....

Lex




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-15 20:37                           ` FM
@ 2001-05-16 17:56                             ` Andreas Krennmair
  2001-05-17  3:06                               ` FM
  0 siblings, 1 reply; 232+ messages in thread
From: Andreas Krennmair @ 2001-05-16 17:56 UTC (permalink / raw)


FM <danfm@dartmouth.edu> wrote:
> > And, damn, although I read this group for a few days,
>  Note that you've been crossposting to many different newsgroups.
Who cares? International usenet is totally crappy already, much too much
noise, and too much traffic, also. And spam!! We hardly have _any_ spam
in at.*, and when, it's quickly cancelled by a cancelbot.

>  Not that I necessarily disagree with your observation, but your
>  judgment and dismissal of a language without relevant knowledge
>  would, in many people's minds, qualify you as a bigot. Whether
I'm not a bigot, since I have my very own opinion on Lisp, and I see both
its good and bad sides. I don't shout "[my favorite language] �ber alles".
What many here miss to understand that there's always the right tool for
the right job, and obviously Lisp can't be it in all disciplines, nor does
any other language (because no language is perfect, also see my signature :).

Regards,
Andreas Krennmair
-- 
We'll try to make different mistakes this time
  -- Larry Wall



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10 13:44                 ` Michael Livshin
@ 2001-05-16 17:59                   ` Lex Spoon
  2001-05-22 14:16                     ` John English
  0 siblings, 1 reply; 232+ messages in thread
From: Lex Spoon @ 2001-05-16 17:59 UTC (permalink / raw)


Michael Livshin <mlivshin@yahoo.com> writes:

> John English <je@brighton.ac.uk> writes:
> 
> > Mark VandeWettering wrote:
> > > I am constantly confused by justification.  First of all, precisely what
> > > feature of perl is similar to natural languages?
> > 
> > You can write poetry in it? :-)
> 
> there's nothing natural about poetry.


And it's not specific to perl..................


-Lex



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-10  0:01               ` David Starner
                                   ` (3 preceding siblings ...)
  2001-05-10 20:08                 ` David Thornley
@ 2001-05-16 18:00                 ` Robert Posey
  2001-05-16 18:19                   ` stephan
                                     ` (2 more replies)
  4 siblings, 3 replies; 232+ messages in thread
From: Robert Posey @ 2001-05-16 18:00 UTC (permalink / raw)




David Starner wrote:
No, that's not of greater importance. It is, in fact, irrelevant for

> any reasonable language. The goal is teaching people to program,
> not helping experianced programmers hack up scripts or researchers
> write up quicker chess programs. If something is difficult in your
> chosen language, you put that off until a latter class, possibly
> even in a more suitable language.

I agree, no modern program works anything like natural language, and while
reserved word and functions should resemble a natural language summary,
real natural language would be useless as a programing tool.  Do you really
want to have to explain a function like printf using standard English.  I have
never seen it attempted, and even with lots of programing references C String
and file functions confuse almost everyone.  So it is pretty clear there is no
natural language equivalent of most programing Token(functions, reserved words)
that would comprise pages of text.  Thus, the direct mapping to natural language
should be at the memory key level, while not getting excessive in length or spelling
complexity for tokens that will be typed millions and billions of times.

I pick Java as the first language, it makes C++ easier to learn, it has fewer nasty
surprises, and integrates with the web well, so that fun projects are possible.  In
addition, it is important in the modern University Environment to allow work to
be done on either Windoze, Linux, Mac and Unix environments and Java does that
without forcing the Graders to maintain different systems.  Java IDE vendors
IBM and Sun also provide relatively easy to use and free IDE's.

LISP is a great language, but its so different it is nightmarish at first to people with
some programing experience, and I would assume the reverse is true.  I also would
never want a student to be able to ignore what type of number they are using, its
very bad practice in most cases.

Muddy




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 18:00                 ` Robert Posey
@ 2001-05-16 18:19                   ` stephan
  2001-05-21  4:15                     ` Lao Xiao Hai
                                       ` (2 more replies)
  2001-05-16 20:44                   ` brlewis
  2001-05-21  5:09                   ` vsync
  2 siblings, 3 replies; 232+ messages in thread
From: stephan @ 2001-05-16 18:19 UTC (permalink / raw)


On Wed, 16 May 2001 13:00:59 -0500, Robert Posey <muddy@raytheon.com> wrote:
>I agree, no modern program works anything like natural language, and while
>reserved word and functions should resemble a natural language summary,
>real natural language would be useless as a programing tool. 

The most serious effort to create a programming language that
"imitates natural language" is called COBOL. 'Nuf said.

Stephan

>Do you really want to have to explain a function like printf using standard English.  


Do you want to explain it at all? ;-)

>I also would
>never want a student to be able to ignore what type of number they are using, its
>very bad practice in most cases.

COBOL has lots of interesting numerical types, such as fixed-precision
decimal numbers. Very useful for counting beans.

I definitely nominate COBOL. It will have the added advantage that
whatever comes next will look as an improvement. (OK, there's still
INTERCAL).

Stephan

-- 
ir. Stephan H.M.J. Houben
tel. +31-40-2474358 / +31-40-2743497
e-mail: stephanh@win.tue.nl



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 18:00                 ` Robert Posey
  2001-05-16 18:19                   ` stephan
@ 2001-05-16 20:44                   ` brlewis
  2001-05-21  5:09                   ` vsync
  2 siblings, 0 replies; 232+ messages in thread
From: brlewis @ 2001-05-16 20:44 UTC (permalink / raw)


Robert Posey <muddy@raytheon.com> writes:

> I pick Java as the first language, it makes C++ easier to learn, it
> has fewer nasty surprises,

You mean than C++?

> and integrates with the web well, so that
> fun projects are possible.

Why should an introductory programming course involve knowing about
structured documents?  Shouldn't the focus be on the structure of
programs instead?

In Scheme, the actual *programming* is fun; no need to wrap a pretty web
page around it.  After the beginning programming course is over, those
who want to do web work have good tools to choose from, e.g. SSAX if
they want to write programs that manipulate structured documents, BRL if
they just want to stick server-side program code inside a web page.  To
see some fun, quick web hacks with source visit

	http://www.webappcabaret.com/brl/p/brlewis/index.brl

> In addition, it is important in the modern
> University Environment to allow work to be done on either Windoze,
> Linux, Mac and Unix environments and Java does that without forcing
> the Graders to maintain different systems.

What release of Java is the Mac up to now?  How about BSD?  Do you have
all the platforms stick with the least common denominator?  This version
skew is why a lot of languages now boast of being "more portable than
Java."

> Java IDE vendors IBM and
> Sun also provide relatively easy to use and free IDE's.

Do they work with the least-common-denominator Java, or do you need a
recent version?

I notice that the latest version of the DrScheme IDE is available for
all the platforms you mentioned.  I've tried it on NT and Linux; it
works the same on those platforms, and presumably on Mac as well.

> LISP is a great language, but its so different it is nightmarish at
> first to people with some programing experience

Not everyone finds it nightmarish to learn something new and different.
The two coworkers I've been teaching Scheme to have found it
interesting.

> I also would never want a student to be able to
> ignore what type of number they are using, its very bad practice in
> most cases.

You mean like writing x/y in Java without paying attention to whether x
and y are floats or ints?  How do you keep a student from doing that?

-- 
Bruce R. Lewis				http://brl.sourceforge.net/



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 16:16                 ` J�rgen Exner
@ 2001-05-16 20:49                   ` Matthias Blume
  2001-05-17  0:22                     ` Boris Smilga
  2001-05-17  1:29                     ` a
  0 siblings, 2 replies; 232+ messages in thread
From: Matthias Blume @ 2001-05-16 20:49 UTC (permalink / raw)


"J�rgen Exner" wrote:
> 
> "Matthias Blume" <blume@research.bell-labs.com> wrote in message
> news:3B003CA2.D24D083C@research.bell-labs.com...
> > false and (in some sense) true
> > (Functions _are_ first-class objects in C; and you cannot do _elegant_
> functional
> > programming in C.)
> 
> Sorry, that's not correct.
> In C the only first-class objects are byte, chars, ints, doubles, ..., and
> pointers. These are the only objects you can use
>     - as elements of a complex data structure (array, record or however you
> want to call it)
>     - return value of a function/procedure
> 
> Second class objects in C are e.g. strings, arrays, and functions/procedures

A agree about the arrays, C does not have strings so the comment about them
is pointless, and I DO NOT agree about functions.  In C functions are function
pointers, and they are completely first-class because they can be used "as 
elements of a complex data structure (array, record or however you want to
call it)" and they can be the "return value of a function/procedure".

> Of course, because C is so low-level, you can simulate functional
> programming by using pointers to functions

Functions and pointers to functions are the same in C.  There is some slight
syntactic confusion about that because of some apparent differences between
f and (*f).  But the difference is not really there.  If you think about
every function expression F as a pointer to the function, you get the right
interpretation.  In other words, there are no functions in C beyond function
pointers.

Matthias



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 20:49                   ` Matthias Blume
@ 2001-05-17  0:22                     ` Boris Smilga
  2001-05-17  1:29                     ` a
  1 sibling, 0 replies; 232+ messages in thread
From: Boris Smilga @ 2001-05-17  0:22 UTC (permalink / raw)


Matthias Blume <blume@research.bell-labs.com> writes:

>                                             <...>  In C functions are function
> pointers, and they are completely first-class because they can be used "as 
> elements of a complex data structure (array, record or however you want to
> call it)" and they can be the "return value of a function/procedure".

Pronouncing this explicitely, "being a first-class object" is not the
same as "being dynamically creatable". [Can one say "creatable" in
English?] The ability to generate first-class procedures (closures) on
the fly is, probably, one of the most pleasant distinctions of Scheme. 
(There are other languages with that feature, of course, but Scheme
was, most likely, the first one to provide it.)

 -BSm



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 17:53         ` Lex Spoon
@ 2001-05-17  0:54           ` Tim May
  2001-05-17  1:15             ` Gary Scott
  2001-05-17  8:20           ` Biep @ http://www.biep.org/
  1 sibling, 1 reply; 232+ messages in thread
From: Tim May @ 2001-05-17  0:54 UTC (permalink / raw)


In article <m3ae4dyyck.fsf@chaos.resnet.gatech.edu>,
 Lex Spoon <lex@cc.gatech.edu> wrote:

> > Scheme was a fourth or fifth language for me and I like it, but I
> > wouldn't deem it proper for a first course. Procedural programming IS
> > a low level business, but it helps us to see that computers do what we
> > tell them, not what we want them to do.
> 
> 
> Others disagree, of course.  One wonderful thing about Scheme is that
> it's very easy to learn recursion with it.  I don't think I really
> understood recursion until I saw the way it's formulated in Scheme:
> 
>         (defun myfunc (x1 x2)
>           (cond
>             ((base case 1)  (code for base case 1))
>             ((base case 2)  (code for base case 2))
>             ((... however many base cases you want...))
>             ((recursive case)  (recursive code))))

But there are all those parentheses! It hurts my brain.

(Oh, you mean other languages have their own mixtures of semicolons, 
colons, brackets, and other symbols?)

As a physicist who hated Fortran when he studied it in the early 70s, 
after playing with Basic in the late 60s, and who then looked at Pascal 
and similar languages in the late 70s, I was thrilled to learn Lisp in 
the mid-80s...it made so much sense, and the Flavors system supported 
objects pretty well. Specifically, Zetalisp on a Symbolics 3670.

Some co-workers used my Vax for some Ada work, circa 1981, but I never 
learned any Ada. It exposed me to objects, though. Or at least the 
project it was being used for, the Intel iAPX 432, did.

Smalltalk was essentially unavailable at the time I learned Lisp. It was 
crudely available on general machines by the mid-80s. I bought Smalltalk 
Agents for my Mac in the mid-90s, but QKS sort of went away. Today, I am 
excited by Squeak, a full-blown (and more) Smalltalk. Runs on nearly 
every platform. Open source. Good stuff.

For beginners, I have no idea which language is best. I know that 
Fortran punchcards for use on an IBM 360/75 is a horrible introduction 
to computing.

--Tim May

-- 
Timothy C. May         tcmay@got.net        Corralitos, California
Political: Co-founder Cypherpunks/crypto anarchy/Cyphernomicon
Technical: physics/soft errors/Smalltalk/Squeak/agents/games/Go
Personal: b.1951/UCSB/Intel '74-'86/retired/investor/motorcycles/guns




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-17  0:54           ` Tim May
@ 2001-05-17  1:15             ` Gary Scott
  2001-05-17  7:20               ` Tom Lake
  0 siblings, 1 reply; 232+ messages in thread
From: Gary Scott @ 2001-05-17  1:15 UTC (permalink / raw)


Tim May wrote:
> 
> In article <m3ae4dyyck.fsf@chaos.resnet.gatech.edu>,
>  Lex Spoon <lex@cc.gatech.edu> wrote:
> 
> > > Scheme was a fourth or fifth language for me and I like it, but I
> > > wouldn't deem it proper for a first course. Procedural programming IS
> > > a low level business, but it helps us to see that computers do what we
> > > tell them, not what we want them to do.
> >
> >
> > Others disagree, of course.  One wonderful thing about Scheme is that
> > it's very easy to learn recursion with it.  I don't think I really
> > understood recursion until I saw the way it's formulated in Scheme:
> >
> >         (defun myfunc (x1 x2)
> >           (cond
> >             ((base case 1)  (code for base case 1))
> >             ((base case 2)  (code for base case 2))
> >             ((... however many base cases you want...))
> >             ((recursive case)  (recursive code))))
> 
> But there are all those parentheses! It hurts my brain.
> 
> (Oh, you mean other languages have their own mixtures of semicolons,
> colons, brackets, and other symbols?)
> 
> As a physicist who hated Fortran when he studied it in the early 70s,
> after playing with Basic in the late 60s, and who then looked at Pascal
> and similar languages in the late 70s, I was thrilled to learn Lisp in
> the mid-80s...it made so much sense, and the Flavors system supported
> objects pretty well. Specifically, Zetalisp on a Symbolics 3670.
> 
> Some co-workers used my Vax for some Ada work, circa 1981, but I never
> learned any Ada. It exposed me to objects, though. Or at least the
> project it was being used for, the Intel iAPX 432, did.
> 
> Smalltalk was essentially unavailable at the time I learned Lisp. It was
> crudely available on general machines by the mid-80s. I bought Smalltalk
> Agents for my Mac in the mid-90s, but QKS sort of went away. Today, I am
> excited by Squeak, a full-blown (and more) Smalltalk. Runs on nearly
> every platform. Open source. Good stuff.
> 
> For beginners, I have no idea which language is best. I know that
> Fortran punchcards for use on an IBM 360/75 is a horrible introduction
> to computing.

Fortran 95 or "F" on Wintel or Linux x86, would however be an excellent
choice.  Most widely available system, free versions of "F" are
available for most platforms.

> 
> --Tim May
> 
> --
> Timothy C. May         tcmay@got.net        Corralitos, California
> Political: Co-founder Cypherpunks/crypto anarchy/Cyphernomicon
> Technical: physics/soft errors/Smalltalk/Squeak/agents/games/Go
> Personal: b.1951/UCSB/Intel '74-'86/retired/investor/motorcycles/guns


-- 

Gary Scott
mailto:scottg@flash.net

mailto:webmaster@fortranlib.com
http://www.fortranlib.com

Support the GNU Fortran G95 Project:  http://g95.sourceforge.net



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 20:49                   ` Matthias Blume
  2001-05-17  0:22                     ` Boris Smilga
@ 2001-05-17  1:29                     ` a
  2001-05-17  3:07                       ` FM
  2001-05-17 13:56                       ` Matthias Blume
  1 sibling, 2 replies; 232+ messages in thread
From: a @ 2001-05-17  1:29 UTC (permalink / raw)


On Wed, 16 May 2001 16:49:39 -0400, Matthias Blume
<blume@research.bell-labs.com> wrote:

>is pointless, and I DO NOT agree about functions.  In C functions are function
>pointers, and they are completely first-class because they can be used "as 

In C, a function has to have a name, and it can't be instantiated at run time
from data available only at run time.  If that's first class, what class is a
Lisp lambda?  Do ordinal numbers go that low?




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 17:56                             ` Andreas Krennmair
@ 2001-05-17  3:06                               ` FM
  0 siblings, 0 replies; 232+ messages in thread
From: FM @ 2001-05-17  3:06 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2072 bytes --]

"Andreas Krennmair" <a.krennmair@aon.at> wrote:
> FM <danfm@dartmouth.edu> wrote:
> > > And, damn, although I read this group for a few days,
> >  Note that you've been crossposting to many different newsgroups.
> Who cares?

You should. Or do you not care if you have unresolvable references
in your sentences, which make them completely incomprehensible? Or
did you just miss the point?


> International usenet is totally crappy already, much too much
> noise, and too much traffic, also. And spam!! We hardly have _any_ spam
> in at.*, and when, it's quickly cancelled by a cancelbot.

What are you babbling about? Are you confusing the usenet with a
particular view of it provided by your news server?


> >  Not that I necessarily disagree with your observation, but your
> >  judgment and dismissal of a language without relevant knowledge
> >  would, in many people's minds, qualify you as a bigot. Whether

> I'm not a bigot, since I have my very own opinion on Lisp, and I see both
> its good and bad sides.

Of course no one accused you of being a bigot. And every bigot
*does* have his/her own opinions, even though they may not be
particularly well-informed. Whether you see its good and bad
sides is irrelevant.


> I don't shout "[my favorite language] �ber alles".

Not that I read German, but who has?


> What many here miss to understand that there's always the right tool for
> the right job,

What you fail to observe is that, nearly everyone understands
it. The problem here is that you refuse to believe that other
people are disagreeing with you because you are wrong, not
because they are biased in any way. Heck, I don't even like
Lisp all that much (even if I prefer it to some languages that
I've been forced to learn and use).


> and obviously Lisp can't be it in all disciplines, nor does
> any other language (because no language is perfect, also see my signature :).

No one ever suggested that Lisp is perfect in any form. It's
quite strange that you would perceive other people's arguments
as being absolute. Or maybe not.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-17  1:29                     ` a
@ 2001-05-17  3:07                       ` FM
  2001-05-17 13:56                       ` Matthias Blume
  1 sibling, 0 replies; 232+ messages in thread
From: FM @ 2001-05-17  3:07 UTC (permalink / raw)


<a@b.c> wrote:
> On Wed, 16 May 2001 16:49:39 -0400, Matthias Blume
> <blume@research.bell-labs.com> wrote:
>
> >is pointless, and I DO NOT agree about functions.  In C functions are function
> >pointers, and they are completely first-class because they can be used "as
>
> In C, a function has to have a name, and it can't be instantiated at run time
> from data available only at run time.

That's a completely different issue. Type "int" is a finite set of
values (as every integral type in C is) and you can say that it's
always instantiated from data avaiable at compile time as well. If
you see a closure as a function/environment pair, then the
"function" part of the closure is static as well. There's nothing
first-class about being able to instantiate at runtime anyway.

On the other hand, there's something odd about calling functions
first-class in C. I'd rather phrase it "function pointers are
first-class values in C." Then again, I'd do the same for Common
Lisp.


Dan.






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-17  1:15             ` Gary Scott
@ 2001-05-17  7:20               ` Tom Lake
  2001-05-19 14:40                 ` Lex Spoon
  0 siblings, 1 reply; 232+ messages in thread
From: Tom Lake @ 2001-05-17  7:20 UTC (permalink / raw)


Very nice but none of this has any relevance to BASIC programmers.  Could
you guys cut out the references to the BASIC newsgroups from your list of
newsgroups?  We're getting cluttered up and it's really confusing the many
beginners who are asking for our help.  I've been programming in BASIC for a
living for thirty years (even before Gates and Co. made it popular) and have
never run into a situation where BASIC couldn't be used to solve any problem
I encountered.  TIA

Tom Lake





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 17:53         ` Lex Spoon
  2001-05-17  0:54           ` Tim May
@ 2001-05-17  8:20           ` Biep @ http://www.biep.org/
  2001-05-17 12:43             ` illya
  1 sibling, 1 reply; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-05-17  8:20 UTC (permalink / raw)


"Lex Spoon" <lex@cc.gatech.edu> wrote in message
news:m3ae4dyyck.fsf@chaos.resnet.gatech.edu...
> If the learner is happy averaging lists of numbers
> and generating sentences and things like that,
> then Scheme is a wonderful place to start,
> but many beginners would be happier playing with graphical objects..

.. and for them (PLT) Scheme is a wonderful place to start.

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







^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-17  8:20           ` Biep @ http://www.biep.org/
@ 2001-05-17 12:43             ` illya
  0 siblings, 0 replies; 232+ messages in thread
From: illya @ 2001-05-17 12:43 UTC (permalink / raw)


Yes, for more easier lerning test:

http://www.perl-maker.com

Greetings
illi

Biep @ http://www.biep.org/ <reply-via@my-web-site.com> schrieb in im
Newsbeitrag: 9e01ge$aqom$1@ID-63952.news.dfncis.de...
> "Lex Spoon" <lex@cc.gatech.edu> wrote in message
> news:m3ae4dyyck.fsf@chaos.resnet.gatech.edu...
> > If the learner is happy averaging lists of numbers
> > and generating sentences and things like that,
> > then Scheme is a wonderful place to start,
> > but many beginners would be happier playing with graphical objects..
>
> .. and for them (PLT) Scheme is a wonderful place to start.
>
> --
> Biep
> Reply via http://www.biep.org
>
>
>
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-17  1:29                     ` a
  2001-05-17  3:07                       ` FM
@ 2001-05-17 13:56                       ` Matthias Blume
  2001-05-17 17:54                         ` J�rgen Exner
  1 sibling, 1 reply; 232+ messages in thread
From: Matthias Blume @ 2001-05-17 13:56 UTC (permalink / raw)


a@b.c wrote:
> 
> On Wed, 16 May 2001 16:49:39 -0400, Matthias Blume
> <blume@research.bell-labs.com> wrote:
> 
> >is pointless, and I DO NOT agree about functions.  In C functions are function
> >pointers, and they are completely first-class because they can be used "as
> 
> In C, a function has to have a name, and it can't be instantiated at run time
> from data available only at run time.  If that's first class, what class is a
> Lisp lambda?  Do ordinal numbers go that low?

You are confusing issues.  C functions are not exactly the same as functions in
functional programming languages.  C functions are first-order (not to be confused
with first-class). This means that there are no _nested_ functions.  If you leave
out the nested functions from, say, ML (without perturbing anything else), you get 
precisely the C model.  You can still pass these functions around with abandon, but
in implementation terms you don't need more than one instance of each one.

So the problem is one of terminology:

  ML- (or Lisp-) functions are first class.
  C functions are first class.

But:

  ML functions and C functions are not the same concept.

Because:

  ML functions are higher-order.
  C functions are first-order.

In other words, C functions are first-class for what they are, but this does not mean
that they are in some way equivalent to ML functions.

Think of it like this: We can say: "C integers are first class" (which is undisputed,
or so I hope), but C _integers_ are in no way equivalent to ML _reals_ (which are also
first class but otherwise different).

Matthias



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-15 19:29                               ` Peter Schuller
@ 2001-05-17 15:21                                 ` David Rush
  2001-05-17 23:19                                   ` Peter Schuller
  0 siblings, 1 reply; 232+ messages in thread
From: David Rush @ 2001-05-17 15:21 UTC (permalink / raw)


peter.schuller@infidyne.com (Peter Schuller) writes:
> >C.S. Lewis (who was an educator before he was an author) talked about
> >this problem over 40 years ago. He pointed out that you can really
> >only measure such tangibles as the student's retention of "facts".
> 
> I agree with this - mostly. But the issue at hand was wheather you learned
> something useful in history class, not wheater you can measure it :)

Yes, and my point is/was that there *are* useful things that can be learned
from the study of history, but they can't be spoon-fed as part of a
class without becoming a dangerous form of political
indoctrination. You can (honestly) only teach the facts (distorted by
politics though they may be). The student has to think for himself.

The original poster, who was whinging about the irrelevance of
studying history on a computer curriculum, clearly never grasped that
basic fact. In fact, computer science is, in general, far too ignorant
of *it's* history. Other engineering disciplines make a point out of
post-mortem analysis of errors; few indeed are the computer
firms/software engineers that do. I remember having one professor in
my Uni. days who lamented this; I have learned since that he was very
right. If you're ignorant of history, you *will* repeat; even if
you're compliant to the latest silver-bullet buzzword.

For that matter the "soft sciences" have more to tell us in practical
CS than many of us geekier types would like to admit. Large-scale
programming is at least as much a social exercise as it is a technical
one. Broad education[1] is *good* for software development.

david rush

[1] IIRC, at least one poster (the same one who complainmed about
having to learn history?) sang out in praise of Perl. While I am not a
Perl fan, you have to admit the Larry Wall is very broadly
educated/informed, and he himself clains that he has brought ideas
from many diverse topics to bear in the design of Perl.
-- 
In no other country in the world is the love of property keener or
more alert than in the United States, and nowhere else does the
majority display less inclination toward doctrines which in any way
threaten the way property is owned.
	-- Democracy in America (Alexis de Tocqueville)



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-17 13:56                       ` Matthias Blume
@ 2001-05-17 17:54                         ` J�rgen Exner
  0 siblings, 0 replies; 232+ messages in thread
From: J�rgen Exner @ 2001-05-17 17:54 UTC (permalink / raw)


"Matthias Blume" <blume@research.bell-labs.com> wrote in message
news:3B03D88B.E878B018@research.bell-labs.com...
> a@b.c wrote:
[excellent explanation clipped]
>   ML functions and C functions are not the same concept.
> Because:
>   ML functions are higher-order.
>   C functions are first-order.
>
> In other words, C functions are first-class for what they are, but this
does not mean
> that they are in some way equivalent to ML functions.

Very nicely put. That's what I tried to say, but I couldn't phrase it right.

jue





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-17 15:21                                 ` David Rush
@ 2001-05-17 23:19                                   ` Peter Schuller
  2001-05-18  9:50                                     ` Biep @ http://www.biep.org/
  0 siblings, 1 reply; 232+ messages in thread
From: Peter Schuller @ 2001-05-17 23:19 UTC (permalink / raw)


>The original poster,

Me.

>who was whinging about the irrelevance of
>studying history on a computer curriculum, clearly never grasped that
>basic fact. 

Of course I do. The point was that you should get to *choose*. There is no
objective truth that says history is somehow more important for everyone to
learn than, say, quantum physics. Or if there is such an objective truth,
it's impossible to determine wheather a subjective opinion matches that
truth. I never said a CS student should study only CS courses. I just said
the student should have the ability to choose. Instead of history, perhaps I
would have studied filosophy, etc.

Just because I don't think everyone should be forced to get a specific broad
education, it doesn't mean I am against getting a broad education. You
clearly don't "grasp this basic fact"...

>In fact, computer science is, in general, far too ignorant
>of *it's* history. Other engineering disciplines make a point out of
>post-mortem analysis of errors; few indeed are the computer
>firms/software engineers that do. I remember having one professor in
>my Uni. days who lamented this; I have learned since that he was very
>right. If you're ignorant of history, you *will* repeat; even if
>you're compliant to the latest silver-bullet buzzword.

Ok. And exactly how does this mean I have to know when that aforementioned
alcoholic was admitted to a mental institution?

I actually don't have anything against history in the general sense. Just
the history tought in school. I want choice. WWII? Give it to me. WWI? The
same. The history of the human species? Sure. And so on. Swedish kings?
No, and I shouldn't be foreced to study it. Especially not more than once.

>For that matter the "soft sciences" have more to tell us in practical
>CS than many of us geekier types would like to admit. Large-scale
>programming is at least as much a social exercise as it is a technical
>one. Broad education[1] is *good* for software development.

Repeat of question above + see above about broad education.

>david rush
>
>[1] IIRC, at least one poster (the same one who complainmed about
>having to learn history?) sang out in praise of Perl. While I am not a
>Perl fan, you have to admit the Larry Wall is very broadly
>educated/informed, and he himself clains that he has brought ideas
>from many diverse topics to bear in the design of Perl.

I did no such thing. I absolutely hate perl. It's a mess. So no, that was
not the same person who complained.

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller@infidyne.com>'
Key retrival: Send an E-Mail to getpgpkey@scode.org
E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: [OT] Software Engineering at 14 (was: Re: Beginner's Language?)
  2001-05-17 23:19                                   ` Peter Schuller
@ 2001-05-18  9:50                                     ` Biep @ http://www.biep.org/
  0 siblings, 0 replies; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-05-18  9:50 UTC (permalink / raw)


"Peter Schuller" <peter.schuller@infidyne.com> wrote in message
news:9e1mab$hr6$1@hecate.umd.edu...
> I actually don't have anything against history in the general sense. Just
> the history tought in school. I want choice. WWII? Give it to me. WWI?
The
> same. The history of the human species? Sure. And so on. Swedish kings?
> No, and I shouldn't be foreced to study it. Especially not more than
once.

But how can you ever understand the intricacies of the positions and
actions of the various groups in Sweden (or anywhere) during, say, WWII,
without a thorough knowledge of preceding history?

WWII on itself is not history, that is a story.  It becomes history when
you see it in the context of how thought patterns have grown the way they
have, how someone's behaviour follows from the atmosphere they grew up in,
and why that atmosphere was as it was..

Now if you had an incompetent teacher, that is sad, but it doesn't relate
to this discussion.

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





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-05 19:06     ` Jochen Schmidt
  2001-05-05 22:59       ` Randal L. Schwartz
@ 2001-05-18 23:02       ` glauber
  1 sibling, 0 replies; 232+ messages in thread
From: glauber @ 2001-05-18 23:02 UTC (permalink / raw)


Jochen Schmidt <jsc@dataheaven.de> wrote in message news:<9d1ilh$g397v$1@ID-22205.news.dfncis.de>...
[...]
> IMHO Perl has nothing and does nothing that would make it a good language 
> for language studies.
> But I wait to hear from you what concepts are best learnt by looking at 
> perl (besides the "How to not design a language" fact)


Perl is a good language to learn the principle that "just because i
can do something, it doesn't mean i should do it!".

Also, Perl has a lot of stuff in it from Lisp. I consider Perl to be
Lisp minus the pretty syntax. :-)

g



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 17:42         ` Markus Kliegl
@ 2001-05-19 14:24           ` Lex Spoon
  0 siblings, 0 replies; 232+ messages in thread
From: Lex Spoon @ 2001-05-19 14:24 UTC (permalink / raw)


> > 
> > Amy Bruckman's Moose Crossing is a mud intended as a place for kids to
> > learn about programming:
> > 
> >     http://www.cc.gatech.edu/elc/moose-crossing/
> > 
> > If you think muds for programming is interesting, you should
> > definitely look into Moose Crossing.
> > 
> > 
> > Lex Spoon
> > 
> 
> What is Moose as a language like, though? Is it a well-designed language
> (I only saw something about it being OO, which is obviously essential for
> a MUD programming language, anyway)? LPC is quite an interesting language,
> as it offers a lower-level language, a C-like language without pointers
> and efficient closures, so besides being extremely impure, it at least
> has first-class functions :-)
> 
> Been a while since I had a look at LPC, so I hope I didn't get anything
> wrong.
> 


I don't know a lot about it -- I just *hear* a lot about it, because
Amy Bruckman is a professor at my university and her PhD project gets
a lot of discussion.  I'll share what I've picked up.

The most striking is an English-like syntax, which is valuable for
newbies but of questionable use for more experienced programmers.  The
second thing to note is that it has a GUI.  You don't have to learn a
lot of console commands to modify your programs -- you select an
object and then it pops up in a local editting window, where you can
view all the available methods and instance variables and then mess
around with them.


Regarding power, I know that it has threads, and I suppose that it has
objects (each MUD object being an object).  I don't know if it has
something like closures.  At any rate, I get the impression it's not a
great place to learn about extremely fancy algorithms.  It's a place,
as far as I can tell, that is best used to learn those first steps
like flow of control, instance variables, and saying *exactly* what
you mean.


Lex



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-17  7:20               ` Tom Lake
@ 2001-05-19 14:40                 ` Lex Spoon
  0 siblings, 0 replies; 232+ messages in thread
From: Lex Spoon @ 2001-05-19 14:40 UTC (permalink / raw)


"Tom Lake" <tlake@twcny.rr.com> writes:

> Very nice but none of this has any relevance to BASIC programmers.  Could
> you guys cut out the references to the BASIC newsgroups from your list of
> newsgroups?  We're getting cluttered up and it's really confusing the many
> beginners who are asking for our help.  

So you say...



> I've been programming in BASIC for a
> living for thirty years (even before Gates and Co. made it popular) and have
> never run into a situation where BASIC couldn't be used to solve any problem
> I encountered.  TIA


And then you join in.  Welcome.  :) BASIC was intended as a beginner's
language, was it not?  If you think BASIC is so great, then why should
anyone bother with Scheme or Pascal or Smalltalk or anything else?



Lex




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 18:19                   ` stephan
@ 2001-05-21  4:15                     ` Lao Xiao Hai
  2001-05-21 11:53                       ` raj
  2001-05-21 21:30                       ` Marie-No�lle Baechler
  2001-05-27 12:59                     ` Alejandro R. Mosteo
  2001-05-30 20:26                     ` Florian Weimer
  2 siblings, 2 replies; 232+ messages in thread
From: Lao Xiao Hai @ 2001-05-21  4:15 UTC (permalink / raw)




stephan@pcrm.win.tue.nl wrote:

> I definitely nominate COBOL. It will have the added advantage that
> whatever comes next will look as an improvement. (OK, there's still
> INTERCAL).

I assume this was a joke.   In reality, there are still a lot of people successfully
developing software with COBOL.  Moreover,   the current COBOL standard,
and its planned successor, are both quite easy for applications developers to
learn and use.  One of COBOL's virtues has been that, in large corporations,
people who understand the problem domain have been able to transition to
the role of programmer and create solutions.   Typically, these people have
little training in computer science.  They are able to learn on the job.

I have seen a lot of excellent COBOL programmers who have made the
leap from clerical jobs to programming jobs and who have done really
good work.   Also, COBOL is not going away anytime soon, contrary
to popular opinion.    And it is still better for business data processing
applications than C++, any day of the week.   I would have to say it is
better for most of these kinds of applications than Perl or Scheme, Smalltalk
or even Java.    Ada might be the exception because it has a built-in decimal
type and a well-defined Information Systems Annex.    However, I don't
see Ada replacing COBOL anytime soon any more than I see any of those
other languages replacing it.   COBOL continues to evolve and improve,
but few in the programming community keep up-to-date about those
changes.  So many of them wrote it off long ago that they don't know
how it has improved over what it once was.    It is much like those who
still criticize Ada based on the old Ada 83 standard or Smalltalk based
on an outdated view of that language.   Hmmmm. Maybe Ruby will do. :-)

Richard Riehle




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 18:00                 ` Robert Posey
  2001-05-16 18:19                   ` stephan
  2001-05-16 20:44                   ` brlewis
@ 2001-05-21  5:09                   ` vsync
  2 siblings, 0 replies; 232+ messages in thread
From: vsync @ 2001-05-21  5:09 UTC (permalink / raw)


Robert Posey <muddy@raytheon.com> writes:

> LISP is a great language, but its so different it is nightmarish at first to people with
> some programing experience, and I would assume the reverse is true.  I also would

Really?  I loved learning it.

-- 
vsync
http://quadium.net/ - last updated Tue May 15 15:02:08 PDT 2001
(cons (cons (car (cons 'c 'r)) (cdr (cons 'a 'o))) ; Orjner
      (cons (cons (car (cons 'n 'c)) (cdr (cons nil 's))) nil))



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-21  4:15                     ` Lao Xiao Hai
@ 2001-05-21 11:53                       ` raj
  2001-05-23 10:33                         ` Liam Devlin
  2001-05-21 21:30                       ` Marie-No�lle Baechler
  1 sibling, 1 reply; 232+ messages in thread
From: raj @ 2001-05-21 11:53 UTC (permalink / raw)


>stephan@pcrm.win.tue.nl wrote:
>
>> I definitely nominate COBOL. It will have the added advantage that
>> whatever comes next will look as an improvement. (OK, there's still
>> INTERCAL).

I nominate FORTRAN. :-)
It is so appalling that any other language that they learn will come
as a pleasant relief !





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-21  4:15                     ` Lao Xiao Hai
  2001-05-21 11:53                       ` raj
@ 2001-05-21 21:30                       ` Marie-No�lle Baechler
  1 sibling, 0 replies; 232+ messages in thread
From: Marie-No�lle Baechler @ 2001-05-21 21:30 UTC (permalink / raw)


>I assume this was a joke.   In reality, there are still a lot of people
>successfully developing software with COBOL.  Moreover,   the current
>COBOL standard, and its planned successor, are both quite easy for
>applications developers to learn and use.  One of COBOL's virtues has
>been that, in large corporations, people who understand the problem
>domain have been able to transition to the role of programmer and create
>solutions.   Typically, these people have little training in computer
>science.  They are able to learn on the job. 

In my employer, a teaching hospital, COBOL was still very important 
a few years ago, but it will have disappeared by January 1, 2002. 
The only system still using it, our patient management system will 
be replaced at that time.

Here, COBOL is disappearing because informations systems based on 
relational databases are used for all the major tasks. We also tend 
to rely on packages, we try to minimize local adaptations and they 
are developped as specific extensions by our suppliers.

Local extensions of our major information systems are mostly very
specific queries and they are developped in ORACLE SQL. We have a
few programs developped in PL/SQL.

Some of our large packages are not yet client/server. When they 
are, the client is developped in C++ (with one major exception 
using UNIFACE). A few less important applications have been 
developped as Intranet applications in ORACLE PL/SQL. Small 
specific client/server applications have been developped with 
a VB client.

So, for us, COBOL is finally disappearing. But it took 10 more
years than what I expected.

Marie-Noelle Baechler



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 17:59                   ` Lex Spoon
@ 2001-05-22 14:16                     ` John English
  2001-05-22 16:40                       ` Poetry in source code (was: Beginner's Language?) Ted Dennison
                                         ` (3 more replies)
  0 siblings, 4 replies; 232+ messages in thread
From: John English @ 2001-05-22 14:16 UTC (permalink / raw)


Lex Spoon wrote:
> 
> Michael Livshin <mlivshin@yahoo.com> writes:
> 
> > John English <je@brighton.ac.uk> writes:
> >
> > > Mark VandeWettering wrote:
> > > > I am constantly confused by justification.  First of all, precisely what
> > > > feature of perl is similar to natural languages?
> > >
> > > You can write poetry in it? :-)
> >
> > there's nothing natural about poetry.
> 
> And it's not specific to perl..................

Go on then, write me a poem in Lisp (or Cobol, or Ada, or Java)... :-)

"I think that I will never see
 A poem lovely as a... doubly-linked list? ISAM file? etc..."

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.comp.it.bton.ac.uk/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Poetry in source code (was: Beginner's Language?)
  2001-05-22 14:16                     ` John English
@ 2001-05-22 16:40                       ` Ted Dennison
  2001-05-23 15:24                         ` John English
  2001-05-22 23:31                       ` Beginner's Language? raj
                                         ` (2 subsequent siblings)
  3 siblings, 1 reply; 232+ messages in thread
From: Ted Dennison @ 2001-05-22 16:40 UTC (permalink / raw)


In article <3B0A74D9.2A811C9D@brighton.ac.uk>, John English says...
>Go on then, write me a poem in Lisp (or Cobol, or Ada, or Java)... :-)

How about C?  Try -

http://www.ioccc.org/1998/schweikh3.c or
http://www.ioccc.org/1996/gandalf.c

I'm still not sure how one can claim that the ability to do this is a *good*
thing though...

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-22 14:16                     ` John English
  2001-05-22 16:40                       ` Poetry in source code (was: Beginner's Language?) Ted Dennison
@ 2001-05-22 23:31                       ` raj
  2001-05-23  0:44                       ` Chad R. Meiners
  2001-05-28  0:17                       ` Lao Xiao Hai
  3 siblings, 0 replies; 232+ messages in thread
From: raj @ 2001-05-22 23:31 UTC (permalink / raw)


>>I nominate FORTRAN. :-)
>>It is so appalling that any other language that they learn will come
>>as a pleasant relief !
>>

>Volker Bandke <vbandke@bsp-gmbh.com>
>Said by someone who probably never coded a single line of Fortran in his life.


Dem's fighting words ! Put yer dukes up matey !  :-)
But seriously,  I have coded a couple of university projects in
Fortran. But yes, I have never had to do it professionally.
( For which I thank, Moloch, Baal and Ceruneo

> And probably not a single line of code in any language, except possibly one.....

I don't want to turn this into a my ** is bigger than yours :-) but
for what it is worth ( about 10 cents ), I have programmed in:

Basic and VB ( for my sins ! )
Pascal
Modula-2
Ada
Occam ( yes ! I am that ancient...)
Fortan ( see above )
C
C++
Some Java

Currently  learning Haskell and Squeak and playing with Lisp and
Scheme. 

PS: Has anyone seen the great SICP video lectures that are available
free from MIT ?



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-22 14:16                     ` John English
  2001-05-22 16:40                       ` Poetry in source code (was: Beginner's Language?) Ted Dennison
  2001-05-22 23:31                       ` Beginner's Language? raj
@ 2001-05-23  0:44                       ` Chad R. Meiners
  2001-05-28  0:17                       ` Lao Xiao Hai
  3 siblings, 0 replies; 232+ messages in thread
From: Chad R. Meiners @ 2001-05-23  0:44 UTC (permalink / raw)


Strange you should ask for one.  I wrote this when I was a first year
college student just learning the language.  I don't make any claims that it
is wonderful.

with Ada.text_IO; use Ada.text_IO;
Procedure hierarchy_of_need is
Type hierarchy is (nothing, faith, trust, truth,acceptance,love);
Package Hierarchy_IO is new Ada.Text_IO.Enumeration_IO(hierarchy);
use Hierarchy_IO;
Procedure hierarchy_is(Current_Level : hierarchy) is
 begin
  If Current_Level <hierarchy'pred(hierarchy'last) then
   hierarchy_is(hierarchy'succ(Current_level));
  end if;
  Put(hierarchy'succ(Current_Level));
  Put(" requires ");
  Put(Current_Level);
  new_line;
 end hierarchy_is;
begin
 Hierarchy_is(nothing);
end hierarchy_of_need;

-Chad R. Meiners

"John English" <je@brighton.ac.uk> wrote in message
news:3B0A74D9.2A811C9D@brighton.ac.uk...
not specific to perl..................
>
> Go on then, write me a poem in Lisp (or Cobol, or Ada, or Java)... :-)
>






^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-21 11:53                       ` raj
@ 2001-05-23 10:33                         ` Liam Devlin
  0 siblings, 0 replies; 232+ messages in thread
From: Liam Devlin @ 2001-05-23 10:33 UTC (permalink / raw)


raj wrote:
> 
> >stephan@pcrm.win.tue.nl wrote:
> >
> >> I definitely nominate COBOL. It will have the added advantage that
> >> whatever comes next will look as an improvement. (OK, there's still
> >> INTERCAL).
> 
> I nominate FORTRAN. :-)
> It is so appalling that any other language that they learn will come
> as a pleasant relief !

Give RPG a shot before signing any contracts.

LiamD



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Poetry in source code (was: Beginner's Language?)
  2001-05-22 16:40                       ` Poetry in source code (was: Beginner's Language?) Ted Dennison
@ 2001-05-23 15:24                         ` John English
  2001-05-23 17:34                           ` Preben Randhol
  0 siblings, 1 reply; 232+ messages in thread
From: John English @ 2001-05-23 15:24 UTC (permalink / raw)


Ted Dennison wrote:
> 
> In article <3B0A74D9.2A811C9D@brighton.ac.uk>, John English says...
> >Go on then, write me a poem in Lisp (or Cobol, or Ada, or Java)... :-)
> 
> How about C?  Try -
> 
> http://www.ioccc.org/1998/schweikh3.c or
> http://www.ioccc.org/1996/gandalf.c

Ouch! Disgusting! No more, please!

> I'm still not sure how one can claim that the ability to do this is a *good*
> thing though...

Anything but. I suspect that the ability to write poetry means that
the language has gone from being merely flexible to being positively
bendy (or bent :-).

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.comp.it.bton.ac.uk/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Poetry in source code (was: Beginner's Language?)
  2001-05-23 15:24                         ` John English
@ 2001-05-23 17:34                           ` Preben Randhol
  0 siblings, 0 replies; 232+ messages in thread
From: Preben Randhol @ 2001-05-23 17:34 UTC (permalink / raw)


On Wed, 23 May 2001 16:24:08 +0100, John English wrote:

> Anything but. I suspect that the ability to write poetry means that
> the language has gone from being merely flexible to being positively
> bendy (or bent :-).

I see that there is a contest to write the most obfuscated code in C on
http://www.ioccc.org/.

I guess there is one for Perl too, or perhaps not, as Perl is obfuscated
to begin with. There should be a contest in Perl to write a
non-obfuscated code.

-- 
Preben Randhol ------------------- http://www.pvv.org/~randhol/ --
                 �For me, Ada95 puts back the joy in programming.�



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 18:19                   ` stephan
  2001-05-21  4:15                     ` Lao Xiao Hai
@ 2001-05-27 12:59                     ` Alejandro R. Mosteo
  2001-05-30 20:26                     ` Florian Weimer
  2 siblings, 0 replies; 232+ messages in thread
From: Alejandro R. Mosteo @ 2001-05-27 12:59 UTC (permalink / raw)


stephan@pcrm.win.tue.nl ha escrito esto previamente:

> (OK, there's still INTERCAL).

Yes, it was a real find XD!

Cheers.

------------------------------
Alejandro R. Mosteo
mailto: 402450@cepsz.unizar.es
------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-11  5:29             ` Friedrich Dominicus
@ 2001-05-27 12:59               ` Alejandro R. Mosteo
  2001-05-27 22:34                 ` Larry Elmore
  0 siblings, 1 reply; 232+ messages in thread
From: Alejandro R. Mosteo @ 2001-05-27 12:59 UTC (permalink / raw)



Mmm... I've used many languages and Lisp was taught to me after two or 
three years of programming experience.

I can't understand how anyone could defend Lisp as a first language. You 
can get crazy with the parentheses, the reference/no-reference things 
(setf, set...) Recursivity, lists in all places... Car and cdr... mapcar 
and friends... XD

I admit: after some time, I get comfortable with Lisp. Even could say it 
is funny. But I know people that never was capable of fully understand 
what was happening in some of his own programs :-)

Definitely, Lisp for a newbie on programming is... Oh, I have no words!

Of course, this is a personal interpretation ;-)

------------------------------
Alejandro R. Mosteo
mailto: 402450@cepsz.unizar.es
------------------------------



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-27 12:59               ` Alejandro R. Mosteo
@ 2001-05-27 22:34                 ` Larry Elmore
  2001-06-03 21:18                   ` Stefan Skoglund
  0 siblings, 1 reply; 232+ messages in thread
From: Larry Elmore @ 2001-05-27 22:34 UTC (permalink / raw)


"Alejandro R. Mosteo" wrote:
> 
> Mmm... I've used many languages and Lisp was taught to me after two or
> three years of programming experience.
> 
> I can't understand how anyone could defend Lisp as a first language. You
> can get crazy with the parentheses, the reference/no-reference things
> (setf, set...) Recursivity, lists in all places... Car and cdr... mapcar
> and friends... XD

I don't see what's so bad about the parentheses, not if you're using any
kind of a decent editor that understands such things. With a lot of code
I don't think there's a great deal of difference between the number of
parentheses in Lisp and the number of parentheses plus square brackets,
curly braces, semicolons, etc. At least with the Lisp code, there's _no_
amibiguity about operator precedence!

As far as pointers and lists go, I suspect that if you'd learned Lisp
first, you'd have had no problem at all with them, and then would've
been highly annoyed by the comparatively primitive aspects of so many
other languages when dealing with higher-level constructs.

> I admit: after some time, I get comfortable with Lisp. Even could say it
> is funny. But I know people that never was capable of fully understand
> what was happening in some of his own programs :-)

I've known programmers who have the same problem with C/C++, and worse,
have had to maintain code written by them! They'd have problems in any
language they used, I think -- if they can't properly use lists in Lisp,
heaven help them when they need to handle lists in C/C++!
 
> Definitely, Lisp for a newbie on programming is... Oh, I have no words!

It certainly beats the hell out of C/C++, Fortran, Cobol or Basic! Of
course, you'd teach programming in Lisp with a subset of the language.
It'd be even more likely to confuse them if you hit them with the full
complexity of Ada right off the bat (and with all of C++, you'd likely
scare off 99% of them).

Larry



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-22 14:16                     ` John English
                                         ` (2 preceding siblings ...)
  2001-05-23  0:44                       ` Chad R. Meiners
@ 2001-05-28  0:17                       ` Lao Xiao Hai
  2001-05-28 19:39                         ` poetry in PL's? (was: Beginner's Language?) Lex Spoon
  2001-05-30 20:34                         ` Beginner's Language? Florian Weimer
  3 siblings, 2 replies; 232+ messages in thread
From: Lao Xiao Hai @ 2001-05-28  0:17 UTC (permalink / raw)




John English wrote:

> ....Go on then, write me a poem in Lisp (or Cobol, or Ada, or Java)... :-)
>
> "I think that I will never see
>  A poem lovely as a... doubly-linked list? ISAM file? etc..."

Poetry, by its very nature, relies heavily on ambiguity.   This is discussed
quite comprehensively in William Empsom's great book, "Seven Types
of Ambiguity," in which he lays out the models of ambiguity reflected
in various styles of poetry.    Poetry also makes it statement with
simile and metaphor.   Although we use metaphor often when discussing
programming, we avoid it when actually writing programs.

Programming, by its very nature relies on lack of ambiguity.   Well, of
course, that is generally true.  If one is programming in C++, ambiguity
is part of the fun.

Richard Riehle




^ permalink raw reply	[flat|nested] 232+ messages in thread

* poetry in PL's?  (was: Beginner's Language?)
  2001-05-28  0:17                       ` Lao Xiao Hai
@ 2001-05-28 19:39                         ` Lex Spoon
  2001-05-29 13:44                           ` Ted Dennison
  2001-05-30 20:34                         ` Beginner's Language? Florian Weimer
  1 sibling, 1 reply; 232+ messages in thread
From: Lex Spoon @ 2001-05-28 19:39 UTC (permalink / raw)


Lao Xiao Hai <laoxhai@ix.netcom.com> writes:
> John English wrote:
> 
> > ....Go on then, write me a poem in Lisp (or Cobol, or Ada, or Java)... :-)
> >
> > "I think that I will never see
> >  A poem lovely as a... doubly-linked list? ISAM file? etc..."
> 
> Poetry, by its very nature, relies heavily on ambiguity.   This is discussed
> quite comprehensively in William Empsom's great book, "Seven Types
> of Ambiguity," in which he lays out the models of ambiguity reflected
> in various styles of poetry.    Poetry also makes it statement with
> simile and metaphor.   Although we use metaphor often when discussing
> programming, we avoid it when actually writing programs.
> 


Ah, some specific challenges!  That makes it easier.  Here goes.

First, you *can* have ambiguity:

    madeline draw execute.
    joe gush.
    madeline tear.


Is Joe spurting blood or enthusiastically praising a drawing?  etc.


Second, I don't see why a poem *has* to have any of these particular
elements.  Here's a cruddy poem with neither metaphor nor ambiguity.
It does have rhythm and visual layout, however.

    #(money money money money)
       with: #(house car fame love)
          do: [ :stuff :it |
              self buy: it with: stuff ].

    This line is never reached.



Finally, you really can have metaphors in programs.  The difference is
that, assuming you actually *implement* the metaphor (which I'm not
going to), you end up specifying certain parts of the metaphor very
precisely.  At any rate, this is especially possible if you don't have
to deal with type declarations.  Here goes:

    stateA7 := State new.
    stateA7 on: #cry   goTo: stateA7.
    stateA7 on: #laugh goTo: stateA7.
    stateA7 on: #sigh  goTo: stateA7.


    myLoveForYou := StateMachine withStates: {stateA7}.

    [ myLoveForYou numStates = 1 ] assert.


(in crude English: "my love for you is a state machine with one state.")



Okay, I'm no poet, and everyone is probably wiping the vomit off of
their keyboards now.  :)  Doesn't it seem clear now that computer
languages allow poetry?


Lex



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: poetry in PL's?  (was: Beginner's Language?)
  2001-05-28 19:39                         ` poetry in PL's? (was: Beginner's Language?) Lex Spoon
@ 2001-05-29 13:44                           ` Ted Dennison
  0 siblings, 0 replies; 232+ messages in thread
From: Ted Dennison @ 2001-05-29 13:44 UTC (permalink / raw)


In article <m3k831uuta.fsf_-_@chaos.resnet.gatech.edu>, Lex Spoon says...
>(in crude English: "my love for you is a state machine with one state.")

For some reason, that line never worked for me when I tried it. :-)

>Okay, I'm no poet, and everyone is probably wiping the vomit off of
>their keyboards now.  :)  Doesn't it seem clear now that computer

On the bright side, I think I'm now much better equipped to stand up to Vogon
torture...

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-16 18:19                   ` stephan
  2001-05-21  4:15                     ` Lao Xiao Hai
  2001-05-27 12:59                     ` Alejandro R. Mosteo
@ 2001-05-30 20:26                     ` Florian Weimer
  2001-05-30 21:56                       ` Johan Kullstam
  2 siblings, 1 reply; 232+ messages in thread
From: Florian Weimer @ 2001-05-30 20:26 UTC (permalink / raw)


stephan@pcrm.win.tue.nl () writes:

> COBOL has lots of interesting numerical types, such as fixed-precision
> decimal numbers. Very useful for counting beans.

Well, fixed point decimal numbers are extremely useful, and many
people actually need them.  Just try to implement the ECB currency
conversion guidelines in a language without fixed-point decimal
support, and you'll see what I mean.

Just my EUR .0000010100011110101110000101000111101011100001...



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-28  0:17                       ` Lao Xiao Hai
  2001-05-28 19:39                         ` poetry in PL's? (was: Beginner's Language?) Lex Spoon
@ 2001-05-30 20:34                         ` Florian Weimer
  1 sibling, 0 replies; 232+ messages in thread
From: Florian Weimer @ 2001-05-30 20:34 UTC (permalink / raw)


Lao Xiao Hai <laoxhai@ix.netcom.com> writes:

> Poetry, by its very nature, relies heavily on ambiguity.

Another definition of poetry involves the concept of 'bounded
language' (sorry, I don't know the English translation).  This means
that the poet obeys to certain restrictions (meter, overall and verse
structure, distinguished vocabulary, certain symbols or subjects).

This characterization is necessary if you look at 20th century poetry.
Some works are not ambiguous at all, but really drastic.  Nevertheless,
they are poems.

> Programming, by its very nature relies on lack of ambiguity.  Well,
> of course, that is generally true.  If one is programming in C++,
> ambiguity is part of the fun.

Ada provides ambiguity resolution rules as well (but doesn't go as far
as C++, of course).



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-30 20:26                     ` Florian Weimer
@ 2001-05-30 21:56                       ` Johan Kullstam
  2001-05-31  9:01                         ` Jean-Pierre Rosen
  0 siblings, 1 reply; 232+ messages in thread
From: Johan Kullstam @ 2001-05-30 21:56 UTC (permalink / raw)


Florian Weimer <fw@deneb.enyo.de> writes:

> stephan@pcrm.win.tue.nl () writes:
> 
> > COBOL has lots of interesting numerical types, such as fixed-precision
> > decimal numbers. Very useful for counting beans.
> 
> Well, fixed point decimal numbers are extremely useful, and many
> people actually need them.  Just try to implement the ECB currency
> conversion guidelines in a language without fixed-point decimal
> support, and you'll see what I mean.
> 
> Just my EUR .0000010100011110101110000101000111101011100001...

you can always do fixed point with integers.

for example, to do dollars to two decimal places, just count pennies
instead of dollars.

other than a little notational convenience, i've never understood what
the big deal was with fixed point.

-- 
J o h a n  K u l l s t a m
[kullstam@ne.mediaone.net]
sysengr



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
@ 2001-05-31  0:41 robin
  2001-05-31  4:15 ` Frank A. Adrian
  0 siblings, 1 reply; 232+ messages in thread
From: robin @ 2001-05-31  0:41 UTC (permalink / raw)


Johan Kullstam <kullstam@ne.mediaone.net> writes: > Florian Weimer <fw@deneb.enyo.de> writes:
> 
> > stephan@pcrm.win.tue.nl () writes:
> > 
> > > COBOL has lots of interesting numerical types, such as fixed-precision
> > > decimal numbers. Very useful for counting beans.
> > 
> > Well, fixed point decimal numbers are extremely useful, and many
> > people actually need them.  Just try to implement the ECB currency
> > conversion guidelines in a language without fixed-point decimal
> > support, and you'll see what I mean.
> > 
> > Just my EUR .0000010100011110101110000101000111101011100001...
> 
> you can always do fixed point with integers.

Indeed you can, but the advantage of decimal arithmetic is the range
of values is typically greater than that offered by integer
arithmetic (decimal hardware offers varying field length arithmetic
of from 1 to say, 30 digits).

> for example, to do dollars to two decimal places, just count pennies
> instead of dollars.

That typically allows up to $21,474,836.48, which isn't a large amount.
Even less in Lire (L2,147,483,647 -- L1000 = $1 approx)

> other than a little notational convenience, i've never understood what
> the big deal was with fixed point.
> 
> -- 
> J o h a n  K u l l s t a m
> [kullstam@ne.mediaone.net]
> sysengr




^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-31  0:41 robin
@ 2001-05-31  4:15 ` Frank A. Adrian
  2001-05-31 15:34   ` Wes Groleau
  2001-06-02 13:37   ` Johan Kullstam
  0 siblings, 2 replies; 232+ messages in thread
From: Frank A. Adrian @ 2001-05-31  4:15 UTC (permalink / raw)


"robin" <robin_v@bigpond.nospam.com> wrote in message
news:wqgR6.27659$hV3.44837@newsfeeds.bigpond.com...
> Johan Kullstam <kullstam@ne.mediaone.net> writes: > Florian Weimer
<fw@deneb.enyo.de> writes:
> > you can always do fixed point with integers.
>
> Indeed you can, but the advantage of decimal arithmetic is the range
> of values is typically greater than that offered by integer
> arithmetic (decimal hardware offers varying field length arithmetic
> of from 1 to say, 30 digits).
So?  So does Lisp.

> > for example, to do dollars to two decimal places, just count pennies
> > instead of dollars.
>
> That typically allows up to $21,474,836.48, which isn't a large amount.
> Even less in Lire (L2,147,483,647 -- L1000 = $1 approx)

Not in Lisp.  Arbitrary size integers.  Same with Smalltalk.

> > other than a little notational convenience, i've never understood what
> > the big deal was with fixed point.

Me nether, but then (obviously), we use the right languages.

faa

P.S.  Any language where you can add two positive numbers together and get a
negative number is inherently broken.  It is a sign of the language designer
and compiler writer choosing their own convenience over yours.





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-30 21:56                       ` Johan Kullstam
@ 2001-05-31  9:01                         ` Jean-Pierre Rosen
  2001-05-31 13:29                           ` Raymond Toy
  0 siblings, 1 reply; 232+ messages in thread
From: Jean-Pierre Rosen @ 2001-05-31  9:01 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 998 bytes --]


"Johan Kullstam" <kullstam@ne.mediaone.net> a �crit dans le message news: m3r8x6tsa5.fsf@sysengr.res.ray.com...
> you can always do fixed point with integers.
>
> for example, to do dollars to two decimal places, just count pennies
> instead of dollars.
>
> other than a little notational convenience, i've never understood what
> the big deal was with fixed point.
>
Everything looks simple to people who didn't try to implement it...

Addition and subtraction are easy, but multiplication and division require some care.
If you implement fixed points with integers, you'll end up doing by hand exactly what the compiler does for you, except that the
people who wrote the compiler were educated in computer arithmetic, and believe me, there are lots of pitfalls there.
(Said by someone who did an implementation of fixed point arithmetic).

--
---------------------------------------------------------
           J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-31  9:01                         ` Jean-Pierre Rosen
@ 2001-05-31 13:29                           ` Raymond Toy
  2001-05-31 13:51                             ` Jean-Pierre Rosen
  0 siblings, 1 reply; 232+ messages in thread
From: Raymond Toy @ 2001-05-31 13:29 UTC (permalink / raw)


>>>>> "Jean-Pierre" == Jean-Pierre Rosen <rosen@adalog.fr> writes:

    Jean-Pierre> "Johan Kullstam" <kullstam@ne.mediaone.net> a �crit dans le message news: m3r8x6tsa5.fsf@sysengr.res.ray.com...
    >> you can always do fixed point with integers.
    >> 
    >> for example, to do dollars to two decimal places, just count pennies
    >> instead of dollars.
    >> 
    >> other than a little notational convenience, i've never understood what
    >> the big deal was with fixed point.
    >> 
    Jean-Pierre> Everything looks simple to people who didn't try to implement it...

    Jean-Pierre> Addition and subtraction are easy, but multiplication
    Jean-Pierre> and division require some care.  If you implement
    Jean-Pierre> fixed points with integers, you'll end up doing by
    Jean-Pierre> hand exactly what the compiler does for you, except
    Jean-Pierre> that the people who wrote the compiler were educated
    Jean-Pierre> in computer arithmetic, and believe me, there are
    Jean-Pierre> lots of pitfalls there.  (Said by someone who did an
    Jean-Pierre> implementation of fixed point arithmetic).

Why is multiplication/division much harder?  You pretend the numbers
of integers, do the operation, and then figure out where the fixed
point should be.  That's not too hard.  As a DSP guy working on
fixed-point DSPs, we do this all the time.

Ray



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-31 13:29                           ` Raymond Toy
@ 2001-05-31 13:51                             ` Jean-Pierre Rosen
  0 siblings, 0 replies; 232+ messages in thread
From: Jean-Pierre Rosen @ 2001-05-31 13:51 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1313 bytes --]


"Raymond Toy" <toy@rtp.ericsson.se> a �crit dans le message news: 4npucpsl3r.fsf@rtp.ericsson.se...
> Why is multiplication/division much harder?  You pretend the numbers
> of integers, do the operation, and then figure out where the fixed
> point should be.  That's not too hard.  As a DSP guy working on
> fixed-point DSPs, we do this all the time.
>
Yes, you "just" have to figure out where the fixed point should be.
Note that the result has twice more digits after the point than the original operands. This means that there is some rounding
involved, and of course if you want to meet the numerics annex requirements, this should be done right.

And did you consider the case where operands are of different fixed point types, with different smalls, and the expected result type
is a third fixed point type, or even a floating point type ? And of course, you should consider arbitrary smalls, not just powers of
2... That makes determining the correct rounding of the result more interesting.

Of course, it is doable. Compilers do it all the time. But why bother to reinvent the wheel, when the compiler provides a carefully
tested implementation ?

--
---------------------------------------------------------
           J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-31  4:15 ` Frank A. Adrian
@ 2001-05-31 15:34   ` Wes Groleau
  2001-05-31 19:22     ` David Thornley
  2001-06-02 13:37   ` Johan Kullstam
  1 sibling, 1 reply; 232+ messages in thread
From: Wes Groleau @ 2001-05-31 15:34 UTC (permalink / raw)



> P.S.  Any language where you can add two positive numbers together and get a
> negative number is inherently broken.  It is a sign of the language designer
> and compiler writer choosing their own convenience over yours.

Since Java was not one of the many newsgroups posted to,
I presume it is not the only language with such a stupid
feature?

-- 
Wes Groleau
http://freepages.rootsweb.com/~wgroleau



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-31 15:34   ` Wes Groleau
@ 2001-05-31 19:22     ` David Thornley
  0 siblings, 0 replies; 232+ messages in thread
From: David Thornley @ 2001-05-31 19:22 UTC (permalink / raw)


In article <3B166490.98133E58@ftw.rsc.raytheon.com>,
Wes Groleau  <wwgrol@ftw.rsc.raytheon.com> wrote:
>
>> P.S.  Any language where you can add two positive numbers together and get a
>> negative number is inherently broken.  It is a sign of the language designer
>> and compiler writer choosing their own convenience over yours.
>
>Since Java was not one of the many newsgroups posted to,
>I presume it is not the only language with such a stupid
>feature?
>
It's fairly usual in C.  The C standard leaves the case of
arithmetic overflow in signed types undefined, which means
that the result could be negative, imaginary, text, or armed
with thermonuclear weapons for all the standards care.
Most systems I've used it on will wrap around, so that adding
positive numbers and overflowing the limits will give you
a negative number.

Partly the choice of languages depends on such things as
whether you wish to get the right answer almost immediately
or the wrong one with even greater speed.  I never want
to have to trust intermediate results not to overflow,
which is one of the many reasons I like Common Lisp (in 
which case such overflow yields the right answer at a loss
in speed).

Other interesting behaviors are truncation on the left because
somebody left a 9 off a variable definition in COBOL.  I've
seen that cost thousands of dollars (well, to be honest, the
client being billed probably saw it as a savings of thousands
of dollars).  I've heard of such behavior in PL/I, a language
I have never had the pleasure of working in.

You can also avoid some floating-point errors in Common Lisp
by using rational numbers instead of floating-point.  (/ 1 3)
evaluates to an honest 1/3 rather than a floating-point
approximation.  If (+ (/ 1 3) (/1 3) (/1 3)) doesn't yield
1, your CL system has problems.  Pity about transcendental
functions that have rational values on only a few points of
their range.

--
David H. Thornley                        | If you want my opinion, ask.
david@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-31  4:15 ` Frank A. Adrian
  2001-05-31 15:34   ` Wes Groleau
@ 2001-06-02 13:37   ` Johan Kullstam
  2001-06-02 15:46     ` Frank A. Adrian
  1 sibling, 1 reply; 232+ messages in thread
From: Johan Kullstam @ 2001-06-02 13:37 UTC (permalink / raw)


"Frank A. Adrian" <fadrian@uswest.net> writes:

> P.S.  Any language where you can add two positive numbers together and get a
> negative number is inherently broken.

it depends upon what you mean by "number" and what you mean by
"negative".  sometimes you really do want to work in the ring
Z_{2^32}.  e.g., i often represent angles in terms of 2^32 quanta per
revolution.  when the 32 bit "int" wraps, so does the angle --
exactly as intended.

i agree that it is a pain to have no way to use integers Z, but are
forced to choose among Z_{2^N} for a few ill-defined choices of N.

> It is a sign of the language designer and compiler writer choosing
> their own convenience over yours.

-- 
J o h a n  K u l l s t a m
[kullstam@ne.mediaone.net]
Don't Fear the Penguin!



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-06-02 13:37   ` Johan Kullstam
@ 2001-06-02 15:46     ` Frank A. Adrian
  0 siblings, 0 replies; 232+ messages in thread
From: Frank A. Adrian @ 2001-06-02 15:46 UTC (permalink / raw)


Yes, I was talking about the set of integers.  Most languages call the type
something based on the word integer, leading the user to assume that one is,
in fact, working with an element from that set.  Although you are correct
that it is sometime desirable to work with elements from alternative sets, I
would also think that this is not the norm and that it would be better to
actually declare the variables whose values are taken from these sets as
such and not simply let the user to stumble upon the fact willy-nilly.  One
could also make a case that one should not canonize the size of these
elements, defined by accident of hardware, but instead provide a specific
data-type for any integral sub-ring the user desires.  But then, that would
ask the language designers and compiler writers to actually sweat the
details.

Worse is better may be a model of what is, but it doesn't have to be a model
of what will be...

faa

"Johan Kullstam" <kullstam@ne.mediaone.net> wrote in message
news:m2snhjuhp2.fsf@euler.axel.nom...
> "Frank A. Adrian" <fadrian@uswest.net> writes:
>
> > P.S.  Any language where you can add two positive numbers together and
get a
> > negative number is inherently broken.
>
> it depends upon what you mean by "number" and what you mean by
> "negative".  sometimes you really do want to work in the ring
> Z_{2^32}.  e.g., i often represent angles in terms of 2^32 quanta per
> revolution.  when the 32 bit "int" wraps, so does the angle --
> exactly as intended.
>
> i agree that it is a pain to have no way to use integers Z, but are
> forced to choose among Z_{2^N} for a few ill-defined choices of N.
>
> > It is a sign of the language designer and compiler writer choosing
> > their own convenience over yours.
>
> --
> J o h a n  K u l l s t a m
> [kullstam@ne.mediaone.net]
> Don't Fear the Penguin!
>





^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
  2001-05-27 22:34                 ` Larry Elmore
@ 2001-06-03 21:18                   ` Stefan Skoglund
  0 siblings, 0 replies; 232+ messages in thread
From: Stefan Skoglund @ 2001-06-03 21:18 UTC (permalink / raw)


Larry Elmore wrote:
> It certainly beats the hell out of C/C++, Fortran, Cobol or Basic! Of
> course, you'd teach programming in Lisp with a subset of the language.
> It'd be even more likely to confuse them if you hit them with the full
> complexity of Ada right off the bat (and with all of C++, you'd likely
> scare off 99% of them).

Avoid side-effects and LISP gets much simpler.



^ permalink raw reply	[flat|nested] 232+ messages in thread

* Re: Beginner's Language?
       [not found]                     ` <m37kz1utg9.fsf@chaos.resnet.gatech.edu>
@ 2001-06-05 13:03                       ` Biep @ http://www.biep.org/
  0 siblings, 0 replies; 232+ messages in thread
From: Biep @ http://www.biep.org/ @ 2001-06-05 13:03 UTC (permalink / raw)


Andrew Bromage comments:
> Natural languages are morally neutral.

Jerzy Karczmarczuk wrote:
> What is "morally neutral"??  In natural languages you can LIE!

Matthias Blume <blume@research.bell-labs.com> writes:
> You can lie in most programming languages as well.  (In C it's called
"cast".)

"Lex Spoon" <lex@cc.gatech.edu> wrote in message
news:m37kz1utg9.fsf@chaos.resnet.gatech.edu...
> And if you are implementing a billing program,
> you can have it print out any kind of bills that suit your fancy,
> regardless of what people actually owe you.

> By almost any meaning of "lie", you can do it in programming languages!

But isn't that what "morally neutral" implies?  You can speak the truth,
AND you can lie.
A language that allowed only one of these options would not be neutral..

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







^ permalink raw reply	[flat|nested] 232+ messages in thread

end of thread, other threads:[~2001-06-05 13:03 UTC | newest]

Thread overview: 232+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-04 16:12 Beginner's Language? Faisal Halim
2001-05-04 16:29 ` Marin David Condic
2001-05-04 17:14 ` chris.danx
2001-05-04 22:35 ` Jeffrey Carter
2001-05-05  1:51 ` raj
2001-05-05 14:51   ` Carl E Gundel
2001-05-05 18:12   ` Dodger
2001-05-05 19:06     ` Jochen Schmidt
2001-05-05 22:59       ` Randal L. Schwartz
2001-05-05 23:38         ` Jochen Schmidt
2001-05-08 16:01           ` John English
2001-05-08 18:37             ` Brian Rogoff
2001-05-09 11:31               ` John English
2001-05-09 14:33                 ` Ehud Lamm
2001-05-09 16:40             ` Charles Hixson
2001-05-06  2:19         ` Jeffrey Carter
2001-05-18 23:02       ` glauber
2001-05-05 20:09     ` Jeffrey Carter
2001-05-06  1:50     ` raj
2001-05-06  2:09       ` raj
2001-05-06  2:09       ` raj
2001-05-06 15:49         ` Randal L. Schwartz
2001-05-06 22:37           ` Multiparadigm Languages : (was Beginners Language) raj
2001-05-06 22:50           ` Beginner's Language? raj
2001-05-06 23:13           ` Multiparadigm Languages : (was Beginners Language) raj
2001-05-05 19:49   ` Beginner's Language? Larry Kilgallen
2001-05-05 22:52     ` Reinout Heeck
2001-05-06  0:03       ` Dale Stanbrough
2001-05-06  1:47         ` Reinout Heeck
2001-05-06  3:38           ` Dale Stanbrough
2001-05-06  4:05             ` Reinout Heeck
2001-05-06 10:49               ` SV: " Dan Andersson
2001-05-06 11:42                 ` Reinout Heeck
2001-05-06 13:31                   ` SV: " Dan Andersson
2001-05-06 20:17             ` Dave Harris
2001-05-07 10:41     ` Biep @ http://www.biep.org
2001-05-07 10:57       ` Andrew Cooke
2001-05-09 10:22         ` Biep @ http://www.biep.org/
2001-05-10  5:45           ` Raffael Cavallaro
2001-05-10  9:02           ` Jochen Schmidt
2001-05-07 14:24   ` Marin David Condic
2001-05-07 15:45     ` Friedrich Dominicus
2001-05-09  7:19       ` Espen Vestre
2001-05-09 13:55       ` Marin David Condic
2001-05-09 14:18         ` Ola Rinta-Koski
2001-05-09 15:53           ` Marin David Condic
2001-05-10 17:15           ` David Gillon
2001-05-10 19:50             ` Warren W. Gay VE3WWG
2001-05-10 20:15             ` Marie-No�lle Baechler
2001-05-11  5:29             ` Friedrich Dominicus
2001-05-27 12:59               ` Alejandro R. Mosteo
2001-05-27 22:34                 ` Larry Elmore
2001-06-03 21:18                   ` Stefan Skoglund
2001-05-09 14:53         ` Biep @ http://www.biep.org/
2001-05-09 15:39         ` Friedrich Dominicus
2001-05-09 18:24           ` Andreas Krennmair
2001-05-09 23:01             ` Sashank Varma
2001-05-10  0:01               ` David Starner
2001-05-10  6:10                 ` Mark VandeWettering
2001-05-10  8:08                 ` FM
2001-05-10 15:07                 ` Eugene Zaikonnikov
2001-05-10 20:08                 ` David Thornley
2001-05-16 18:00                 ` Robert Posey
2001-05-16 18:19                   ` stephan
2001-05-21  4:15                     ` Lao Xiao Hai
2001-05-21 11:53                       ` raj
2001-05-23 10:33                         ` Liam Devlin
2001-05-21 21:30                       ` Marie-No�lle Baechler
2001-05-27 12:59                     ` Alejandro R. Mosteo
2001-05-30 20:26                     ` Florian Weimer
2001-05-30 21:56                       ` Johan Kullstam
2001-05-31  9:01                         ` Jean-Pierre Rosen
2001-05-31 13:29                           ` Raymond Toy
2001-05-31 13:51                             ` Jean-Pierre Rosen
2001-05-16 20:44                   ` brlewis
2001-05-21  5:09                   ` vsync
2001-05-10  6:06             ` Mark VandeWettering
2001-05-10  7:57               ` Andrew Bromage
2001-05-10  8:55                 ` Iain McNaughton
2001-05-15  2:02                   ` Rob Warnock
2001-05-15 11:56                     ` Andreas Krennmair
2001-05-15 17:14                       ` FM
2001-05-15 18:08                         ` Andreas Krennmair
2001-05-15 20:37                           ` FM
2001-05-16 17:56                             ` Andreas Krennmair
2001-05-17  3:06                               ` FM
     [not found]                 ` <3AFA5A92.5D4F191C@info.unicaen.fr>
     [not found]                   ` <3AFAD076.C5F31B44@research.bell-labs.com>
     [not found]                     ` <m37kz1utg9.fsf@chaos.resnet.gatech.edu>
2001-06-05 13:03                       ` Biep @ http://www.biep.org/
2001-05-10 13:03               ` John English
2001-05-10 13:44                 ` Michael Livshin
2001-05-16 17:59                   ` Lex Spoon
2001-05-22 14:16                     ` John English
2001-05-22 16:40                       ` Poetry in source code (was: Beginner's Language?) Ted Dennison
2001-05-23 15:24                         ` John English
2001-05-23 17:34                           ` Preben Randhol
2001-05-22 23:31                       ` Beginner's Language? raj
2001-05-23  0:44                       ` Chad R. Meiners
2001-05-28  0:17                       ` Lao Xiao Hai
2001-05-28 19:39                         ` poetry in PL's? (was: Beginner's Language?) Lex Spoon
2001-05-29 13:44                           ` Ted Dennison
2001-05-30 20:34                         ` Beginner's Language? Florian Weimer
2001-05-10  7:28             ` FM
2001-05-10  8:51               ` Jochen Schmidt
2001-05-10 21:32                 ` FM
2001-05-11  0:26                   ` James Rogers
2001-05-12  2:56                 ` FM
2001-05-12 17:06                 ` FM
2001-05-11 15:55               ` Andreas Krennmair
2001-05-11 23:50                 ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) FM
2001-05-12 11:59                   ` raj
2001-05-12 14:17                     ` Andrew Cooke
2001-05-12 17:09                       ` FM
2001-05-12 14:40                     ` Andreas Krennmair
2001-05-13  1:44                       ` raj
2001-05-13  8:28                         ` [OT] Software Engineering at 14 Markus Mottl
2001-05-13 10:41                           ` Mark Wotton
2001-05-13 12:04                             ` Markus Mottl
2001-05-13 12:48                               ` Mark Wotton
2001-05-13 13:05                                 ` Daniel C. Wang
2001-05-13 22:09                           ` FM
2001-05-13 23:44                             ` Markus Mottl
2001-05-12 19:23                     ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Marco Antoniotti
2001-05-12 22:38                     ` [OT] Software Engineering at 14 Markus Mottl
2001-05-13  2:48                     ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Jorn W Janneck
2001-05-13  3:00                       ` raj
2001-05-13  8:59                         ` [OT] Software Engineering at 14 Markus Mottl
2001-05-13 11:38                           ` Karel Thönissen
2001-05-13 12:46                             ` Markus Mottl
2001-05-13 14:29                               ` Karel Thönissen
2001-05-13  9:44                         ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andrew Bromage
2001-05-14  7:21                         ` Jorn W Janneck
2001-05-15 22:53                     ` [OT] Software Engineering at 14 Reini Urban
2001-05-15 23:24                       ` FM
2001-05-12 14:33                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Andreas Krennmair
2001-05-12 20:37                     ` FM
2001-05-12 21:56                       ` Andreas Krennmair
2001-05-12 23:50                         ` FM
2001-05-13  8:02                           ` Andreas Krennmair
2001-05-13 20:55                             ` FM
2001-05-14  9:27                       ` Biep @ http://www.biep.org/
2001-05-13  8:29                     ` thi
2001-05-12 17:20                   ` [OT] Software Engineering at 14 Markus Mottl
2001-05-13 20:15                   ` [OT] Software Engineering at 14 (was: Re: Beginner's Language?) Peter Schuller
2001-05-13 21:54                     ` FM
2001-05-14  4:42                       ` Peter Schuller
2001-05-14  6:21                         ` FM
2001-05-14 18:37                           ` Peter Schuller
2001-05-14 21:18                             ` FM
2001-05-14 22:45                               ` Peter Schuller
2001-05-15  7:49                             ` David Rush
2001-05-15 19:29                               ` Peter Schuller
2001-05-17 15:21                                 ` David Rush
2001-05-17 23:19                                   ` Peter Schuller
2001-05-18  9:50                                     ` Biep @ http://www.biep.org/
2001-05-14  6:30                         ` Peter Schuller
2001-05-14 12:21                         ` James A. Robertson
2001-05-14 10:15                     ` Biep @ http://www.biep.org/
2001-05-15  9:19                 ` Beginner's Language? Siegfried Gonzi
2001-05-15  9:47                   ` Preben Randhol
2001-05-15 12:06                   ` Andreas Krennmair
2001-05-10  8:11             ` Friedrich Dominicus
2001-05-10 11:09             ` Markus Mottl
2001-05-10 14:44             ` Eugene Zaikonnikov
2001-05-10 15:34             ` ssthapa
2001-05-14 19:58             ` Johan Kullstam
2001-05-14 20:14               ` Matthias Blume
2001-05-16 16:16                 ` J�rgen Exner
2001-05-16 20:49                   ` Matthias Blume
2001-05-17  0:22                     ` Boris Smilga
2001-05-17  1:29                     ` a
2001-05-17  3:07                       ` FM
2001-05-17 13:56                       ` Matthias Blume
2001-05-17 17:54                         ` J�rgen Exner
2001-05-09 22:56         ` David Thornley
2001-05-10  9:16           ` Ola Rinta-Koski
2001-05-10 20:17             ` David Thornley
2001-05-10  5:53         ` Mark VandeWettering
2001-05-10  9:22         ` Francis Leboutte
2001-05-10 15:13         ` Georg Bauhaus
2001-05-10 16:49           ` Jochen Schmidt
2001-05-10 17:04             ` Friedrich Dominicus
2001-05-11  7:34           ` Ola Rinta-Koski
2001-05-11 14:47             ` Georg Bauhaus
2001-05-10 15:17         ` brlewis
2001-05-08  0:15     ` Dodger
2001-05-16 16:55       ` Lex Spoon
2001-05-16 17:42         ` Markus Kliegl
2001-05-19 14:24           ` Lex Spoon
2001-05-08  7:11     ` Tarjei T. Jensen
2001-05-08  7:23       ` ronald schroder
2001-05-16 17:53         ` Lex Spoon
2001-05-17  0:54           ` Tim May
2001-05-17  1:15             ` Gary Scott
2001-05-17  7:20               ` Tom Lake
2001-05-19 14:40                 ` Lex Spoon
2001-05-17  8:20           ` Biep @ http://www.biep.org/
2001-05-17 12:43             ` illya
2001-05-08 13:38       ` Marin David Condic
2001-05-08 23:46         ` Beginner's Ide raj
2001-05-09 14:00           ` Marin David Condic
2001-05-09 14:36             ` chris.danx
2001-05-09 19:09               ` Charles Hixson
2001-05-09 19:06           ` Charles Hixson
2001-05-10  6:20             ` Pascal Obry
2001-05-10 15:31               ` Charles Hixson
2001-05-10 16:12                 ` James Rogers
2001-05-10 16:01             ` Stephen Leake
2001-05-11  1:54               ` Retraction : ( Was: Beginner's Ide) raj
2001-05-11 11:44               ` Beginner's Ide Georg Bauhaus
2001-05-11 21:30                 ` Stephen Leake
2001-05-12 17:15                   ` Simon Wright
2001-05-09  5:32     ` Beginner's Language? Simon Wright
2001-05-10 21:50       ` Gary Scott
2001-05-11  2:14       ` raj
2001-05-10  8:02   ` OZ as a beginners' banguage? Biep @ http://www.biep.org/
2001-05-10  8:06     ` Andrew Cooke
2001-05-11 11:13     ` Torbjörn Lager
2001-05-05  6:23 ` Beginner's Language? Gerhard Häring
2001-05-05  9:06   ` David Starner
2001-05-05 11:05     ` chris.danx
2001-05-05 22:12       ` Nacho Robledo
2001-05-06 13:14     ` Florian Weimer
2001-05-06 19:15       ` David Starner
2001-05-06 15:17 ` DuckE
2001-05-06 20:58 ` Frank
2001-05-06 21:12 ` Kenneth Almquist
  -- strict thread matches above, loose matches on Subject: below --
2001-05-10  4:35 yamir
2001-05-31  0:41 robin
2001-05-31  4:15 ` Frank A. Adrian
2001-05-31 15:34   ` Wes Groleau
2001-05-31 19:22     ` David Thornley
2001-06-02 13:37   ` Johan Kullstam
2001-06-02 15:46     ` Frank A. Adrian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox