comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: [Ada] made me hate programming
Date: Thu, 01 Jul 2010 16:14:41 +0200
Date: 2010-07-01T16:14:42+02:00	[thread overview]
Message-ID: <4c2ca2d2$0$7666$9b4e6d93@newsspool1.arcor-online.net> (raw)
In-Reply-To: <4c2bd5e5$0$2366$4d3efbfe@news.sover.net>

On 01.07.10 01:42, Peter C. Chapin wrote:

> All that said, I do think that many novice programmer's find compiler
> error messages baffling and largely unhelpful.

Yes. Technical messages can definitely be unhelpful, and frustrating
when learning how to program.  In fact, "unhelpful" and "frustrating"
are the two very qualities of communication that no teaching effort
can afford!  They are necessarily damaging.  Picture it this way,
among humans:

S, a student of some subject asks questions.
T, a teacher on the subject, understands the questions, or thinks he does.
Then T answers, but, to S, his answers are unhelpful and frustrating.
Because S simply cannot understand the answers, since they are full
of yet-to-be-learned notions.
T might say that the answers are correct.
So what?
This is not pedagogical!
The messages are incorrect if intelligibility of a message
is a measure of its correctness in a given situation.

"unhelpful" and "frustrating" will drive S away from the subject.
Depending on S's self-esteem, he/she might try harder, but to
no avail since the messages cannot improve. So S might give up
in the end and use a different language or choose a different
career. Without need...

Ada provides for a solution to the problem caused by the advanced
technicalities in error messages, I think, using Ada's language profiles
like Ravenscar, but with a focus on teaching:
define a profile to be a language subset a la "Teach Packs" in DrScheme.
Teach packs, IIUC, will let you use, teach, and hence understand just the
parts of Ada that some programming subject demands.  Compilers that
are "aware" of the profile can then stop printing what is, in effect,
gibberish in a teaching situation.

Instead, compilers diagnose something more easily explained:
file.ada:123: "X is not supported in This-Teach-Pack"


I don't know how open GAP is, or how comprehensive in a teaching
society sense.  But it looks like one place to look for things
to be included in a teach pack.  Apparently, efforts like these can fail
when the result is known up front (by desire to teach X no matter what),
or if no impulse from outside computing departments creates resonance.
Psychology of teaching has some insight, and there is some empirical
evidence.

See e.g. the section titled "2. More is more" in:
"Seven Deadly Sins of Introductory Programming Language Design"
by McIver and Conway.





  reply	other threads:[~2010-07-01 14:14 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 [this message]
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
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