From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,751d508677a5add1 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Thu, 01 Jul 2010 16:14:41 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.4) Gecko/20100608 Thunderbird/3.1 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: [Ada] made me hate programming References: <8f469661-370c-4484-82d8-f1b365455e0f@w12g2000yqj.googlegroups.com> <98aa58b3-50fc-418d-9f72-524b5a23c89d@t10g2000yqg.googlegroups.com> <4c2bd5e5$0$2366$4d3efbfe@news.sover.net> In-Reply-To: <4c2bd5e5$0$2366$4d3efbfe@news.sover.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <4c2ca2d2$0$7666$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 01 Jul 2010 16:14:42 CEST NNTP-Posting-Host: 1386d394.newsspool1.arcor-online.net X-Trace: DXC=n3W;ZLh>_cHTX3j]CdXGIPMf;=R X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:13063 Date: 2010-07-01T16:14:42+02:00 List-Id: 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.