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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,e5eb8ca5dcea2827 X-Google-Attributes: gid103376,public From: Richard D Riehle Subject: Re: Ada OO Mechanism Date: 1999/05/21 Message-ID: <7i4brh$hi2@dfw-ixnews8.ix.netcom.com> X-Deja-AN: 480632268 References: <7i05aq$rgl$1@news.orbitworld.net> <7i28qu$1bc@dfw-ixnews11.ix.netcom.com> <7i2pqn$qak$1@news.orbitworld.net> Organization: Netcom X-NETCOM-Date: Fri May 21 2:23:29 PM CDT 1999 Newsgroups: comp.lang.ada Date: 1999-05-21T14:23:29-05:00 List-Id: In article <7i2pqn$qak$1@news.orbitworld.net>, "Shawn M. Root" wrote: >:So when I hear someone say that Ada is >:counterintuitive or C++ is counterintuitive or Object COBOL is >:counterintuitive, I understand that they mean, "This is not the way >:I am used to thinking about things." That does not mean it is >:counterintuitive. It simply means they have had difficulty learning >:a new programming language just as they might have trouble learning a >:new spoken language. When I hear someone speak of "natural" language, >:I have to wonder what they are talking about. >: >Actually it does mean that it is counterintuitive. Counterintuitive >means that what you found is not what you expected to find. This is a >relative term, not an absolute. What is counterintuitive for me, may >be readily obvious to you. Intuition has nothing to do with "thinking >about things". I wonder if I want someone writing software for a pacemaker who is not "thinking about things." Intuition strikes me as a psychological concept that implies that one is "thinking about things" differently than through the use of more ordinary reasoning. I am willing to accept the notion of intuition as an important element of problem solving. However, the more I consider the term "counterintuitive" the more counterintuitive it seems the word might be. Perhaps it is a self-cancelling concept, sort of like (A or not A). >It has to do with the understanding or knowing of >something _without_ overt reasoning. Furthermore, it does not mean >that someone had difficulty learning a new programming language. It >simply means that, in my particular case, the Ada OO mechanisms seem >less obvious than the C++ mechanisms. The fact that some idea is not obvious makes it counterintuitive? That notion, in itself, should make one suspicious of any effort to reach a conclusion by declaring that this or that is counterintuitive. Once again reaching far back in the history of mathematics, when algorismics was introduced to Europe, there was a great uproar. People found their abacus-based counting much more comfortable, much more intutitive. The fact that it originated in a non-Christian community made it even more unacceptable to many. Today, the principles of accounting are a vestige of the early abacus-based model, and accounting is regarded by many algebraicists as being counterintuitive. I do not believe one should become too comfortable with the notion of counterintuitive as an excuse for failure to learn some new idea. In such cases, the failure may be that of the learner, not of the idea. > >Yes, but after calculus was invented, and the concept of the limit was >understood, would you invent a new way to do limits if the new way >offered no significant advantages over the old way? The notion of limit did occur to earlier mathematics. It was simply not adopted, perhaps because it was counterintuitive. If you have watched young freshman struggle with calculus, even today, the idea of limit still remains counterintuitive for many of them. > >Again, I don't know where you got this impression. Perhaps others >you've spoken to have used the "counterintuitive excuse" to cover >difficulties in learning. However, that is not the case here. I was >introduced to Ada before C++ so, if anything, I had more trouble >learning the C++ way of doing things. My comments have nothing to do >with not working hard enough to understand certain ideas. I understand >the ideas and concepts involved. I understand the other side's >arguments. So far, however, I don't agree with them. Perhaps it depends on where one stands to examine the issues. Certainly, it is depends on what _arbitrary_ foundations one selects to support the argument. When I look at a pencil immersed in water, it is clear to me that the pencil becomes bent. Unless I understand some additional physics, I will not realize that the pencil is not actually bent, even though it seems so obvious from my simple viewpoint that it is. It seems to me that, when evaluating software tools and languages, we need a more comprehensive view of the problem, one that does not reject some perfectly good approach by suggesting that some starting point for a solution seems counterintuitive. It is often the intuition on which the counterintuitive conclusion is based that makes the counterintuitive viewpoint the best place to begin looking for a solution. If Ada is counterintuitive, perhaps that is a good thing, especially when seeking solutions to problems of designing large-scale, safety-critical software. Richard Riehle richard@adaworks.com http://www.adaworks.com