comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm-host.bauhaus@maps.futureapps.de>
Subject: Re: [Ada] made me hate programming
Date: Fri, 02 Jul 2010 00:00:11 +0200
Date: 2010-07-02T00:00:12+02:00	[thread overview]
Message-ID: <4c2d0fec$0$6877$9b4e6d93@newsspool2.arcor-online.net> (raw)
In-Reply-To: <C852A2E1.149235%yaldnif.w@blueyonder.co.uk>

On 7/1/10 8:54 PM, (see below) wrote:

>> language profile that disallows overloading.
>
> So you lose Ada.Text_IO and all the arithmetic operators?


I'd be using a different library. One use case is when output should
be as simple as possible. I learned that working with just
digits seems to be a good way to get started with programming
in Ada. What is needed in this case is quick output of results, of
integers (or digits) and strings.  Since (Integer_)Text_IO has
more than is needed, it might be OK to introduce a simpler I/O package,
defer the introduction of "&" (and, of course, abstain from
Integer'Image). This leaves two I/O procedures: I/O of a string,
and I/O of an integer (or digit).  Only two types as yet,
no floats, no characters.  Then, use them like in

   Put_String ("Time of day is     ");
   Put_Integer (H);  Put_String (":");
   Put_Integer (M);  Put_String (":");
   Put_Integer (S);
   New_Line;

I am sure I don't like this approach for real programming, but
since they are just two subprograms, they can serve to explain
some basics no less than overloaded Put, I think.  (And be
justified by absence of funny messages about candidates, if that
is an issue.)
Characters can be introduced later, without loss for printing
text.
(An O-O approach---allegedly working well at ETH Z�rich---could use
overriding of Put if Ada offered it for its numbers and strings.
Not sure whether overriding vs overloading of 1-ary procedures
is such a big issue, though. But certainly things are simpler when
there is only one mechanism that associates arguments and
subprograms?)

Another use case is when printing composite objects.  Is Text_IO
the package you need here?  With overloadings?   Might one not just
as well form a sequence of statements from the "primitives" above.

Another, hypothetical, reason for excluding overloading at the
beginning (besides the overload resolution messages that seem
not so easy to understand) is keeping focus.
When the model of subprogram calls is less detailed due to
lack of overloading, then calls might appear less convenient,
but also exhibit a more regular construction principle.

Influence of overloading on understanding programs has been
studied a bit, AFAICS, both syntactic overloading and overloading
of subprograms.  Syntactic overloading seems to be misleading
learners when used excessively---a result contradicting
the very intent of the teaching language Turing, they say.
It is in this sense that I am nagging about the possibilities
of language profiles for teaching.  They can make the compiler
act like a language guide.


> Of course, "diminishing deception" is the essence of teaching complex
> material. Ada supports it very well already: the various advanced features
> are quite independent of each other, so the student is unlikely to stumble
> into them (very unlikely, in my experience).

That's good news and opposes some of what I have read so far.
Is it possibly good instructions that have made it unlikely
for students to stumble into advanced features?

Does good teaching require a good understanding
- of the independent features of Ada
- of the independence of features of Ada
- of how to combine them and when?

An then, when a teacher has different assorted backgrounds, picking
up the language of the day because that seems required, has he/she
got a chance to see all this clearly?  And to form instructions
accordingly?

Mentioning Ada and teaching 16 year olds has quite reliably provoked
laughter among teachers others and I have met. I can't imagine that
this laughter is caused by knowledge of how the language can be used
in teaching.  What about compiler messages then, if these teachers start
teaching Ada from their own perspective, which may seem plausible to
them, but not to experienced Ada teachers?




  reply	other threads:[~2010-07-01 22:00 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-30  5:23 ADA made me hate programming mahdert
2010-06-30  5:33 ` Jeffrey R. Carter
2010-06-30  5:42   ` mahdert
2010-06-30 16:49     ` Warren
2010-06-30 18:12   ` George Orwell
2010-06-30  6:40 ` anon
2010-06-30 19:07   ` Nasser M. Abbasi
2010-07-01  1:38     ` starwars
2010-07-01  4:57     ` anon
2010-07-01 13:22       ` Colin Paul Gloster
2010-07-01 14:00         ` (see below)
2010-07-01 17:11         ` anon
2010-07-01 21:16           ` Wilson
2010-07-02  7:01             ` anon
2010-07-02 15:54             ` Non scrivetemi
2010-07-02 16:10               ` Georg Bauhaus
2010-07-02 16:55                 ` Peter C. Chapin
2010-07-06  5:37             ` David Thompson
2010-07-01 23:29           ` Randy Brukardt
2010-07-02  6:07             ` anon
2010-08-20 22:44             ` Yannick Duchêne (Hibou57)
2010-07-02 10:45           ` sjw
2010-07-02 18:04             ` anon
2010-07-02 18:53               ` Simon Wright
2010-07-03  1:54                 ` anon
2010-07-03 13:16                   ` Marc A. Criley
2010-07-03 21:50                     ` anon
2010-07-04 11:40                       ` Simon Wright
2010-07-04 23:15                         ` anon
2010-07-05  6:00                           ` Simon Wright
2010-07-04 17:52                       ` Marc A. Criley
2010-07-04 23:22                         ` anon
2010-07-05  0:22                           ` Marc A. Criley
2010-07-05 10:49                             ` anon
2010-07-05 21:50                               ` Marc A. Criley
2010-07-06 11:15                                 ` Stephen Leake
2010-07-06 12:25                                   ` Marc A. Criley
2010-07-06 19:22                                   ` Simon Wright
2010-07-06 20:03                                     ` anon
2010-07-06 19:55                                 ` anon
2010-07-06 22:51                                   ` Georg Bauhaus
2010-07-07  0:10                                   ` Marc A. Criley
2010-07-08  0:23                                     ` anon
2010-07-09  0:14                                       ` Marc A. Criley
2010-07-03 21:43                   ` Simon Wright
2010-08-21  0:33                     ` Yannick Duchêne (Hibou57)
2010-08-21 10:05                       ` Simon Wright
2010-08-20 22:30           ` Yannick Duchêne (Hibou57)
2010-08-23 15:38             ` Warren
2010-08-20 21:57       ` Yannick Duchêne (Hibou57)
2010-08-20 22:00       ` Yannick Duchêne (Hibou57)
2010-07-01 13:29     ` Colin Paul Gloster
2010-08-21  0:40       ` Yannick Duchêne (Hibou57)
2010-06-30  7:00 ` Ludovic Brenta
2010-06-30  8:36   ` tonyg
2010-06-30 23:14     ` Phil Clayton
2010-07-01 12:58     ` Lucretia
2010-06-30  9:37 ` Gautier write-only
2010-06-30 17:05   ` [Ada] " Warren
2010-06-30 21:10     ` Kulin Remailer
2010-07-02 20:03       ` Warren
2010-07-06  5:37       ` David Thompson
2010-06-30 23:42     ` Peter C. Chapin
2010-07-01 14:14       ` Georg Bauhaus
2010-07-01 14:27         ` (see below)
2010-07-01 15:36           ` Georg Bauhaus
2010-07-01 18:54             ` (see below)
2010-07-01 22:00               ` Georg Bauhaus [this message]
2010-07-01 22:11                 ` (see below)
2010-07-02  8:28                   ` Georg Bauhaus
2010-07-02 17:52                   ` Non scrivetemi
2010-07-02 19:00                     ` Georg Bauhaus
2010-07-05 12:40                       ` Colin Paul Gloster
2010-07-02 14:07                 ` Colin Paul Gloster
2010-07-01 19:34             ` Simon Wright
2010-07-02 20:30               ` Warren
2010-07-01 23:50             ` Randy Brukardt
2010-07-02  7:39               ` Georg Bauhaus
     [not found]                 ` <11xsi9ilnamk6$.1r1kaahru68b1.dlg@40tude.net>
2010-07-02 10:35                   ` Georg Bauhaus
     [not found]                     ` <u94jhtubncu$.2l0z5ep3q0kw.dlg@40tude.net>
2010-07-02 13:24                       ` Georg Bauhaus
2010-07-02 14:25                         ` Peter Hermann
2010-07-02 18:51                           ` anon
2010-07-02 14:26                     ` Colin Paul Gloster
2010-07-02 18:56                       ` Simon Wright
2010-08-21  0:54     ` Yannick Duchêne (Hibou57)
2010-08-23 15:51       ` Warren
2010-08-23 16:44         ` Yannick Duchêne (Hibou57)
2010-08-23 16:57           ` Warren
2010-08-23 20:25         ` Reporting bugs in GNAT (was: [Ada] made me hate programming) Ludovic Brenta
2010-08-23 21:29           ` Yannick Duchêne (Hibou57)
2010-08-23 22:02             ` Reporting bugs in GNAT Ludovic Brenta
2010-08-24 13:32           ` Reporting bugs in GNAT (was: [Ada] made me hate programming) Warren
2010-08-24 17:41             ` Yannick Duchêne (Hibou57)
2010-08-26 12:53               ` Warren
2010-08-26 19:01                 ` Reporting bugs in GNAT Simon Wright
2010-08-26 19:53                   ` Florian Weimer
2010-08-26 20:22                     ` Simon Wright
     [not found] ` <m7mkuvmw72ec.1fan4hqr668s6.dlg@40tude.net>
2010-06-30 10:00   ` ADA made me hate programming Pascal Obry
2010-06-30 18:54   ` Colin Paul Gloster
2010-06-30 19:40     ` Dmitry A. Kazakov
2010-07-01  5:15       ` Simon Wright
2010-07-01 13:11         ` Colin Paul Gloster
2010-07-01 18:07       ` Gautier write-only
2010-07-01  0:34     ` Kulin Remailer
2010-07-01  4:47 ` Wilson
2010-07-06 21:59 ` Pablo
replies disabled

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