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-Thread: 103376,9ce828272f314121 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!newsfeed.stueberl.de!news.rh-tec.net!news.tu-darmstadt.de!tsicnews.teliasonera.com!newsfeed.pionier.net.pl!news2.icm.edu.pl!not-for-mail From: "Staszek Goldstein" Newsgroups: comp.lang.ada Subject: Re: output of enumeration types Date: Wed, 20 Apr 2005 02:40:10 +0200 Organization: http://news.icm.edu.pl/ Message-ID: References: NNTP-Posting-Host: systemy230.toya.net.pl X-Trace: achot.icm.edu.pl 1113957606 3941 217.113.225.230 (20 Apr 2005 00:40:06 GMT) X-Complaints-To: abuse@icm.edu.pl NNTP-Posting-Date: Wed, 20 Apr 2005 00:40:06 +0000 (UTC) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-Priority: 3 X-RFC2646: Format=Flowed; Response X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MSMail-Priority: Normal Xref: g2news1.google.com comp.lang.ada:10597 Date: 2005-04-20T02:40:10+02:00 List-Id: Uzytkownik "Jeffrey Carter" napisal w wiadomosci news:Mwc9e.10836$lP1.5710@newsread1.news.pas.earthlink.net... > Staszek Goldstein wrote: > >> Thanks for the idea, it is slightly more elegant than my solution. >> Nevertheless, I have the impression that this is a deficiency of Ada >> which should be dealt with. A solution could be kind of >> "universal_character" type, freely convertible to any character type. > > Implement your Roman numbers problem in another, widely used, imperative > language, preferably one from the C family, first. Then come back and do > it in Ada. Let us know if you still have complaints about Ada's support > for this kind of thing. I am afraid this is just the kind of argument that makes Ada so unpopular (no offence intended). The point is that Ada delivers lots of beautiful abstractions, but people are often quite happy with something less abstract and easier to use. For example, I would have no difficulty dealing with the problem in C because I would not have even dreamt of building the type in C - I would have used regular strings instead. You use abstractions to solve problems, not to create them. As an example, look at the changes for the Next Ada. There are some great ideas which make life easier for the programmers, like anonymous access types, removing the need for some type conversions during OOP, adding support for unbounded strings and so on. On the other hand, we shall still have to deal with the "constructor problem" and learn the many great ways of dealing with it instead of getting rid of the problem altogether. Similarly, we will have no gnat.io package, instead our students (who are not English or American) will loose time trying to figure out where to put a dot and where an underscore in ada.integer_text_io. Ada, while gaining power, lost some of its virtues as a language "easy to read" without becoming "easier to write". Staszek