From: Nasser M. Abbasi on

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
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
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
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
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.
 |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11
Prev: A good methodology ...
Next: Build raw binary on Windows