From: Nasser M. Abbasi on 4 Apr 2010 00:46 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 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. (the above quote is from a course on Computational Physics at University of Texas at Austin, may be I should write to the professor and ask him why he said that, but I am not sure I'll get an answer, my experience is that most professors do not answer email :) --Nasser
From: J-P. Rosen on 4 Apr 2010 01:30 Nasser M. Abbasi a �crit : > 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 " Sigh... I understand people who stay with Fortran for scientific programming. I can't understand the benefit of switching to C. C is too specialized (for system programming) to be acceptable for scientific programming ;-) > 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? > There are lots of things that make it better: guaranteed accuracy, including for the mathematical library, convenient manipulation of arrays, concurrency to name a few. This kind of remark comes generally from hear-say of people who never had a serious look at Ada. Unfortunately, it is easier to repeat a rumor than to investigate seriously... -- --------------------------------------------------------- J-P. Rosen (rosen(a)adalog.fr) Visit Adalog's web site at http://www.adalog.fr
From: Pascal Obry on 4 Apr 2010 03:10 Le 04/04/2010 06:46, Nasser M. Abbasi a �crit : > 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". This fall into the category: I want to do C so I say whatever is necessary to explain scientifically my choice. > Is there something in > Ada which makes it hard to use for scientific programming? Nothing I can think of. Pascal. -- --|------------------------------------------------------ --| Pascal Obry Team-Ada Member --| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE --|------------------------------------------------------ --| http://www.obry.net - http://v2p.fr.eu.org --| "The best way to travel is by means of imagination" --| --| gpg --keyserver keys.gnupg.net --recv-key F949BD3B
From: Charles H. Sampson on 4 Apr 2010 14:24 Nasser M. Abbasi <nma(a)12000.org> 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. This statement comes purely from ignorance. Any person seriously interested in good scientific programming who would take the time to learn what Ada has to offer would find that it is superb for scientific programming. Has anyone written a paper "Ada for Scientific Programming"? I envision such a paper as having all of the tasking-related stuff stripped out and a heavy emphasis on the numerical issues. Probably the distributed programming stuff could be eliminated too; I'm not sure. A Paul Hilfinger comes to mind. > > ...... > > The remaining options are FORTRAN 77 and C. I have chosen to use C" Both of which can be used to create programs that continue to happily compute in the presence of incorrect data. Sigh. > > 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 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. > > (the above quote is from a course on Computational Physics at University of > Texas at Austin, may be I should write to the professor and ask him why he > said that, but I am not sure I'll get an answer, my experience is that most > professors do not answer email :) I don't know how universal that is, but it is true in my limited experience. Charlie -- All the world's a stage, and most of us are desperately unrehearsed. Sean O'Casey
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. |