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,38fc011071df5a27 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-02 00:46:06 PST From: "Tarjei T. Jensen" Newsgroups: comp.lang.ada References: <6a90b886.0305262344.1d558079@posting.google.com> <3ED4A94C.2020501@noplace.com> <3ed4c9a2@news.wineasy.se> <3ED4EB4E.6050108@cogeco.ca> <3ED63B23.5040308@cogeco.ca> <3ed7278b@news.wineasy.se> <3ED79241.2060908@cogeco.ca> <3EDA680D.3050703@cogeco.ca> Subject: Re: Ideas for Ada 200X (Ada.Sockets, enlightened) MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 X-Original-NNTP-Posting-Host: pc1.akermar.com Message-ID: <3edb00a7@news.wineasy.se> X-Original-Trace: 2 Jun 2003 08:45:43 +0100, pc1.akermar.com X-Complaints-To: abuse@songnetworks.se NNTP-Posting-Host: news.wineasy.se X-Original-NNTP-Posting-Host: news.wineasy.se Date: 2 Jun 2003 08:45:44 +0100 X-Trace: wineasy!newsfeed.wineasy.se!news.sto.telegate.se 1054539944 news.wineasy.se (2 Jun 2003 08:45:44 +0100) X-Complaints-To: abuse@songnetworks.se Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!info1.fnal.gov!nntp.upenn.edu!elk.ncren.net!hammer.uoregon.edu!news.algonet.se!algonet!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed1.e.nsc.no!nsc.no!nextra.com!newsfeed1.wineasy.se.MISMATCH!wineasy!newsfeed.wineasy.se!news.sto.telegate.se!news.wineasy.se!not-for-mail Xref: archiver1.google.com comp.lang.ada:38311 Date: 2003-06-02T08:45:44+01:00 List-Id: Warren W. Gay wrote: > But this is the problem isn't it? Your needs may be simple, but > others needs are definitely not. But we are talking about a simple library for simple needs. Simple as opposed to all singing, all dancing. > Here's one: You want to connect to a web server, but you're not > getting any response (the web server is down). Yet, if you were to > use the name server in a more advanced way, you could find out that > there are alternative web servers (all having the same name, but > possessing different IP numbers). It is still beyond the scope of the library to expose the user to those sort of worries. > Doing a lookup today on www.yahoo.com, I saw 9(!) different IP#'s that > can be used to reach a web server. An application exploiting that > information could bypass the one server that is down, but trying one of > the other 8. Your "simplified" application would have to report a > failure to connect. Yes. Does it worry me? No. > But there are _many_ users, with _many_ different needs. What you want > is something real simple. This serves only a small portion of the > overall community. Quite the opposite. A simple library serves the needs of the vast majority of the community. You keep forgetting that we are talking about the simple library. It does not preclude a more complicated library for people with more complex needs. Let me repeat myself: We are talking about a simple user level socket library which allows user to write simple applications. > Part of the challenge for standards and library writers is striking > a comfortable balance between simplicity (elegance) and general > utility (functionality). And it does require careful planning and > compromise. But beware: if you compromise too much towards a simple > library, you will only be able to address simple needs. Additionally, > in Ada, this can be difficult to extend later (more on that later). We do NOT want to extend that library. We want deliberately keep it simple. > This is the kind of problem that people want to solve. They don't want > to have to write Ada bindings to "work around the problem". The problem > is that the library doesn't exist in standard form. You may only want to > exchange text, but many here need to much more than that. But this is a libarary for those who have SIMPLE needs. It is not for those who need complete control. > I am not interested in "adding features". I am interested however, in a > complete solution. Microsoft sells features (flying folders and animated > paperclips etc.). We in comp.lang.ada are interested in serious > solutions to programming problems. Some programming problems are very > serious, and have a bearing on the safety of human lives. You are trying to turn something which is intended to be simple and easy to understand into something so complex that there is NO WAY a novice might try to use it. > You've focused on the phrase "things should be simple". But Einstein was > very careful to add "but not simpler". This means that if the solution > is too simple, then it does not solve the problem (in the case of > physics, this means that the theory does not map to reality). A simple > but _complete_ solution is elegant. A simple but incomplete solution is > not only ugly, but is by definition "incomplete". When we learn about physics, most of us will get by with Newtonian physics. Only a selected few have any use for quantum mechanics. We get by with a gross simplification. > If you only plan for the simple, you'll be stuck there. The only way out > will be to tick people off by making wholesale package changes later. > NOBODY wants those kinds of changes. What we decide today, we will be > stuck with for another 10 years. Probably very much longer than that. Which is perfectly sensible. Because we are intentionally designing something that is simple. Simple to use. Simple to understand. We want something which have a reasonable chance of being standardized. Because there is not much to quarrel about. We don't need 5 years of work to make sure every little detail is in the specification. That is why I proposed that these libraries should reside in their own hierarchy. With the top node being "simple". greetings,