comp.lang.ada
 help / color / mirror / Atom feed
* Re: No top schools use Ada
  1995-04-19  0:00 ` No top schools use Ada Kenneth Almquist
@ 1995-04-18  0:00   ` cjames
  1995-04-19  0:00     ` Kenneth Almquist
  0 siblings, 1 reply; 37+ messages in thread
From: cjames @ 1995-04-18  0:00 UTC (permalink / raw)



In article <D79HGD.Bo0@nntpa.cb.att.com>, <ka@socrates.hr.att.com> writes:
> Newsgroups: comp.lang.ada
> Path: 
nsgate.envisionet.net!news.sprintlink.net!howland.reston.ans.net!news.moneng.mei.c
om!uwm.edu!fnnews.fnal.gov!gw1.att.com!gw2.att.com!nntpa!not-for-mail
> From: ka@socrates.hr.att.com (Kenneth Almquist)
> Subject: Re: No top schools use Ada
> Message-ID: <D79HGD.Bo0@nntpa.cb.att.com>
> Sender: news@nntpa.cb.att.com (Netnews Administration)
> Nntp-Posting-Host: socrates.hr.att.com
> Organization: AT&T
> References: <3mq0jd$r10@kaiwan009.kaiwan.com>
> Date: Wed, 19 Apr 1995 02:55:25 GMT
> Lines: 16
> 
> jmartin@kaiwan009.kaiwan.com (Jay M Martin) writes:
> > Lets look at which languages the top CS department use for their first
> > class:
> 
> According to the full list (summarized by Richard Pattis in comp.edu),
> the most widely used language for CS1 is Pascal (36%).  Ada is in second
> place with 17.5%, C is fifth with 8.6%, and C++ is sixth with 6.5%.  The
> fact that none of the nine schools listed by Jay Martin use Ada for their
> first class is not statisticly significant.
> 
> The use of C, however, is statisticly significant (P <= 0.05, barely).
> If one wants to try to read anything into this preference for C, it is
> important to keep in mind that the CS departments listed by Jay Martin are
> the ones with top ranked *graduate* programs.  Graduate program rankings
> mainly reflect the quality of the research done at the department.
> 				Kenneth Almquist
> 

Any discussion of statistical significance here is meaningless without stating the 
number of subjects of interest, ie, the Sample Size.





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

* Re: No top schools use Ada
       [not found]   ` <NEWTNews.19974.798127420.cjames@cec-services-01>
@ 1995-04-18  0:00     ` Jay M Martin
  1995-04-20  0:00     ` Vladimir Vukicevic
  1995-04-20  0:00     ` Norman H. Cohen
  2 siblings, 0 replies; 37+ messages in thread
From: Jay M Martin @ 1995-04-18  0:00 UTC (permalink / raw)


> Kevin V. Sobilo
> Sorry, but can you substantiate the fact that these are "TOP" schools???
> MIT, obviously has a reputation for RESEARCH, but I don't know of
> any strength in Software Engineering which is the center of this
> issue.

 1 Scheme    Massachusetts Institute of Technology
 1 C         Stanford University 
 1 Scheme    University of California, Berkeley
 1 C++       Carnegie Mellon University  (Corrected)
 5 Pascal    Cornell
 6 Scheme    University of Illinois,Urb
 7 C         University of Washington
 8 Pascal    University of Texas, Austin
 8 Pascal    University of Wisconsin, Madison (2/3-term Pascal, 1/3-term C)

Top 9 CS departments ranked in last months US News and World Report.

>Colin James:
>I don't see academics from Harvard, Yale, Stanford, Princeton, MIT, 
>CalTech, Rice, Monash University (AU), Dartmouth College, or any school
>I omit from ignorance which is ACTIVELY engaged here in any fruitful 
>discussions whatsoever.
>Could it be that this news group is either trivial or that those academics 
>are too busy doing things that matter to even care ?  ...
>This newgroup is not worthy of any outside respect, and, by in large, 
>it shows it.  By contrast, read other comp.lang newsgroups where the
>discussion actually proves something. 

What comp.* newsgroups has all the MIT/Stanford/CMU/Berkeley
professors contributing, I want to go read it!!!  Sure comp.lang.C++
has Stroustrup, but he is a "wild and crazy guy" because he is only
one of the few eminent Computer Scientists who lowers himself down to
actually press the electronic flesh with the masses (and we benefit
and are grateful for it!).   I just don't see many prominent
academics wasting their time with internet news.  Heh, posting
news and 50 cents will get you a cup of coffee! 

> too busy doing things that matter to care?
Well, more like doing theoretical masturbation, but thats close enough.
They got lots of other stuff to do (in order Letterman style ) besides
posting in comp.lang.ada:

1000 : Thinking of how Computer Science could actually benefit 
       industry/mankind.
  ...
   6 : Doing Research
   5 : Teaching undergrad students
   4 : Hand-holding Grad Students
   3 : Getting that paper out before the deadline.
   2 : Milking those Ol funding sources and managing that money.

 And the #1 time consumer for professors is!:

   1 : Machiavellian departmental politics!


Personally, I think this newsgroup (comp.lang.ada) is pretty good.   

Jay




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

* Re: No top schools use Ada
  1995-04-18  0:00   ` cjames
@ 1995-04-19  0:00     ` Kenneth Almquist
  0 siblings, 0 replies; 37+ messages in thread
From: Kenneth Almquist @ 1995-04-19  0:00 UTC (permalink / raw)


I wrote:
>> The use of C, however, is statisticly significant (P <= 0.05, barely).

It appears that CMU uses C++ rather than C.  Statistical significance goes
out the window.

> Any discussion of statistical significance here is meaningless without
> stating the number of subjects of interest, ie, the Sample Size.

That's why I was careful to write:
>> The fact that none of the nine schools listed by Jay Martin use Ada...
                             ^^^^
					Kenneth Almquist




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

* Re: No top schools use Ada
       [not found] ` <D759Az.GHM@cs.fredonia.edu>
  1995-04-19  0:00   ` No top schools use Ada Michael Sperber [Mr. Preprocessor]
@ 1995-04-19  0:00   ` Ian S Nelson
  1995-04-19  0:00     ` Robert Dewar
  1995-04-19  0:00     ` Robert Dewar
       [not found]   ` <NEWTNews.19974.798127420.cjames@cec-services-01>
  1995-04-22  0:00   ` Chris Morgan
  3 siblings, 2 replies; 37+ messages in thread
From: Ian S Nelson @ 1995-04-19  0:00 UTC (permalink / raw)


Excerpts from netnews.comp.lang.ada: 16-Apr-95 Re: No top schools use
Ada by Robert Dewar@cs.nyu.edu 
> Following up on Kevin's comment, yes indeed, it would be interesting to
> see an argument that teaching scheme is a valid way to introduce people
> to what software engineering is all about.

I think it would also be interesting to see an argument that teaching
ada is a valid was to introduce people to _computer science_
CS and SE are different you know.  I better topic would be to see what
the top SE schools teach in their first SE classes.
--
Ian S. Nelson  <bonovox@cmu.edu>                  finger for PGP key
Carnegie Mellon Computer Science/Math    
Home Page:http://www.contrib.andrew.cmu.edu/usr/in22/ian.html
My opinions are not the school's, although they should be!





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

* Re: No top schools use Ada
  1995-04-19  0:00   ` Ian S Nelson
  1995-04-19  0:00     ` Robert Dewar
