From: Georg Bauhaus on 5 Apr 2010 07:19 On 4/4/10 6:46 AM, Nasser M. Abbasi wrote: > 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? > 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". Is there something in > Ada which makes it hard to use for scientific programming? The text, by Professor Fitzpatrick, Physics, 2006, appears to be an fine example of quite useful justification rhetoric. (Of the kind well explained by, e.g. Leon Festinger or Irving Goffman.) It is full of false facts that in general would offer to an author the comforts of blissful ignorance and a convincing appearance at the same time. (Who has not been in this situation? Assuming that a quick proactive defence of your standing is more tempting than the alternative: is to shut up?) C99 (note the year) has complex types, says C hasn't. Well, it hadn't, as some point in the last century. Inexpensive compilers for Fortran 90 were available that year (2006), AFAIR, from Intel or the FSF. NAG has academic pricing for its Fortran compilers, at least now, possibly earlier. There are more. The info about C++ is rather dated in 2006---templates and interfaces would be closer to its focus, I'd think. The remark seems to draw its persuasive power from a brevity that only repeating hearsay can offer, as someone noted. During the last few months I had a chance of hearing about Fortran versus Ada in scientific computing where the subject is concurrent execution on many processors, with some communication. It turns out that there is no reason to dismiss either Ada or Fortran, judging by the results: tasking can be as good as MPI. There is, however, reason to believe that OpenMP does not scale well. (From a superficial glance at OpenMP 3.0, I see so many words sounding familiar in an Ada context (task, barrier, shared, parallel regions, ...). Are they performing mostly the same experiments that, I think, were done in the 1970s? I'd speculate that the parallel constructions aren't novelties in an HPF world, either?) As Dmitry Kazakov has recently said, when Ada run-time systems starts addressing the properties of multicore hardware there is hope that it could really shine: Not just because concurrent sequential processes are so simple to express using Ada tasks ---and you'd be using only language, not a mix of libraries, preprocessors, specialized compilers, programming conventions, etc. But also in case the fine grained complexity of OpenMP 3.0 can be bridled by simple language and a good run-time system. At little cost.
From: Keith Thompson on 5 Apr 2010 12:44 Georg Bauhaus <rm-host.bauhaus(a)maps.futureapps.de> writes: [...] > C99 (note the year) has complex types, says C hasn't. Well, it > hadn't, as some point in the last century. [...] Unfortunately, the C99 standard has not yet been universally adopted. Very few compilers fully support it. Many support most of it, but I understand that Microsoft's compiler still supports only C90 (with maybe a handful of C99-specific features). Which means that as soon as you write "#include <complex.h>", you've limited the portability of your program. -- Keith Thompson (The_Other_Keith) kst-u(a)mib.org <http://www.ghoti.net/~kst> Nokia "We must do something. This is something. Therefore, we must do this." -- Antony Jay and Jonathan Lynn, "Yes Minister"
From: none on 5 Apr 2010 16:51 On Mon, 05 Apr 2010 13:19:07 +0200, Georg Bauhaus wrote: > On 4/4/10 6:46 AM, Nasser M. Abbasi wrote: >> 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? >> 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". Is there something in >> Ada which makes it hard to use for scientific programming? > > The text, by Professor Fitzpatrick, Physics, 2006, appears to be an > fine example of quite useful justification rhetoric. > (Of the kind well explained by, e.g. Leon Festinger or Irving Goffman.) > It is full of false facts that in general would offer > to an author the comforts of blissful ignorance and a convincing > appearance at the same time. (Who has not been in this situation? > Assuming that a quick proactive defence of your standing is > more tempting than the alternative: is to shut up?) > > The only reason I can think of is pure fashion - Ada has not been taken up as a popular programming language for scientific use, therefore it is not suitable. But choosing a language based on popularity is not the best approach - although it does have some validity, providing you recognise that popular today does not mean popular when you *really* need maintenance on the software. Dismissing Algol as ephemeral ignores its influence and continuing usage as a base of pseudo-codes. Important numerical libraries were first implemented in ALgol, and later translated to Fortran when Algol's momentum faltered. But that again confuses usefulness of a language for scientific programming with popularity. Ada is heavily influenced by Algol, and I can see nothing in Ada that would prohibbit is wider uptake - other, again, than fashion. It was a language designed to promote re-usability, maximise correctness, and include efficiency and portability, and still has a variety of compilers available, so I can't see any reason why *not* to use it, if you are proficient in its use.
From: robin on 5 Apr 2010 21:18 "none" <none(a)none.net> wrote in message news:pan.2010.04.05.20.51.46.20000(a)none.net... | On Mon, 05 Apr 2010 13:19:07 +0200, Georg Bauhaus wrote: | | Dismissing Algol as ephemeral ignores its influence and continuing usage | as a base of pseudo-codes. Important numerical libraries were first | implemented in ALgol, No, they were first implemented in machine code, and later rewritten in Algol and FORTRAN. The numerical procedures of the General Interpretive Programme were written in machine code, from 1955. | and later translated to Fortran when Algol's | momentum faltered.
From: Shmuel Metz on 6 Apr 2010 08:00
In <4bba8bf1$0$56418$c30e37c6(a)exi-reader.telstra.net>, on 04/06/2010 at 11:18 AM, "robin" <robin51(a)dodo.com.au> said: >No, they Who is "they"? Note the lack of a universal qualifier. Are you claiming that all algorithms were developed first in machine code, much less all algorithms developed in the 1960's and 1970's? For that matter, do you know of *any* algorithm that was first developed in machine code? I'm sure that there were some, but I'd expect them to be rare as hen's teeth and mostly limited to the 1950's and very early 1950's. -- Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel> Unsolicited bulk E-mail subject to legal action. I reserve the right to publicly post or ridicule any abusive E-mail. Reply to domain Patriot dot net user shmuel+news to contact me. Do not reply to spamtrap(a)library.lspace.org |