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,6609c40f81b32989 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!188.40.43.213.MISMATCH!feeder.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Charmed Snark Newsgroups: comp.lang.ada Subject: Re: Why is Ada considered "too specialized" for scientific use Date: Mon, 5 Apr 2010 17:33:28 +0000 (UTC) Organization: The Snarky Insanitorium Message-ID: References: Injection-Date: Mon, 5 Apr 2010 17:33:28 +0000 (UTC) Injection-Info: feeder.eternal-september.org; posting-host="9f8M0iN5t54V+4DF/iqO8g"; logging-data="2367"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18o8jESJoa6zorFF+U8/s3lHP4iYdsbgWs=" User-Agent: Xnews/5.04.25 X-Face: &6@]C2>ZS=NM|HE-^zWuryN#Z/2_.s9E|G&~DRi|sav9{E}XQJb*\_>=a5"q]\%A;5}LKP][1mA{gZ,Q!j Cancel-Lock: sha1:jwdL8EE0zwEUdXzkZd0rhiok0IQ= Xref: g2news2.google.com comp.lang.ada:10852 Date: 2010-04-05T17:33:28+00:00 List-Id: Nasser M. Abbasi expounded in news:hp95j8$i29$1@speranza.aioe.org: > I was browsing the net for scientific software written in Ada, and > came across this strange statement: > > http://farside.ph.utexas.edu/teaching/329/lectures/node7.html > > "Scientific programming languages > What is the best high-level language to use for scientific > programming? Just asking "what is best" in any selection process is going to be contentious except for the simplest of things. Somewhat like asking "what is the best laptop?" Too many inputs to consider. > This, unfortunately, is a highly contentious question. > Over the years, literally hundreds of high-level languages have been > developed. However, few have stood the test of time. Many languages > (e.g., Algol, Pascal, Haskell) can be dismissed as ephemeral computer > science fads. Others (e.g., Cobol, Lisp, Ada) are too specialized to > adapt for scientific use. .. > The remaining options are FORTRAN 77 and C. I have chosen to use C " > > I find this strange, because I think Ada can be the best programming > language for numerical work. So, I do not know why the author above > thinks Ada is "too specialized to adapt for scientific use". Surely he expanded on this? How is it too specialized (in his opinion)? > Is there > something in Ada which makes it hard to use for scientific > programming? I recently tried to introduce a co-worker to the fact that Ada is free and easy to install (cygwin gcc-ada) yada yada. He started reading a couple of free online (PDF) books and said his eyes glazed over and that he has no further interest. I suppose things might be different if there was a job market for that skill here (Toronto). So that factor seems to be one important reason for some folks. Library support would be another factor, I would think. People don't want to become experts in interfacing to C (for example). But as I do more and more of this, I am finding this to be less of an issue. Maybe a good "The Art of Binding [GNAT] Ada" document would help people with this. I do feel that Ada does require you to "engineer" your project more, which is a good thing. But this is something that some folks seem to dislike. It probably impacts the inexperienced programmers the most. This is the very crowd that needs to be won over. Otherwise, it sounds as if the author has too quickly dismissed the language, without much familiarity in it. > The main problem I see with Ada for scientific use is that it does not > have as nearly as many packages and functions ready to use output of > the box for this, other than that, the language itself I think is > better than Fortran and C for scientific work. > --Nasser One huge improvement I see in Ada-2005, is the built-in inclusion of Ada.Containers. Having them "included" saves me from having to instruct downloaders of where and which version of the Booch components (or was it Charles?) etc. Having them included means that my project should always "work" the same, (in theory at least) regardless of the version of the compiler used. I am making big use of these containers in the rewrite of my basic interpreter project. I have got far enough along now to believe that this is a very practical language change. I love the higher level of abstraction without having to forego "repesentation" when it is required. My only worry remains on compiler portability to HPUX, Solaris and AIX. But at this point, I am going on faith that this will not be a huge open source problem going forward. It is encouraging to see the results of gcc-ada making it more universally available, and hopefully increasingly well tested. I feel that the benefits of an Ada rewrite now seems to outweigh the risk of compiler availability. One beauty of open source is that I don't have to justify the rewrite. But I could easily do that, as the design is much improved now (I also expect a big performance improvement later). Rewrites allow the lessons learned to be applied and Ada is also a big factor. It's funny how I got started on this rewrite- it was the farthest thing from my mind in January. I was starting to think about threads and matrix operations that might benefit etc. The Ada tasking model came into the thought process at some point. So now I'm looking forward to designing that into the interpreter when it gets further along. Just my own nearly at par $0.02 Cdn. Warren