@ 1995-04-19  0:00     ` Robert Dewar
  1995-04-20  0:00       ` First Language Debate etc Deepak Kumar
  1995-04-20  0:00       ` No top schools use Ada Brian Hanson
  1 sibling, 2 replies; 37+ messages in thread
From: Robert Dewar @ 1995-04-19  0:00 UTC (permalink / raw)


Regarding using Ada to teach computer science

 this actually works very well, I am teaching the equivalent of CS2 (i.e.
 data structures and algorithms), and there are lots of advantages, most
 notably the completely checked environment of Ada, over say C or C++.

 I can't see *any* advantage in using C++ over Ada 95 in teaching computer
 science or SE -- can you really make a case for that? Usually the choice
 is based simply on commercial popularity rather than any pedagogical
 argument (that is in those few cases where the people arguing know both
 languages well).

 Scheme is a different issue: to me it is limiting to live only in the
 functional world. For example, today I was presenting heapsort. The
 essence of this algorithm is the in place tree mapping, that's what
 makes the algorithm interesting.

 Same thing with quicksort. I have actually seen people teaching in a
 functional style and presenting a two way division sort as quicksort,
 missing the most interesting part of the algorithm, which is the
 in place partitioning.

 Yes, I know you can model this functionally, but it seems confusing to
 me to do this.

P.S. I plead guilty to subversive activities in my course, like trying
to teach students about abstraction, reuse and modularity. Hopefully
this will not *too* seriously warp their capability to do good work in
computer science.





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

* Re: No top schools use Ada
  1995-04-19  0:00   ` Ian S Nelson
@ 1995-04-19  0:00     ` Robert Dewar
  1995-04-19  0:00     ` Robert Dewar
  1 sibling, 0 replies; 37+ messages in thread
From: Robert Dewar @ 1995-04-19  0:00 UTC (permalink / raw)


In an earlier note, I commented in response to the observation that CS and
SE are different, that I hoped that these splendid computer science schools
are sure to let their students and their students' prosepective employers
become aware of this important difference. We would not want students to
go to such schools thinking they would be competent programmers at the 
end, or for employers to make the mistake of thinking that their graduates
might be able to build software systems :-)





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

* Re: No top schools use Ada
       [not found] <3mq0jd$r10@kaiwan009.kaiwan.com>
@ 1995-04-19  0:00 ` Kenneth Almquist
  1995-04-18  0:00   ` cjames
       [not found] ` <3n10sv$i97@gopher.cs.uofs.edu>
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 37+ messages in thread
From: Kenneth Almquist @ 1995-04-19  0:00 UTC (permalink / raw)


jmartin@kaiwan009.kaiwan.com (Jay M Martin) writes:
> Lets look at which languages the top CS department use for their first
> class:

According to the full list (summarized by Richard Pattis in comp.edu),
the most widely used language for CS1 is Pascal (36%).  Ada is in second
place with 17.5%, C is fifth with 8.6%, and C++ is sixth with 6.5%.  The
fact that none of the nine schools listed by Jay Martin use Ada for their
first class is not statisticly significant.

The use of C, however, is statisticly significant (P <= 0.05, barely).
If one wants to try to read anything into this preference for C, it is
important to keep in mind that the CS departments listed by Jay Martin are
the ones with top ranked *graduate* programs.  Graduate program rankings
mainly reflect the quality of the research done at the department.
				Kenneth Almquist




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

* Re: No top schools use Ada
       [not found] ` <D759Az.GHM@cs.fredonia.edu>
@ 1995-04-19  0:00   ` Michael Sperber [Mr. Preprocessor]
  1995-04-19  0:00   ` Ian S Nelson
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 37+ messages in thread
From: Michael Sperber [Mr. Preprocessor] @ 1995-04-19  0:00 UTC (permalink / raw)


>>>>> "Robert" == Robert P Goldman <goldman@src.honeywell.com> writes:

Robert> [ ... ]

Robert> But I'm curious --- and let me just offer the futile wish that I can
Robert> do this without starting a religious war --- given the situation in
Robert> the languages world now, are there reasons aside from textbook,
Robert> etc. (that are peripheral to the language itself) for using Scheme
Robert> over ML as an intro programming language?

I regularly hack in both Scheme and SML.  SML has - as both a teaching
and, in some instances, as a programming language - some serious
shortcomings, IMHO:

- parametric polymorphism is great, but heavy on newbies

- type inference often separates the location of the cause of a typing
  bug, and the location of an error message which makes often it hard
  for newbies (and for me ...) to see what caused an error

- SML semantics has some quirks which are almost impossible to grok if
  you don't have a formal background already (such as the
  much-discussed problem with val ... and ...)

Having said that, Scheme is a much more lightweight language which
does not sick as much baggage about syntax, a typing system, currying
etc. on the student.  Admittedly, it's got serious shortcomings as a
development language.  However, everyone who knows Scheme, has, in my
experience, very little trouble dealing with SML.


-- 
Cheers =8-} Chipsy




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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
       [not found]     ` <tomkwongD76x5L.AED@netcom.com>
@ 1995-04-19  0:00       ` Theodore Dennison
  1995-04-19  0:00         ` Theodore Dennison
                           ` (4 more replies)
  0 siblings, 5 replies; 37+ messages in thread
From: Theodore Dennison @ 1995-04-19  0:00 UTC (permalink / raw)


tomkwong@netcom.com (Thomas Kwong) wrote:
>University of California, Santa Barbara:
>
>  In the programming languages class, it used Ada, Eiffel, and Miranda.


Miranda????
Languages are kind of a hobby with me, but I have NEVER heard of that
one. 

(slight net pause)

Yahoo has never heard of it, either.

T.E.D. (strucutred programming bigot)





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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-19  0:00       ` Theodore Dennison
@ 1995-04-19  0:00         ` Theodore Dennison
  1995-04-19  0:00           ` Scott Wheeler
  1995-04-21  0:00           ` Scott Wheeler
  1995-04-19  0:00         ` Robert Dewar
                           ` (3 subsequent siblings)
  4 siblings, 2 replies; 37+ messages in thread
From: Theodore Dennison @ 1995-04-19  0:00 UTC (permalink / raw)


Theodore Dennison <dennison@escmail.orl.mmc.com> wrote:
>tomkwong@netcom.com (Thomas Kwong) wrote:
>>University of California, Santa Barbara:
>>
>>  In the programming languages class, it used Ada, Eiffel, and Miranda.
>
>
>Miranda????
>Languages are kind of a hobby with me, but I have NEVER heard of that
>one. 
>
>(slight net pause)
>
>Yahoo has never heard of it, either.
>

(longer net pause)

..but the omnipotent computing dictionary at http://wombat.doc.ic.ac.uk/
has heard of it.

T.E.D. (structured programming bigot)

references -
http://wombat.doc.ic.ac.uk/?miranda

p.s. - Don't you just hate losers who reply to their own posts?





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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-19  0:00       ` Theodore Dennison
  1995-04-19  0:00         ` Theodore Dennison
@ 1995-04-19  0:00         ` Robert Dewar
  1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was Geert Bosch
                           ` (2 subsequent siblings)
  4 siblings, 0 replies; 37+ messages in thread
From: Robert Dewar @ 1995-04-19  0:00 UTC (permalink / raw)


Miranda is Turner's language, it is fully functional with lazy evaluation,
and is probably most significant for having inspired a lot of the thoughts
behind Haskel.





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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-19  0:00         ` Theodore Dennison
@ 1995-04-19  0:00           ` Scott Wheeler
  1995-04-20  0:00             ` Robert Dewar
  1995-04-21  0:00           ` Scott Wheeler
  1 sibling, 1 reply; 37+ messages in thread
From: Scott Wheeler @ 1995-04-19  0:00 UTC (permalink / raw)


In Article <3n35ja$6u3@theopolis.orl.mmc.com> Theodore Dennison  
writes:
>>Miranda????
>>Languages are kind of a hobby with me, but I have NEVER heard of that
>>one [Miranda].

