From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: * X-Spam-Status: No, score=1.0 required=3.0 tests=BAYES_40,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!mRBVMlGoFUnDsRgMYRJiSw.user.46.165.242.75.POSTED!not-for-mail From: Richard Iswara Newsgroups: comp.lang.ada Subject: Re: Why "Hello World" as a first exercise? Date: Sat, 31 Jul 2021 10:06:17 +0700 Organization: Aioe.org NNTP Server Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: gioia.aioe.org; logging-data="4300"; posting-host="mRBVMlGoFUnDsRgMYRJiSw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:62461 List-Id: On 31/07/2021 06.06, Randy Brukardt wrote: > "Richard Iswara" wrote in message > news:se05ic$741$1@gioia.aioe.org... >> Why is it most of the courses of introduction to programming or >> programming language use a "Hello World" kind of program as a demo or >> first exercise? > > Because the problem isn't about programming at all, but rather getting > through all of the admistrivia needed to actually run a program. Starting > with a canned program of some kind is simply the best plan. > > My first actual programming class spent the first two or three sessions on > the administrative things: where is the computer center? How do you use a > keypunch? (I admittedly am showing my age here; but at least we were the > second last semester to use the keypunches.) How to submit a card deck? What > magic incantations are needed to get the computer to accept a card desk? > Where to find your results afterwards (this being a batch system)? Etc. The > actual program was very secondary to all of that (I don't remember what it > was, but we had to key it and submit the results -- in order to prove that > we understood all of the admistrivia). > > Obviously, there are differences from then to today, but there still is a > lot of admistrivia -- both in an academic environment and also at home. (How > to use the IDE? How to build a program? How to capture the results? Etc.) So > it is very valuable for any student to prove that they understand how to > enter and build a trivial program before they turn to actually learning > about fundamentals. The flow of any type of course gets interrupted > everytime someone has problems building a program -- the sooner they > understand that, the better. > > "Hello World" isn't the most interesting program, but it has the advantage > of being very short and applicable in most contexts (for instance, it makes > sense both in GUI and text environments). And it also shows a primitive way > of doing debugging, something that every student will need to know almost > from the beginning. > > Janus/Ada uses a slightly larger program as an installation test at the end > of installation. (At least if you read the installation guide -- I wonder > how many do?) It just sorts a bunch of numbers and displays them to the > screen. It's not really a useful example, but it does prove that the > Janus/Ada system and the things it depends upon are all installed properly. > It doesn't pay to write a program until you are sure of that! > > I note that a similar issue happens in a lot of elementary education. I > vividly remember that the first word in the first book that we read when > learning to read started with and entire page devoted to "Tom" (and a line > drawing of a boy). No verb or action or abstraction of any kind. Hardly > useful text but valuable in getting the new readers introduced to the idea > of text associated with pictures having the same meaning. > > The point being that there is a lot of stuff unrelated to the topic at hand > that needs to be navigated to learn just about any concept. The sooner that > that stuff can be dealt with, the better. > > Randy. > > > > Fair points. Obviously now it's a lot different than it was, so why don't textbooks and online instructions, especially those with online IDE, don't evolve their approach? I still think that students should be trained and challenged to think carefully about implications of their programs. One of the reservations I have about those online courses or code solutions sites is how many don't consider documentations and coding safely as part of their grades. Skills alone do not suffice in the "real world", communications matters also. How many hours of training after the students graduate will be wasted by their employers to teach them to consider their codes carefully. That is IF (that's the big question) the employers do any kind of training or mentoring. Why don't that kind of consideration is taught and trained until it become a habit during the students education?