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: "Shawn M. Root" Subject: Re: Ada OO Mechanism Date: 1999/05/25 Message-ID: <7idgk3$qu7$1@news.orbitworld.net> X-Deja-AN: 481804652 References: <7i05aq$rgl$1@news.orbitworld.net> <7i28qu$1bc@dfw-ixnews11.ix.netcom.com> <7i2pqn$qak$1@news.orbitworld.net> <7i4brh$hi2@dfw-ixnews8.ix.netcom.com> Organization: OrbitWorld Network, Inc. X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 Newsgroups: comp.lang.ada Date: 1999-05-25T00:00:00+00:00 List-Id: Richard D Riehle wrote in message <7i4brh$hi2@dfw-ixnews8.ix.netcom.com>... :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." Of course you don't. Neither do I. : Intuition strikes me as a psychological : concept that implies that one is "thinking about things" differently : than through the use of more ordinary reasoning. Perhaps this will help. http://www.m-w.com/dictionary.htm : I am willing to : accept the notion of intuition as an important element of problem : solving. Exactly right. It is _only_ an element in problem solving; not the means to a complete solution. : :>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. Again, I have to agree with you. Noting that something is counterintuitive may raise a question, but should not provide a conclusion. : : 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. True. In fact, questioning _why_ the idea is counterintuitive may bring about a deeper understanding of both the new and older, related ideas. This was the intent of my original post. I just want to understand why tagged types were used instead of the seemingly more popular class structure. :> :>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. : Perhaps I should have said "adopted" then, instead of "understood." The question remains. :> :>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. : True, but how often do you need to know the physics? If I'm building a house, I don't need to know that a boards solidity is a result of an interplay of forces between widely spaced atoms. I just need to know that if I nail it to this other board, it will stay there. : 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. Fine. Then the comprehensive solution should not dismiss out of hand the fact that an approach seems counterintuitive. Most definitely not in a language which has as one of it's goals, readability. : 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. : I'm not sure how a counterintuitive language is supposed to promote better design. That said, I really don't think that Ada is counterintuitive. It is a very natural feeling language. I just have issues with why the tagged type was used instead of a class construct. Since my original post, I have had conversations (sometimes loud) with one of our local Ada experts. He has given me many reasons why tagged types were used instead of a class. Samuel Mize's post was also very illuminating. They have at least left me reassured that the choice wasn't entirely arbitrary. It is disheartening, however, since I believe that this could hurt Ada's chances for increased popularity. It would be nice to see more and varied use of Ada. The response I received to my question was also a bit disheartening. With the exception of Mr. Mize, whose response was very helpful, I received no other answers to my questions. Perhaps I would've gotten better results with a "How do I send text to the screen?" question. -- Shawn M. Root