Obscure functional language, as you know now. I had to interview 
someone yesterday, who's CS course had used only Miranda, Modula-2 and 
Oberon (Imperial College, London). I think it's an excellent idea to 
teach using some of these languages (I'm quite keen on Eiffel myself), 
but we wouldn't even have considered employing him if he hadn't learnt 
C under his own steam.

Diverging a little from the subject, could I also put in a plea for 
anyone designing CS courses to include a little time (couple of days) 
on the underlying machine representations? Three times now, I've had CS 
graduates or doctors complaining that their compilers are broken, and 
found that they were comparing floating point numbers for equality.

Scott




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

* Re: No top schools use Ada
       [not found] ` <3n10sv$i97@gopher.cs.uofs.edu>
@ 1995-04-19  0:00   ` Fernando Mato Mira
  0 siblings, 0 replies; 37+ messages in thread
From: Fernando Mato Mira @ 1995-04-19  0:00 UTC (permalink / raw)


In article <3n10sv$i97@gopher.cs.uofs.edu>, beidler@guinness.cs.uofs.edu (Jack Beidler) writes:

> And in how many of those "top schools" is the course taught by
> grad. assistants? 
Hm. There are some _undergrad_ students that know more than some professors..

> So, what do you expect, hacking in C, not
> how to program!  

Using C for this in a `programmer factory' would be normal,
but at a _university_, it is really perverted..

-- 
F.D. Mato Mira           http://ligwww.epfl.ch/matomira.html                  
Computer Graphics Lab    matomira@epfl.ch 
EPFL                     FAX: +41 (21) 693-5328















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

* Which first-course languages? (was: What schools use Eiffel (was
  1995-04-19  0:00       ` Theodore Dennison
  1995-04-19  0:00         ` Theodore Dennison
  1995-04-19  0:00         ` Robert Dewar
@ 1995-04-20  0:00         ` Geert Bosch
  1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Robert Johnson
  1995-04-21  0:00         ` Des Kenny
  4 siblings, 0 replies; 37+ messages in thread
From: Geert Bosch @ 1995-04-20  0:00 UTC (permalink / raw)


dennison@escmail.orl.mmc.com wrote in a message to All:

>  In the programming languages class, it used Ada, Eiffel, and Miranda.

 de> Miranda????
The university I'm student of (University of Twente, The Netherlands) also
teaches Miranda as first-course language. Miranda is a functional programming
language, ie. a language without an assignment statement.

There are advantages of Miranda over Pascal, when teaching in a first-year
course. One of the biggest, IMHO, is that (unlike Pascal and C/C++) nobody
knows the language already, when they start studying CS. When I was in my
first year, we still learned Pascal, and the differences between people that
had never programmed a computer before, and people who had written thousands
of lines of Pascal code was huge.

The students already knowing Pascal (I was one of them) found the course to
be to easy, even boring sometimes, and people who didn't know anything about
programming languages already couldn't catch up. It also turned out that the
people who already had programming experience often came into trouble later
on, when courses became harder and when they didn't have an advantage
compared to other students.

Since our first year is also meant as a selection mechanism, to filter out
bad students quickly, Miranda is a much better language to teach in the first
year as Pascal, C or something similar to these.

Because Miranda is not a procedural language but a functional language, good
knowledge of mathematics is much more important. The gap between presenting
an algorithm and proving it's right al also much smaller. It turns out that
single-minded students who think they already know everything about
programming because they've been hacking too long, often have huge problems
mastering Miranda, because they try to learn it as a procedural language, and
because their mathematic skills aren't on the same level as their hacking
skills. Many of the hackers don't understand the fact that it's possible to
pass a list of all odd integers as a parameter to a function, for example.
You can tell them about lazy evaluation which whill only actually compute the
odd integers which are needed for output but they find that scary and try to
avoid it. 

It's good to see that bright students with a good understanding of
mathematics but don't have any programming experience at all, often leave the
'hackers' in the dust, when the first excercises have to be made. The first
group starts writing some rough outline on paper, and the second group runs
to the computer immediately.



Groetjes, Geert 





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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-19  0:00       ` Theodore Dennison
                           ` (2 preceding siblings ...)
  1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was Geert Bosch
@ 1995-04-20  0:00         ` Robert Johnson
  1995-04-20  0:00           ` Robert Dewar
  1995-04-21  0:00         ` Des Kenny
  4 siblings, 1 reply; 37+ messages in thread
From: Robert Johnson @ 1995-04-20  0:00 UTC (permalink / raw)


Theodore Dennison (dennison@escmail.orl.mmc.com) wrote:

: Miranda????
: Languages are kind of a hobby with me, but I have NEVER heard of that
: one. 
: T.E.D. (strucutred programming bigot)

Obviously, you are not in the main stream of Computer Science.

	Robert
-- 
Robert O. Johnson		Runners do it in the Street
Gahanna, Ohio  43230-0011
USA




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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Robert Johnson
@ 1995-04-20  0:00           ` Robert Dewar
  0 siblings, 0 replies; 37+ messages in thread
From: Robert Dewar @ 1995-04-20  0:00 UTC (permalink / raw)


Robert Johnson says (without smileys):

": Miranda????
: Languages are kind of a hobby with me, but I have NEVER heard of that
: one.
: T.E.D. (strucutred programming bigot)

Obviously, you are not in the main stream of Computer Science.

        Robert"

I don't think that's fair. Miranda has had very narrow use and circulation,
mostly because Turner decided to make it highly proprietary and try to make
money out of it. At one point he was threatening to sue people who he
thought were misappropriating his IPR's.

Fine he's entitled, given the state of IPR law, but the consequence is that
the language did not get much exposure.

I would not even bother mentioning Miranda to students, except perhaps as
a historical note. Today, Haskel is the appropriate inheritor of the
(valuable) ideas in Miranda -- primarily the dedication to true
referential transparency, with the full lazy evaluation semantics that
such dedication requires.





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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-19  0:00           ` Scott Wheeler
@ 1995-04-20  0:00             ` Robert Dewar
  1995-04-21  0:00               ` Jeremiah S Patterson
  0 siblings, 1 reply; 37+ messages in thread
From: Robert Dewar @ 1995-04-20  0:00 UTC (permalink / raw)



"found that they were comparing floating-point numbers for equality"

it is a common myth that this is a bad programming practice. In fact many
numerical algorithms involve perfectly legitimate tests for equality if
they know that they are running on reasonable floating-point hardware.
For example, a Newton-Raphson iteration for square root will converge
exactly on almost any reasonable fpt hardware.

It is perhaps a safe rule for people using floating-point who don't know
what they are doing (a common case), to avoid comparing fpt numbers for
equality, but please let's make sure that we don't end up with idiotic
rules that forbid this critically useful operation (IEEE fpt includes
equality for a reason, indeed all the operations defined by 754 are
useful, you should hestitate before declarting them useless).

So, while I am all in favor of an undergraduate curriculum including
discussion of underlying architectures in some considerable details
(including interrupts, registers, caches, data representation etc.)
I sure hope that a course in this area does not pass on the incorrect
advice to never compare fpt for equality.





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

* First Language Debate etc.
  1995-04-19  0:00     ` Robert Dewar
@ 1995-04-20  0:00       ` Deepak Kumar
  1995-04-20  0:00         ` Robert Dewar
  1995-04-20  0:00       ` No top schools use Ada Brian Hanson
  1 sibling, 1 reply; 37+ messages in thread
From: Deepak Kumar @ 1995-04-20  0:00 UTC (permalink / raw)


Here are few points I would like to make in this debate:

1) With regards to CS1 the choice of a programming environment is as
   important as the language.

   For instance, I haven't seen anything close to Semantec's THINK Pascal
   environment for either C++, Ada, SML, Miranda, and fill your favorite
   new language here. Before someone refers me to Semantec/Metrowerks C++
   products, let me say that I have evaluated them both and they do not
   come close. Semantec's is better than Metrowerks Codewarrior. The latter
   are more obsessed with the fact that their compilers produce efficient
   PowerPC code and think that that is enough reason for the world to kneel
   and proclaim "we're not worthy".

   But seriously, one has to really take the programming environment into
   account. The added factor (at least for me) is how well some of the native
   hardware facilities are integrated into the language. In the case of
   THINK PASCAL all the QuickDraw graphics, mouse, and sound capabilities are
   accessible through convenient library routines. This adds a significant
   pedagogical aspect to the teaching of CS1.

2) Somehow, the push towards C++ seems to be motivated more by "industry"
   pressures than anything else. If the industry is content with hiring C++
   programmers rather than computer scientists the schools ought to follow
   suit...produce C++ programmers. What a concept!

   CS1 is only an introduction to Computer Problem Solving/Computer Science.
   A typical CS curriculum requires upwards of 11 other CS courses, about
   at least 7 of which have a serious programming component in them. In other
   words, there is ample time to learn what employers want.

3) Then there is the issue of using non-procedural programming languages
   for CS1. This is a luxury schools with large programs can afford. It is
   claimed that, in the long run, it produces better computer scienctists.
   The jury is still out on this.

   Personally, this still suffers from point 1 above, lack of a decent
   environment that is affordable by ALL. The real-world is still mostly
   procedural...

   I personally am of the opinion that there ought to be a follow up course
   to CS1 (the procedural version) that introduces computer problem solving
   in other paradigms...enter SML, Miranda, Haskell, Prolog, SmallTalk,
   Eiffel, etc. I have created such a course (see a related paper by following
   http://www.brynmawr.edu/~dkumar/) and am in the process of writing a text
   for it. I am also planning a panel discussion on this at the next ACM/CSC
   (interested people, please contact me).

4) What about Ada? I would like to use Ada in CS1, but it also suffers
   from point 1 above :-( no decent programming environment for CS1.
   I will be using Ada in CS2 (using the SUN Ada Compiler and possible
   GNAT, when we get to the Ada95 parts). Will share experiences when we
   get there.

5) This semester I taught Ada as well as C++ in the Programming Language
   Concepts class....reactions were mixed, some wouldn't have anything to
   do with Ada, some loved it. Personally, I an neutral to both. I like aspects
   of both.

6) Then there is also the issue of textbooks....

Anyway, if you read all this, thanks!, and please write back or contribute
to this discussion...we have had several throwbacks on Ada and its use
in the industry, as if that was the only way to promote the language
in education. I could care less whether school-A, ranked in the top-X,
uses language-Y unless there is a discussion of the factors than went into
the decision making process.

Deepak.


-- 
Deepak Kumar
Department of Mathematics & Computer Science
Bryn Mawr College
Bryn Mawr, PA 19010




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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
       [not found] <3mq0jd$r10@kaiwan009.kaiwan.com>
  1995-04-19  0:00 ` No top schools use Ada Kenneth Almquist
       [not found] ` <3n10sv$i97@gopher.cs.uofs.edu>
@ 1995-04-20  0:00 ` Spencer Allain
  1995-04-20  0:00   ` Scott Wheeler
  1995-04-21  0:00   ` Neil Wilson
       [not found] ` <NEWTNews.27781.798049024.ir001168@cec-services-01>
                   ` (2 subsequent siblings)
  5 siblings, 2 replies; 37+ messages in thread
From: Spencer Allain @ 1995-04-20  0:00 UTC (permalink / raw)


In article <jyaxda@bmtech.demon.co.uk> scottw@bmtech.demon.co.uk (Scott Wheeler) writes:

   In Article <3n35ja$6u3@theopolis.orl.mmc.com> Theodore Dennison  
   writes:
   >>Miranda????
   >>Languages are kind of a hobby with me, but I have NEVER heard of that
   >>one [Miranda].

   Obscure functional language, as you know now. I had to interview 
   someone yesterday, who's CS course had used only Miranda, Modula-2 and 
   Oberon (Imperial College, London). I think it's an excellent idea to 
   teach using some of these languages (I'm quite keen on Eiffel myself), 
   but we wouldn't even have considered employing him if he hadn't learnt 
   C under his own steam.

   Diverging a little from the subject, could I also put in a plea for 
   anyone designing CS courses to include a little time (couple of days) 
   on the underlying machine representations? Three times now, I've had CS 
   graduates or doctors complaining that their compilers are broken, and 
   found that they were comparing floating point numbers for equality.

   Scott


Ok, so maybe I'm going to get flamed for this, but as a student who used
Modula-2 for all the "real" projects in college, and only took C so I
could learn its disgusting syntax just in case some employer wouldn't
even had considered me without "C knowledge", I have to make a statement.

This is not a personal attack on Scott Wheeler, I don't know him and I hold
no grudge against him, I just want to point out a few things that irk me
about industry.

I'm hoping that the only reason for the statement

   but we wouldn't even have considered employing him if he hadn't learnt 
   C under his own steam.

was because the job involved real-time systems where every millisecond
counts or the company didn't want to invest a couple of weeks teaching
a new person the syntax of a particular language.

This is where the comments about C being fundamentally different than
other languages start getting flung around.  I learned all I needed to
about C _before_ I even took the course in it.  I had taken Assembly
Programming previously, and everyone knows that C was just supposed
to be a "portable" assembly, and it does that pretty well, if you
don't mind abusing the pre-processor.

It is possible to do almost everything in Modula-2 that you can in C.
I don't know the specifics of what you can't do, but they are very
minimal.  Of course, Modula-2 was never ported to many systems, and is
probably the main reason as to why it never flew.  I'm not trying to
say that C is evil, just that companies that hire strictly on the
basis of knowledge of C are just looking to shoot themselves in the
foot.

Actually, anyone who enjoys working with Eiffel, should be thankful for
Modula-2 as many of the concepts came from there, not C.

I'm sure that I've sown the seeds for a language war, but I hope they
never grow.  I don't hate C, or love Modula-2 for that matter.  For
different tasks, one or the other is superior, but I just despise
the thought of companies that believe one language is the end-it-all
and won't even consider hiring people if they don't know it.

Personally, I've found that individuals who have a background in many
languages (ie. different types of thinking) are generally "better"
programmers.  They may not be able to optimize a loop as well as a
hacker who really knows one language, but they often find a way to
remove the loop completely by using a different concept.

I've said too much already, and I apologize to whomever actually read
this far.  This has little to do with comp.lang.{eiffel,ada} and
barely anything to do with comp.edu (too bad I don't get comp.edu), but
it had to be said.

If you have any flames, please send them to me <spencer@era.com>.
Constructive criticism should be the only thing reposted to the net.

-Spencer Allain
Software Engineer
Engineering Research Associates
Vienna, VA  22182




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

* Re: No top schools use Ada
       [not found]   ` <NEWTNews.19974.798127420.cjames@cec-services-01>
  1995-04-18  0:00     ` Jay M Martin
  1995-04-20  0:00     ` Vladimir Vukicevic
@ 1995-04-20  0:00     ` Norman H. Cohen
  1995-04-20  0:00       ` cjames
  2 siblings, 1 reply; 37+ messages in thread
From: Norman H. Cohen @ 1995-04-20  0:00 UTC (permalink / raw)


In article <NEWTNews.19974.798127420.cjames@cec-services-01>,
cjames@envisionet.net writes: 

|> This newgroup is not worthy of any outside respect, and, by in large,
|> it shows it.

Then clearly it is not worthy of your valuable time.

We understand why we will no longer be able to enjoy your carefully
reasoned and dispassionate analyses, but we will miss you.

Good luck in your future endeavors.

--
Norman H. Cohen    ncohen@watson.ibm.com




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

* Re: No top schools use Ada
  1995-04-19  0:00     ` Robert Dewar
  1995-04-20  0:00       ` First Language Debate etc Deepak Kumar
@ 1995-04-20  0:00       ` Brian Hanson
  1995-04-20  0:00         ` Robert Dewar
  1 sibling, 1 reply; 37+ messages in thread
From: Brian Hanson @ 1995-04-20  0:00 UTC (permalink / raw)


In article 798344756@gnat, dewar@cs.nyu.edu (Robert Dewar) writes:
> Regarding using Ada to teach computer science
>  Scheme is a different issue: to me it is limiting to live only in the
>  functional world. For example, today I was presenting heapsort. The
>  essence of this algorithm is the in place tree mapping, that's what
>  makes the algorithm interesting.
Huh?  Over in the comp.lang.scheme there have been long drawn out arguments
about how scheme is not really a functional language as it is not a pure
functional language.

I have written a number of significant programs in scheme and never
really written in functional style.

Scheme is a lean and elegant lisp.

;; The following sorts are short but horribly inefficient

(define (insertion-sort a)
  (do ((i 1 (+ i 1)))
      ((>= i (vector-length a)) a)
    (do	((v (vector-ref a i) v)
	 (j i (- j 1)))
      ((or (< j 1) (< (vector-ref a (- j 1)) v))
       (vector-set! a j v))
      (vector-set! a j (vector-ref a (- j 1))))))

(define (swap! a i j)
  (let ((v (vector-ref a i)))
    (vector-set! a i (vector-ref a j))
    (vector-set! a j v)))

(define (bubble-sort a)
  (do ((i (- (vector-length a) 1) (- i 1)))
      ((< i 0) a)
    (do ((j 1 (+ j 1)))
	((> j i))
      (if (> (vector-ref a (- j 1)) (vector-ref a j))
	  (swap! a j (- j 1))))))

(define l (list 1 5 7 8 2 4 1 5 6 2))

(define (run sort a)
  (sort a)
  (display a)
  (newline))

(run insertion-sort (list->vector l))
(run bubble-sort (list->vector l))

$ vscm
> (load "../src/scm/sort.scm")
#(1 1 2 2 4 5 5 6 7 8)
#(1 1 2 2 4 5 5 6 7 8)
;value (after 170ms... comp: 0 (0 GC), exec: 170 (0 GC)):
#t
> 

-- 
-- Brian Hanson
-- brh@cray.com




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

* Re: No top schools use Ada
  1995-04-20  0:00     ` Norman H. Cohen
@ 1995-04-20  0:00       ` cjames
  0 siblings, 0 replies; 37+ messages in thread
From: cjames @ 1995-04-20  0:00 UTC (permalink / raw)



In article <3n5qss$rgl@watnews1.watson.ibm.com>, <ncohen@watson.ibm.com> writes:
> Path: 
nsgate.envisionet.net!news.sprintlink.net!howland.reston.ans.net!gatech!udel!news.
mathworks.com!solaris.cc.vt.edu!swiss.ans.net!newsgate.watson.ibm.com!watnews.wats
on.ibm.com!ncohen
> From: ncohen@watson.ibm.com (Norman H. Cohen)
> Newsgroups: comp.lang.ada
> Subject: Re: No top schools use Ada
> Date: 20 Apr 1995 14:25:32 GMT
> Organization: IBM T.J. Watson Research Center
> Lines: 15
> Distribution: world
> Message-ID: <3n5qss$rgl@watnews1.watson.ibm.com>
> References: <D759Az.GHM@cs.fredonia.edu> 
<NEWTNews.19974.798127420.cjames@cec-services-01>
> Reply-To: ncohen@watson.ibm.com
> NNTP-Posting-Host: rios8.watson.ibm.com
> 
> In article <NEWTNews.19974.798127420.cjames@cec-services-01>,
> cjames@envisionet.net writes: 
> 
> |> This newgroup is not worthy of any outside respect, and, by in large,
> |> it shows it.
> 
> Then clearly it is not worthy of your valuable time.
> 
> We understand why we will no longer be able to enjoy your carefully
> reasoned and dispassionate analyses, but we will miss you.
> 
> Good luck in your future endeavors.
> 
> --
> Norman H. Cohen    ncohen@watson.ibm.com
> 

Thanks Norman, and go to hell.





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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-20  0:00 ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Spencer Allain
@ 1995-04-20  0:00   ` Scott Wheeler
  1995-04-21  0:00   ` Neil Wilson
  1 sibling, 0 replies; 37+ messages in thread
From: Scott Wheeler @ 1995-04-20  0:00 UTC (permalink / raw)


In Article <SPENCER.95Apr20102028@calvin.ERA.COM> Spencer Allain 
writes:

>> I'm hoping that the only reason for the statement

>> >>   but we wouldn't even have considered employing him if he hadn't 
        learnt C under his own steam.

>> was because the job involved real-time systems where every 
millisecond counts or the company didn't want to invest a couple of 
weeks teaching a new person the syntax of a particular language.

No. As a matter of fact, we don't want him to program in C - at present 
our main language is C++, but I don't have a religious attachment to 
that (as a matter of fact, I used to use Modula as my main language 
before moving to C). Also in a computer science course I would prefer 
that people start with a "purer" language: my preference at the moment 
would be for Eiffel. My point (obscurely made) was that a CS course 
should not *only* deal with academic languages, particularly ones as 
far removed from everyday life as Miranda. If we take Eiffel as an 
example, it has certain specific lessons to teach regarding 
encapsulation, data hiding, re-use by templates. The main lesson, of 
course, is the very practical idea of programming by contract, in order 
to build reliable software. Fine. 

Now suppose someone takes a course which emphasises Eiffel heavily. 
Almost certainly the student gets a job involving programming, and 
almost certainly it won't be in Eiffel. To profit from the lessons 
learned, the ex-student has to apply the same lessons to the 
environment being used - C++ is quite likely these days, and it is 
sufficiently flexible to support most of the same ideas. In practice, 
what we get is likely to be very poor, because the course didn't cover 
adapting the techniques to the environments which will probably be 
encounted, and most students won't think this through in depth 
themselves. 

Now why don't we use Modula, or Oberon, or Eiffel, or whatever? It's 
not because C++ is the flavour of the month, or not directly. It's 
because the factories we work with want to use PCs, preferably running 
Windows (don't tell me you don't like it - *we* don't like programming 
it!). While all of those languages are supported on PCs, the compilers 
and environments (debuggers, GUI class libraries, browsers, integrated 
editors) are very weak compared to C++, the proprietary Borland 
implementation of Pascal, and "Visual BASIC". As I mentioned, I prefer 
Eiffel myself, but the compiler I have is simply not a viable 
development environment, and NICE hasn't standardised the vital class 
libraries yet so we would be locked in to one vendor. I would prefer it 
if the "teaching" languages could also be "working" languages, but as 
yet only Pascal has made that transition, albeit heavily extended.

An final point is that it is certainly possible to learn the syntax of 
most languages in a couple of weeks, as you mention. The trouble is 
that this is like teaching someone to drive by showing them the 
controls of a car: it's only a beginning, it doesn't show them how to 
drive safely or comfortably.

>> Personally, I've found that individuals who have a background in 
many languages (ie. different types of thinking) are generally "better"
programmers.  They may not be able to optimize a loop as well as a
hacker who really knows one language, but they often find a way to
remove the loop completely by using a different concept.

I absolutely agree. I think the only way we can argue over this is 
whether modern programmers should learn some assembler (which side do 
you want to argue?)

Scott (pass me that COBOL manual) Wheeler




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

* Re: First Language Debate etc.
  1995-04-20  0:00       ` First Language Debate etc Deepak Kumar
@ 1995-04-20  0:00         ` Robert Dewar
  1995-04-21  0:00           ` Deepak Kumar
  0 siblings, 1 reply; 37+ messages in thread
From: Robert Dewar @ 1995-04-20  0:00 UTC (permalink / raw)


Deepak Kumar says:

"4) What about Ada? I would like to use Ada in CS1, but it also suffers
   from point 1 above :-( no decent programming environment for CS1.
   I will be using Ada in CS2 (using the SUN Ada Compiler and possible
   GNAT, when we get to the Ada95 parts). Will share experiences when we
   get there."

you may want to take a look at GNAT even for Ada 83, the lack of a library
removes one real conceptual obstacle for starting students, and I think the
error messages, particularly for typical student mistakes, are better, but
don't take my word for it (pay your $0 and buy a copy and evaluate it :-)

Of course you are quite right about environments, and that is something
we really hope to see improved later this year with GNAT. By the way do
I take it you are using Unix for CS2, that seems rather inconsistent
with worrying about nice environments :-)





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

* Re: No top schools use Ada
  1995-04-20  0:00       ` No top schools use Ada Brian Hanson
@ 1995-04-20  0:00         ` Robert Dewar
  0 siblings, 0 replies; 37+ messages in thread
From: Robert Dewar @ 1995-04-20  0:00 UTC (permalink / raw)


Yes, I know you can program like this in Scheme, but what's the point?
To me if you are going to use a lisp-like language, it is horrible to
use this kind of procedural style. I would prefer to teach Haskel, as an
honest functional language, and Ada as an honest procedural language. I
find Scheme OK reasonable only if you confine your view to its functional
subset. To understand that your code really is in an insort place requires
a view of the semantics of the Scheme implementation that seems quite
inappropriate to me.

oops I mean inplace sort, not insort place, but I rather like the latter
thought, so I will keep it :-)





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

* Re: No top schools use Ada
       [not found]   ` <NEWTNews.19974.798127420.cjames@cec-services-01>
  1995-04-18  0:00     ` Jay M Martin
@ 1995-04-20  0:00     ` Vladimir Vukicevic
  1995-04-20  0:00     ` Norman H. Cohen
  2 siblings, 0 replies; 37+ messages in thread
From: Vladimir Vukicevic @ 1995-04-20  0:00 UTC (permalink / raw)


In article <NEWTNews.19974.798127420.cjames@cec-services-01> cjames@envisionet.net writes:

> That fact is a sad commentary on the QUALITY of what goes on here:  
> 
> about 30% of the posts are from Robert Dewar who is a notorious ...
> about 10% of the posts are from David Weller who has a very ...
> about 5% of the posts are from Michael Feldman who is a ...
> about 1% of the posts are from Tucker Taft who sometimes ...
>
> and the rest of the posts are either honest questions from honest people
> or ridiculous flames against Greg Aharonian and others.

(Hmm. I need to start posting more.)

So, according to this, you and Greg never post?  Neither of you has
honest questions, and I don't think either of you have ever flamed
each other...

Well, let's see. Robert got the highest marks, 30% of all the posts.
However, since Robert has contributed to many more discussions and
topics than either you (or Greg) have... many of those posts are just
telling people to direct gnat questions to gnat-report. Many, many
more are answering questions about the language and discussing
language issues (Something that I've -never- seen either you or Greg
do... do you two actually know Ada? Or do you feel your time is better
spent making empty, repetetive comments and long-winded posts that all
look like reincarnations of last week's long-winded post?). Only a
small fraction are spent actually discussing Ada being abandoned by
the DoD, NASA, Air Force, Navy, every tool vendor, and heck, let's
say it's being abandoned by the White House kitchen staff as well.
Likewise with David Weller, Michael Feldman, and Tucker Taft... all
have contributed to many discussions that I doubt you have any idea
of what is being said.

So, what % amount do you and Greg contribute to this newsgroup?
Certainly at least 75% of the drivel. Definitively 0% of anything
useful whatsoever (other than to get a good laugh).

> This newgroup is not worthy of any outside respect, and, by in
> large, it shows it.  By contrast, read other comp.lang newsgroups
> where the discussion actually proves something.  Is this a necessary
> evil of Internet.  I think not, because other comp.lang groups are
> valuable.

Wait, does this mean that you'll be leaving? And Greg too? Did Christmas
come early this year or something?

> Raise the quality of discussion here through self-discipline and by not 
> being selfish, then comp.lang.ada won't appear as a FidoNet talk feed.

Colin, a few sentances ago you called Robert Dewar a "notorious academic
snob and patronizing Internet bully of newbies," stated that David Weller
has a "very limited intelligence" and "writes meaningless invective," and
that Tucker Taft is "overpaid for narrow views and an inability to write
clearly."

And -you-'re telling -others- to raise the quality of discussion?

	- Vladimir




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

* Re: What schools use Eiffel ?
       [not found] ` <NEWTNews.27781.798049024.ir001168@cec-services-01>
       [not found]   ` <3mrg2c$onn@disunms.epfl.ch>
@ 1995-04-20  0:00   ` Igor Chudov
  1 sibling, 0 replies; 37+ messages in thread
From: Igor Chudov @ 1995-04-20  0:00 UTC (permalink / raw)


cjames@envisionet.net wrote in comp.lang.eiffel:

* This list leaves out Dartmouth College, where it all started, and
* also Harvard, Yale, Yale, Princeton, CalTech, and Rice.
* 
* Where is Eiffel taught ?   I know of Monash University in Australia
* and Hartford University in Connecticut, but is Eiffel the first year,
* first course language at those institutions ?

A couple of years ago Eiffel was taught to undergrads in CS dept of 
Moscow State University, Russia. Not so sure about now, though.

* Also, what is "Scheme".

Something derived from LISP, with added OO features.

Hope this helps,
--
IMHO, - Igor_Chudov@WilTel.com 

              http://www.iii.net/users/ichudov/index.html




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

* Re: First Language Debate etc.
  1995-04-20  0:00         ` Robert Dewar
@ 1995-04-21  0:00           ` Deepak Kumar
  0 siblings, 0 replies; 37+ messages in thread
From: Deepak Kumar @ 1995-04-21  0:00 UTC (permalink / raw)


In article <dewar.798392254@gnat>, Robert Dewar <dewar@cs.nyu.edu> wrote:
>
>Of course you are quite right about environments, and that is something
>we really hope to see improved later this year with GNAT. By the way do
>I take it you are using Unix for CS2, that seems rather inconsistent
>with worrying about nice environments :-)
>

Yes, it is and it isn't. CS1, where I teach it, also serves the larger
community (90% CS non-majors). However, by the time they get to CS2, they
are all prospective CS majors, have already had enough training in UNIX, by
way of getting into e-mail/IRC/MUD/MOO that UNIX is not a problem. They are
in fact at a stage where they want more challenges than a Pascal on the MAC
can offer. In other words they are motivated enough to move to a less
friendly environment. Of course, the first time I will teach it like this
is next fall...so we still have to wait and see.

Deepak.

-- 
Deepak Kumar
Department of Mathematics & Computer Science
Bryn Mawr College
Bryn Mawr, PA 19010




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

* Re: What schools use Eiffel ?
       [not found] <3mq0jd$r10@kaiwan009.kaiwan.com>
                   ` (3 preceding siblings ...)
       [not found] ` <NEWTNews.27781.798049024.ir001168@cec-services-01>
@ 1995-04-21  0:00 ` Madison Cloutier
       [not found] ` <D759Az.GHM@cs.fredonia.edu>
  5 siblings, 0 replies; 37+ messages in thread
From: Madison Cloutier @ 1995-04-21  0:00 UTC (permalink / raw)


Here is a partial list which I am aware of:

	College of the Holy Cross, USA
	Dickeson College, USA
	Freie Universitat Berlin, Germany
	Kalamazoo College, USA
	Hartford Graduate Center, USA
	School of Computer Sciences, Australia
	Stanford University, USA
	UC Berkeley, USA
	Brown University, USA
	Monash University, Australia
	University of British Columbia, USA
	University of Colorado, USA
	Technical University of Darmstadt, Germany
	University of Wisconsin, USA
	University of Sherbrooke, Canada
	University of Strathclyde, Scotland
	University of Wales, UK
	Virginia Tech, USA
	Kyushu Institute of Technology, Japan
	Eastern New Mexico University, USA
	University of Sheffield, UK
	Campus de Beaulieu, France

Madison Cloutier




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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-19  0:00       ` Theodore Dennison
                           ` (3 preceding siblings ...)
  1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Robert Johnson
@ 1995-04-21  0:00         ` Des Kenny
  1995-04-21  0:00           ` Robert Dewar
  4 siblings, 1 reply; 37+ messages in thread
From: Des Kenny @ 1995-04-21  0:00 UTC (permalink / raw)


In article <3n33ej$2h7@theopolis.orl.mmc.com>,
Theodore Dennison  <dennison@escmail.orl.mmc.com> wrote:
> tomkwong@netcom.com (Thomas Kwong) wrote:
> >University of California, Santa Barbara:
> >
> >  In the programming languages class, it used Ada, Eiffel, and Miranda.
> 
> 
> Miranda????
> Languages are kind of a hobby with me, but I have NEVER heard of that
> one. 
> 
> (slight net pause)
> 
> Yahoo has never heard of it, either.
> 
> T.E.D. (strucutred programming bigot)
> 

  Miranda is a functional language. 

  Assignment is not possible. Values are derived in a fashion
  similar to mathematical composition of functions. The idea being to 
  avoid side effects that can change the system state.

  References:

  Title: "Introduction to the Theory of Programming Languages"
  Author: Bertrand Meyer
  Publisher: Prentice Hall
  Date: 1990

  Title: "Functional Programs as Executable Specification" in
         "Logic and Programming Languages"
  Eds. C.A.R. Hoare and J.C. Shepherdson pp 29-54
  Publisher: Prentice Hall
  Date: 1985

  and others.


  Eiffel's assertion sublanguage is leaning strongly towards a
  functional language in style.


  Cheers





           






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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-20  0:00 ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Spencer Allain
  1995-04-20  0:00   ` Scott Wheeler
@ 1995-04-21  0:00   ` Neil Wilson
  1 sibling, 0 replies; 37+ messages in thread
From: Neil Wilson @ 1995-04-21  0:00 UTC (permalink / raw)


Spencer Allain (spencer@ERA.COM) wrote:
: Actually, anyone who enjoys working with Eiffel, should be thankful for
: Modula-2 as many of the concepts came from there, not C.

Only in the fact that Ada and Modula were both derived from Pascal
ideas. Eiffel (particularly its syntax) was influenced in part by Ada
along with many other languages and paradigms (plus a few unique ideas
of its own). I have never heard Modula-2 mentioned in that list.

Modula-2 is a strange language. It only got anywhere because it is easier
to change a Pascal compiler into a Modula-2 compiler than an Ada-83 one. 

Given the way languages work out, is there a correlation between how
hard it is to create a compiler for a language and how successful it is?

I agree with Spencer that employing people on the basis of knowing a
particular language is a short-sighted move. It's a bit like employing
a driver on the basis that he can drive a Ford - it doesn't make him a
good driver and it doesn't mean he can't drive a Vauxhall. Unfortunately
all the employment agencies and every employer I've met works this way.

If you are any sort of software designer you can have C sorted in a week
at the most (K&R is only 190 pages long - a couple of hours read).
Concepts should come before syntax.

-- 
Neil Wilson (neil@aldur.demon.co.uk)		...Arrive without travelling,
Ossett, Yorkshire, UK				   see all without looking...




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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-21  0:00         ` Des Kenny
@ 1995-04-21  0:00           ` Robert Dewar
  0 siblings, 0 replies; 37+ messages in thread
From: Robert Dewar @ 1995-04-21  0:00 UTC (permalink / raw)


Des Kenny in summarizing Miranda misses probably its most important feature,
namely its embracing of lazy evaluation. Full referencetial transparency
is not possible without laze evaluation. Let me try to give a simple
example showing what I mean.

First, lazy evaluation means roughly that all expressions are held as
(if you like) trees, waiting to be evaluated, they are only evaluated when
the program needs the value. For example, in most languages if we write

    func (1 / 0);

we bomb on the call to the function because of trying to divide by zero. In
a LE language, we bomb only if and when the function tries to access the
value of this parameter.

Now consider the following function:

   p2 (a, b) = b

which just references its second argument.

Clearly we can replace p2 (expr1, expr2) by expr2 for any possible
expr1 and expr2, and clearly since these are equivalent, we expect
to be able to replace 

   expr3

by

   p2 (expr4, expr3)

for any expr4, but that simple algebraic approach to understanding what
the function p2 means doesn't work in strict (the opposite of lazy)
languages like Ada, since if expr4 is 1/0, the second call bombs.

The idea in a language with full referencetial transparency is that you can
just do algebra of this type on programs without having to worry about
"premature" evaluation of expressions causing problems.

An extension of this notion allows Miranda to deal with infinite sets in
a convenient form. These are not a happy data structure in strict languages
like Ada, since they would take up rather a lot of room! But in Miranda
you keep the set in symbolic form, generating elements as you need them.

One consequence of the lazy evaluation approach is that you just HAVE to
be fully functional. Since you really don't know exactly when expressions
are evaluated, expressions with wide effects would be impossible to deal
with.

The result is quite an interesting level of semantics. To learn more, take
a look at Haskell which is a more modern expression of these ideas, and
furthermore is non-proprietary. 

The difficulty with any aggressively pure functional language is that,
although you can model anything, you are doing just that in many cases,
modeling, instead of writing things in a direct fashion. I tend to think
that the world comes with state, and that procedural notions with state
(I use the word procedural in a broad meaning, as opposed to functional,
certainly embracing object oriented approaches, including even "pure"
object oriented approaches) are ultimately more natural.

But that's the big argument -- so far functional languages have not lit
a real fire, even though they have been around for a long time. Perhaps
the enthusiasm for object oriented approaches spells their doom, we will
see!

One more point is that it is very hard work to write efficient compilers
for LE semantics. The Miranda compiler uses a combinator based apporoach
for its interpretor, which is neat, but quite slow. The difficulty is that
if you write
     a / b

you would like to generate a divide instruction, but you can't do that
in general, instead you have to construct complex structures
 




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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-19  0:00         ` Theodore Dennison
  1995-04-19  0:00           ` Scott Wheeler
@ 1995-04-21  0:00           ` Scott Wheeler
  1 sibling, 0 replies; 37+ messages in thread
From: Scott Wheeler @ 1995-04-21  0:00 UTC (permalink / raw)


uk> <dewar.798388813@gnat>
X-Newsreader: NewsBase v1.36 (Beta)
Lines: 41

>> "found that they were comparing floating-point numbers for equality"
it is a common myth that this is a bad programming practice. In fact 
many numerical algorithms involve perfectly legitimate tests for 
equality if they know that they are running on reasonable 
floating-point hardware. For example, a Newton-Raphson iteration for 
square root will converge exactly on almost any reasonable fpt 
hardware.

>> It is perhaps a safe rule for people using floating-point who don't 
know what they are doing (a common case), to avoid comparing fpt 
numbers for equality, but please let's make sure that we don't end up 
with idiotic rules that forbid this critically useful operation (IEEE 
fpt includes equality for a reason, indeed all the operations defined 
by 754 are useful, you should hestitate before declarting them 
useless).

Put it this way: such a rule would be inappropriate to an applied 
mathematician studying numerical methods (although in the 
Newton-Raphson case it might still be appropriate to define an 
epsilon). A CS student will rarely use floating point, and most 
working programmers will only encounter cases where the comparison is 
unwise, so I'd say it was appropriate to teach the rule, and 
inappropriate to spend time teaching them the exceptions as the 
background required is large. But yes, it's a rule of thumb. 

Anyway, if the rule is introduced in the context of the underlying 
architecture as I asked, it shouldn't be a problem - certainly not 
idiotic. Other such items that might be introduced at the same time: 
loss of precision on subtracting f.p. numbers of similar 
magnitude; integers will "wrap around" without warning in most 
languages; some idea of how languages like Modula or C implement the 
stack and heap, introducing the idea of a stack/heap collision and the 
need to be aware of roughly how large your stack could grow; 
requirements for recusion and re-entrancy; and so on. Nothing 
earth-shattering, and it need not take long to teach.

One question: what do people see as being the primary purpose of a 
first degree in CS?

Scott
Scott




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

* Re: Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ?
  1995-04-20  0:00             ` Robert Dewar
@ 1995-04-21  0:00               ` Jeremiah S Patterson
  0 siblings, 0 replies; 37+ messages in thread
From: Jeremiah S Patterson @ 1995-04-21  0:00 UTC (permalink / raw)


In <dewar.798388813@gnat> dewar@cs.nyu.edu (Robert Dewar) writes:


>"found that they were comparing floating-point numbers for equality"

>it is a common myth that this is a bad programming practice. In fact many
>numerical algorithms involve perfectly legitimate tests for equality if
>they know that they are running on reasonable floating-point hardware.
>For example, a Newton-Raphson iteration for square root will converge
>exactly on almost any reasonable fpt hardware.

>It is perhaps a safe rule for people using floating-point who don't know
>what they are doing (a common case), to avoid comparing fpt numbers for
>equality, but please let's make sure that we don't end up with idiotic
>rules that forbid this critically useful operation (IEEE fpt includes
>equality for a reason, indeed all the operations defined by 754 are
>useful, you should hestitate before declarting them useless).

>So, while I am all in favor of an undergraduate curriculum including
>discussion of underlying architectures in some considerable details
>(including interrupts, registers, caches, data representation etc.)
>I sure hope that a course in this area does not pass on the incorrect
>advice to never compare fpt for equality.

I agree to an extent...I think that stduents must be taught the
"dangers" of testing for fpt equality.

I think students need to learn that they can "control" the accuracy of
floating point numbers using multiplication and rounding then division
rather than a free-for-all, no questions asked equality check (which,
even on good systems, may blow up after a fifth or sixth operation)

That's my 2 cents worth!
Jerry
__________________________________________________________________________
Jeremiah S Patterson   _/_/_/_/                 \_\_\_\_
Larch 1357 Cunningham _/      _/_/_/ _/_/_/_/_/  \_       \_\_\_ \_\_\_
Ames, IA 50013       _/      _/  _/ _/  _/  _/    \_\_\_\_ \_       \_
jerpat@iastate.edu  _/      _/_/_/ _/      _/            \_ \_\_\_ \_\_\_
                   _/_/_/_/                         \_\_\_\_

jerpat@cs.iastate.edu     "Where dreams are in big-O notation"
-- 
__________________________________________________________________________
Jeremiah S Patterson   _/_/_/_/                 \_\_\_\_
Larch 1357 Cunningham _/      _/_/_/ _/_/_/_/_/  \_       \_\_\_ \_\_\_
Ames, IA 50013       _/      _/  _/ _/  _/  _/    \_\_\_\_ \_       \_
jerpat@iastate.edu  _/      _/_/_/ _/      _/            \_ \_\_\_ \_\_\_
                   _/_/_/_/                         \_\_\_\_

jerpat@cs.iastate.edu     "Where dreams are in big-O notation"




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

* Re: No top schools use Ada
       [not found] <9504200153.AA25668@GNAT.CS.NYU.EDU>
@ 1995-04-21  0:00 ` Ian S Nelson
  1995-04-21  0:00   ` Jay M Martin
  0 siblings, 1 reply; 37+ messages in thread
From: Ian S Nelson @ 1995-04-21  0:00 UTC (permalink / raw)


Excerpts from mail: 19-Apr-95 Re: No top schools use Ada by Robert
Dewar@GNAT.CS.NYU 
> if computer scientists and schools teaching computer science are happy to
> make it clear to their students, and the prospective employers of their
> students that computer science is quite different from software engineering
> and that they should look elsewhere if their goal is to become or hire
> competent programmers, that would be helpful!

Most certainly... In fact I wished they told me that before I got here..
 Actually, CMU is a pretty good SE school too, you just have to put up
with the boring stuff (prog languages 15-312, compilers, OSes, etc..)
before you can take the SE classes. I don't know hardly anyone who
wishes to be a "computer scientist" they stress proofs and functional
programming too much, anything useful is usually far too large to prove
and functional programming just isn't fun. ("hmmm, let's use a lot of
recursion to make this hard to read, but we came *prove it*") I don't
know how many projects I've seen come out of the labs in LISP and the
first thing done to them by the programmers is to convert it into C++,
it's almost like it is part of the scientific design process.
 
Anyways, why would MIT, CMU and Stanford say that they don't produce
software engineers and lose all that money they make?  
--
Ian S. Nelson  <bonovox@cmu.edu>                  finger for PGP key
Carnegie Mellon Computer Science/Math    
Home Page:http://www.contrib.andrew.cmu.edu/usr/in22/ian.html
My opinions are not the school's, although they should be!





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

* Re: No top schools use Ada
  1995-04-21  0:00 ` Ian S Nelson
@ 1995-04-21  0:00   ` Jay M Martin
  0 siblings, 0 replies; 37+ messages in thread
From: Jay M Martin @ 1995-04-21  0:00 UTC (permalink / raw)


> Actually, CMU is a pretty good SE school too,.....

Actually I thought that CMU was THE preeminent SE school!  Lets see,
its at the very top of the ratings and they actually care about SE
(one of the few!).  Looking at MIT,Cornell and Stanford, no software
engineering professors, gee I wonder what they think of SE.  My school
is in the top 12 and it has no software engineering professors.  In
fact, in the past a very famous SE professor was given the boot on the
basis that "SE is not worthy of study".  To many CS professors for
example feel that "modules" are not important CS concepts, this is
because modules are for making modular code which is important for
large projects.  But large projects are in the domain of Software
Engineering, which of course is not worthy of study by Computer
Science.  No wonder Ada and other SE languages don't have a chance 
in academia.

Jay






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

* Re: No top schools use Ada
       [not found] ` <D759Az.GHM@cs.fredonia.edu>
                     ` (2 preceding siblings ...)
       [not found]   ` <NEWTNews.19974.798127420.cjames@cec-services-01>
@ 1995-04-22  0:00   ` Chris Morgan
  3 siblings, 0 replies; 37+ messages in thread
From: Chris Morgan @ 1995-04-22  0:00 UTC (permalink / raw)


Hello everyone,

  Ditto everything Vladimir just said!

  No need to repeat the obvious, but I agree with Vladimir that these
things need rebutting.

Chris

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

-- Chris Morgan
-- SMCS Project, BAeSema Ltd, Scientific House, 40-44 Coombe Rd,
-- New Malden Surrey, England, UK
-- e-mail : chris.morgan@baesema.co.uk
-- Currently grappling with Ada95 via GNAT2.03 on Sun-SPARC-SOLARIS2.3
-- Member, Team Ada       when does team GNAT start?
------------------------------------------------------------------------




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

end of thread, other threads:[~1995-04-22  0:00 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <3mq0jd$r10@kaiwan009.kaiwan.com>
1995-04-19  0:00 ` No top schools use Ada Kenneth Almquist
1995-04-18  0:00   ` cjames
1995-04-19  0:00     ` Kenneth Almquist
     [not found] ` <3n10sv$i97@gopher.cs.uofs.edu>
1995-04-19  0:00   ` Fernando Mato Mira
1995-04-20  0:00 ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Spencer Allain
1995-04-20  0:00   ` Scott Wheeler
1995-04-21  0:00   ` Neil Wilson
     [not found] ` <NEWTNews.27781.798049024.ir001168@cec-services-01>
     [not found]   ` <3mrg2c$onn@disunms.epfl.ch>
     [not found]     ` <tomkwongD76x5L.AED@netcom.com>
1995-04-19  0:00       ` Theodore Dennison
1995-04-19  0:00         ` Theodore Dennison
1995-04-19  0:00           ` Scott Wheeler
1995-04-20  0:00             ` Robert Dewar
1995-04-21  0:00               ` Jeremiah S Patterson
1995-04-21  0:00           ` Scott Wheeler
1995-04-19  0:00         ` Robert Dewar
1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was Geert Bosch
1995-04-20  0:00         ` Which first-course languages? (was: What schools use Eiffel (was: No top schools use Ada)) ? Robert Johnson
1995-04-20  0:00           ` Robert Dewar
1995-04-21  0:00         ` Des Kenny
1995-04-21  0:00           ` Robert Dewar
1995-04-20  0:00   ` What schools use Eiffel ? Igor Chudov
1995-04-21  0:00 ` Madison Cloutier
     [not found] ` <D759Az.GHM@cs.fredonia.edu>
1995-04-19  0:00   ` No top schools use Ada Michael Sperber [Mr. Preprocessor]
1995-04-19  0:00   ` Ian S Nelson
1995-04-19  0:00     ` Robert Dewar
1995-04-19  0:00     ` Robert Dewar
1995-04-20  0:00       ` First Language Debate etc Deepak Kumar
1995-04-20  0:00         ` Robert Dewar
1995-04-21  0:00           ` Deepak Kumar
1995-04-20  0:00       ` No top schools use Ada Brian Hanson
1995-04-20  0:00         ` Robert Dewar
     [not found]   ` <NEWTNews.19974.798127420.cjames@cec-services-01>
1995-04-18  0:00     ` Jay M Martin
1995-04-20  0:00     ` Vladimir Vukicevic
1995-04-20  0:00     ` Norman H. Cohen
1995-04-20  0:00       ` cjames
1995-04-22  0:00   ` Chris Morgan
     [not found] <9504200153.AA25668@GNAT.CS.NYU.EDU>
1995-04-21  0:00 ` Ian S Nelson
1995-04-21  0:00   ` Jay M Martin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox