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,5cb36983754f64da X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-04-21 02:15:37 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!tar-meneldur.cbb-automation.DE!not-for-mail From: Dmitry A. Kazakov Newsgroups: comp.lang.ada Subject: Re: No call for Ada (was Re: Announcing new scripting/prototyping language) Date: Wed, 21 Apr 2004 11:29:11 +0200 Message-ID: References: NNTP-Posting-Host: tar-meneldur.cbb-automation.de (212.79.194.119) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de 1082538936 8310335 I 212.79.194.119 ([77047]) X-Newsreader: Forte Agent 1.8/32.548 Xref: archiver1.google.com comp.lang.ada:7376 Date: 2004-04-21T11:29:11+02:00 List-Id: On Wed, 21 Apr 2004 06:51:00 +0400 (MSD), "Alexander E. Kopilovich" wrote: >Dmitry A. Kazakov wrote: > >> >> Sorry, I just could not imagine how Ada can defy general notion of >> >> software. >> > >> >But could you imagine how Ada can DEFINE general notion of software? >> >I must confess that this is unimaginable for me - how any programming language >> >can DEFINE general notion of software. >> >> Any language defines the subject of talking. > >A loud shot, but a miss - because we don't (and can't) talk about general >notion of software in Ada. How so? >> any programming language, Ada, C++, etc define, form, >> influence the notion of software. > >It does not define or form, but at most contribute something to those notion. I do not see any difference. >And yes - it influences, but not much in most cases... yes, there were notable >exceptions - the languages, which substantially influences the matter - first >trio - Fortran, Algol, COBOL, then LISP, Basic, Simula-67, SmallTalk, then C >and Pascal, then C++ and Visual Basic. (This is not the list of my favorite >languages - for example, I certainly like APL much better that Basic, but I >think that for now Basic influences the general notion of software much more >than APL; and I do not speak here about theoretical understanding, therefore >I did not include, for example, CLU in this list; and this it the cut for the >current moment and not an outlook for the whole history - that's why I did not >include, for example, PL/I). If we lower the barrier then we should, perhaps, >include SNOBOL and/or Perl (or. perhaps, intermediate AWK) and possibly SQL. You are mixing popularity, influencing, contribution, all goes into one cauldron. >> >Well, I'll explain how Ada DEFIES general notion of software. Ada does that >> >in two ways: >> > >> >First, Ada expects dealing with detailed specifics of the problem, and detests >> >generalized approaches that ignore that specifics without prior consideration. >> >> Please elaborate this. If you mean generic programming then Ada >> supports it by having both generics and class-wides. > >Surely in Ada generalization constructs are present and perfectly usable - >Ada has nothing against reasonable generalization. But note that all these >constructs aren't too user-friendly, they never work automatically or >implicitly. You have to instantiate generics explicitly - you have to type >(and then read) an additional line, which is a burden. Not a big burden, but >nevertheless it works against careless generalizations. For a good reason so. Generics are itself user-unfriendly and should be considered as a temporal work-around, until better generic programming gears will mature. >Similarly for >class-wide programming - you have to type 'Class explicitly and then take >some consequences. Yes, because T and T'Class are different types. Messing with that makes no good. >Again. not a big burgen, but most programmers will take >even small, but systematic burden only for a good reason - so it works against >careless and unreasonable generalizations. > >And the same goes all the way with Ada. Just try to increase your speed and >run carelessly with the banner "I'm creating software!" in your hand - you'll >immediatiately meet various obstacles and annoyances, which you'll never meet >in C and you'll never meet major part of them in C++. You will, just at some later stage of development. You can easily write templates in C++, but it is very difficult to understand and use them. Actually all your arguments are against the modern notion of software which is more concentrated on re-use, than new design. For very obvious reasons of course, there are not enough people on earth to program all that will be needed in the following 50 years, if things will go as they do. >While you are close to the problem domain and reflect it precisely in your >code, Ada do her best for you. But if you try to take a vague (carelessly >generalized) look to your problem then Ada frowns at you and makes you unhappy. > >> >Second, Ada does not recognize software as an application domain that has its >> >own specifics - domain-specific features, primitives and structures. (The fact >> >that Ada somehow recognizes several other languages is largely irrelevant to >> >the issue.) >> >> I don't understand this. Should it mean that, say, ClearCase cannot be >> written in Ada? > >I'm not familiar with ClearCase, I'm only vaguely aware of it, but I think >it doesn't matter here. Certainly, ClearCase as well as any other user-mode >program/system can be written in Ada. And it can be written in Perl or, say, >Visual Basic also. Are there Ada features that will help make the ClearCase >better (comparing with making it with C++ or Perl or Visual Basic)? Are there >particularly suitable notations, well-thought useful attributes or anything >else particularly good for this specific purpose? I think no, there aren't >such features in Ada. Did you participate a medium-sized project in C++ or Basic? >> I see, you would enjoy experimental software dealing with your >> bank account, > >Although I have none (remember, I live in Russia, and I'm neither former >parteigenosse nor "new Russian" nor a bandit, and I'm not affiliated with >either kind, so this shouldn't be too surprising), nevertheless from time to >time I'm asked privately (by a friend who works for a bank here) for some >general advice regarding banking software - usually concerning problems with >either experimental software or migration to new version. Well, I do not >enjoy those stories, sometimes I even sighed after that - there are too much >stupidity, incompetence and indifference... and note that many "procedures" >are supposedly present, but they are too often either ignored or avoided or >distorted or simply aren't understood or aren't known by relevant personnel >or are blindly copied from foreign ones without necessary adaptation/customization. > >> controlling the nuclear reactor 30 miles away, > >Interesting, how far you think is the Sosnovyi Bor power plant with 4 big >nuclear reactors from south-east of Saint-Petersburg(Russia) where I live? Not much far, right? >I can tell you that I still don't see too much danger from it - mostly because >there are still enough scientific power in nearby institutes. Because it is not directly controlled by software. Yet. >Certainly, that >scientific power and correspondily indirect control is gradually weaking in >some important aspects, but I think that former surplus was so large that we >still have enough. At the same time I believe that stopping that plant would >create a whole gallery of disasters caused directly or indirectly by deficit >of electricity. And you will appreciate somebody who will write a program for it. In a language of great influence on the notion of software, surely, under Windows XP, so that latest bug fixes could be downloaded directly from Internet, while personnel could savour the cutting edge of technology surfing in Internet. I believe that the reactor will enjoy it too! >> managing the air bag in your car. > >I never had a car (and also never had driving license), so it shouldn't be >too surprizing that I don't know what is exactly an air bag. Perhaps I know >something about it - if it is something traditional and not relatively recent >invention (as I studied car construction in my childhood), but just don't know >that English term. So, not knowing what that air bag is and which is its role, >I can't estimate consequences of its malfunction. It is a plastic pillow inflated when car collides with an obstacle. It is around for many years. A recent idea is to replace its simple sensor by a computer controlled system which will detect crashes before they happen. In the effect air bags will be inflated by software. There are also other interesting innovations: brake-by-wire, stir-by-wire, which names need not to be explained. Enjoy! -- Regards, Dmitry Kazakov www.dmitry-kazakov.de