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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,304c86061dc69dba X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,5cb36983754f64da X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-09 23:07:06 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newshub.sdsu.edu!newshosting.com!nx01.iad01.newshosting.com!border1.nntp.ash.giganews.com!border2.nntp.sjc.giganews.com!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Tue, 10 Feb 2004 01:07:03 -0600 Date: Tue, 10 Feb 2004 02:07:03 -0500 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.c++ Subject: Re: No call for Ada (was Re: Announcing new scripting/prototyping language) References: <20040206174017.7E84F4C4114@lovelace.ada-france.org> <54759e7e.0402071124.322ea376@posting.google.com> <2460735.u7KiuvdgQP@linux1.krischik.com> <1806342.U8nlC1YBRp@linux1.krischik.com> <7mYVb.18151$F23.15120@newsread2.news.pas.earthlink.net> In-Reply-To: <7mYVb.18151$F23.15120@newsread2.news.pas.earthlink.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 24.147.77.160 X-Trace: sv3-2t4cumh0/Dxo+pEWXZBrvquvRvqXO2f8Q7L1WX6ckH+6d5qD5swYLq/GxwFizYTddgbNaQaUswDmnch!BkWR1arFvs7Fvn84oWmDfDrAq/LsDC2YUVbPJl0w+faqoSUVrU6bSLWfzcJidw== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:5382 comp.lang.c++:18388 Date: 2004-02-10T02:07:03-05:00 List-Id: Richard Riehle wrote: > Language advocacy can be an entertaining activity on a cold winter's > evening, but even the most ardent enthusiasts for one language or another > will eventually admit that languages are nothing more than tools for > composing computer programs. The good craftsperson selects the > appropriate tool for the job at hand. Not really. Programming languages are also tools for thinking. And different languages favor different ways of thinking. This effect can also be seen in spoken languages you can't understand the French and the people of Quebec unless you can think in French. (I am the first to admit I can't. I can try, but I find the exercise very strenuous. I need to literally accept a foreign viewpoint to do it well and I am unwilling to do so. The cultural baggage with Arabic and Chinese is larger that that which comes with French, but it isn't as imperialistic. Japanese on the other hand, is much more demanding than French, but in another sense it is not as hard. Japanese requires you to act in certain ways, but it doesn't try as hard to impose its worldview on you. However, the worldview that comes with Japanese is pretty nasty. Note, this does not say that Japanese are nasty. However, I have found that there is a huge difference in world view between those Japanese who speak English and those who don't, I don't know if this holds true for those who speak only another Asian as opposed to European language. I haven't studied Russian in decades, but I remember it as being like the Germanic langauges. They do fit your discription above. They are tools and can be used in many different ways. > ...The religiofication of language arguments leads nowhere. Reasonable > people must understand that languages are designed by people, and every > language is flawed in one way or another. We must admit the flaws in our > preferred language before the other fellow will admit the flaws in > his/her preferred language. As we do so, we might just come up with some > ideas for the next improved language rather than remain paralyzed with > the our current favorite. I don't disagree, but I am going to draw a very different parallel with religion. In the sermon this Sunday, our minister who worked in marketing for decades before going to seminary, drew an interesting comparison between "the church" and corporations. He was talking about how corporate structures were designed to be conservative, in the sense that they are designed to preserve and enhance the corporation. Products and customers, while important, are secondary. I corporation can switch products or switch products, if necessary for the survival of the company. The church is different. We can't walk away from the message and we really are failing if we chose to target a particular market. It may be a good strategy for the short term survival of the organization, but at the same time we can't tailor the message to a particular market. (We can package the message differently--but that is starting to get away from the point I would like to make.) So on one hand we have the church organization, and there is a strong tendancy to make it as comfortable as possible for "our kind of Christian." As I said above, nothing wrong with that if it is confined to packaging--the way the building is decorated, which hymns we sing, even the scheduled time for the Sunday service. But we can't lose sight of the important fundamentals that can't be changed if we still want to be Christians. (And again the doctrinal differences between various denominations are way off topic here. But the parallels in programming languages are on topic in the next paragraph. ;-) So we have three levels of competing priorities, and it is the job of the Elders to insure that we get those priorities straight. The rest of the sermon was about the fundamental conservative nature of any organization such as a church, and the revolutionary nature to religion as such. We have similar levels in programming languages and a similar problem with organizational conservatism. Notice that there is a need for conservatism that can't be ignored. Fixing the roof may not be the primary mission of the church. On the other hand having the building collapse and kill half the congregation is not acceptable. In the programming language arena, there are three groups of "stakeholders." There are those whose responsibility is to keep the language consistant and usable. There are also current users who don't want to be forced to learn new features. Finally there are the language evangelists, who want to use the language in new market segments, and think that the language would be perfect if the langauge maintainers would only add a few dozen small changes. ;-) In programming languages the ultra-conservative role of church doctrine is the job of the language lawyers. Any major programming language has a maintenance organization which is by nature very conservative, and with good reason. If (in the case of Ada) the ARG doesn't do its job right, the result is not just a loss of users. Languages can be made unsuitable for their current role, and the result is usually something similar to a religous schism. A perfect example of this was Algol 68. It was a huge change from Algol 60, and the net result was a schism. Wirth put his alternate proposal "on the table" Algol-W, and a large portion of the current Algol 60 users switched to Algol-W and then to Pascal. Algol 68 was a nice language once decent documentation existed, and several good compilers were eventually available. But the programmers who wanted to use Algol 68 included very few Algol 60 programmers. On the other hand if the ARG doesn't keep the language "relevant," eventually the user community will wither away to nothing. The Ada community is currently growing, but not nearly as fast as the overall demand for programmers. (I should say as fast as the overall demand for software engineers, but let's keep to one religious war at a time.) I think that the ARG is maintaining the correct balance. Those who don't want change are not screaming about the proposed changes in Ada 0Y, and the evangelists are not satisified, but it is their nature to be unsatisfied. There will always be those who are unwilling or unable to tolerate the almost glacial pace of change. Fine. For those people there are boutique languages and languages du joir. And I am not denigrating that need. There have been several projects I worked on where we developed project specific languages. But the toolset we used were based on an existing major production language, with a set of translation tools for the modified language. One good example of a language that started out that way was C++. Another was Object Ada which added object oriented features to Ada 83. Object Ada was made obsolete by Ada 95, but C++ is now a separate language development tree from C. (And it will stay that way. The market for C is now different enough from the market for C++ as to be almost disjoint.) Of course for every seed that finds nourishing soil and grows, hundreds of others fall on barren ground. But the language evangilists want someone else to do the job of developing their concept of a perfect language for them. It can never happen. If they learn how to use the tools, they can develop your own language and do all the maintenance themselves. Or if they win the Powerball lottery, they may be able to hire someone to do it for them. But otherwise it is just a huge job. My guess is that just the Ada 0Y changes including proposals and reviews will be on the order of a man century of work. If you want to argue that it is only a couple of man decades, I hear you and don't. You have to count the effort by current langauge users to learn the changes, the compiler developers who have to modify their compilers, the textbook authors who have to update their texts, and so on. Yes, at the core of all this, between the ARG and WG9, there are several dozen people who average less than three months a year working on standards related issues. However, we can't forget that any changes we agree to will eventually have a much larger effect on the Ada community as a whole. That is in part what makes the organizational parts of the Ada community so conservative. Of course, if there is a bug in the current standard, and different compilers do different things, then we don't need to be conservative, and we aren't. We might as well choose whatever is best in the long run for the Ada community, because the "extra" effort to understand the problems and the fix is going to have to be spent in any case. So if you want Ada to change, be patient. However, if you want any changes which make the language unacceptable to its current users, forget it. If you identify a new need that can't be satisifed by any version of Ada which satisfies current users, go off and do your own thing. (Or for that matter a new version of C++, C, Pascal or COBOL.) It won't be the first time. Some such efforts have been drawn back into the fold, like Object Ada. Others such as VHDL and SPARK identified a market that was sufficiently different so that the right solution was to develop separate tool chains. (SPARCK is a "pure" Ada subset, so it can be compiled by normal Ada compilers. But you also have to run the source through the SPARK Examiner to have correct SPARK code.) And I am not trying to "blow off" reasonable extension proposals. I am just trying to describe the sort of thinking we go through before making ANY language change. If you just make a three paragraph recommendation of an idea that looks identical to one that was worked out in minute detail by the ARG and rejected by WG9, don't be surprised when we say it won't fly, and don't want to go into details. The details may involve dozens to hundreds of hours (and pages) of discussions. (You can usually find them at www.ada-auth.org and if you aren't willing to read what is there, thoroughly, you can see why I and other ARG members sometimes get frustrated. -- Robert I. Eachus "The war on terror is a different kind of war, waged capture by capture, cell by cell, and victory by victory. Our security is assured by our perseverance and by our sure belief in the success of liberty." -- George W. Bush