Subject: Re: CCL:Re: CCL:Object-oriented means for computational chemistry programming

From: Konrad Hinsen <[email-masked]>
Date: Wed, 23 Jul 1997 15:04:11 +0200

>   In a non-commercial sense I think most application domains have
> their own set of tools, and it will be very hard to convince     
> mathematicians to give up MatLab/Mathematics and astronomers to
> give up AIPS/AIPS++ and statisticians give up S-Plus and ...

True. So maybe such activities should be more specific to one domain.
But I think the basic idea makes sense: since scientists are not
able to develop non-trivial high-quality code of their own, due to
lack of time and technical knowledge, then some institution should
take care of that task and assemble a team of the right experts.

> If the code is implemented "correctly" there is no reason to do
> this.  When was the last time you needed to upgrade ftp, or      
> telnet, or bc, or yacc?  I use libpdb from the CGL to read PDB files 

That's something else; the programs don't change because the
requirements don't change. I was thinking of programs that are changed
continuously to incorporate new methods. After a while the result is
an big mess. I think I don't have to name examples, we are all using
them...

>   I think the problem isn't that code naturally decays over
> time but that it wasn't well designed in the first place.  Flaws

Exactly!
-- 
-------------------------------------------------------------------------------
Konrad Hinsen                          | E-Mail: [email-masked]
Laboratoire de Dynamique Moleculaire   | Tel.: +33-4.76.88.99.28
Institut de Biologie Structurale       | Fax:  +33-4.76.88.54.94
41, av. des Martyrs                    | Deutsch/Esperanto/English/
38027 Grenoble Cedex 1, France         | Nederlands/Francais
-------------------------------------------------------------------------------

---

From: Matt Challacombe <[email-masked]>
Date: Wed, 23 Jul 1997 10:09:37 -0500 (CDT)

Dear All,

This OO debate is very interesting.  I have a different perspective 
that I would like to share.  It is nicely summarized in a quote
by Alan Perlis:

                 Optimization hinders evolution.

Thus, if we strive only for optimal re-usable code, we reach a standstill
and risk programming very well engineered dinosaurs.  This is certainly
true of more numerically intensive codes.  Excellent examples of
algorithms superceeding well engineered implementations include linear
scaling electronic structure methods, fast Ewald methods, fast multipole 
methods, multiple time step methods, multigrid, etc etc.

To me, the issue is one of engineering vs science.  If computational
chemistry is to progress, it is important to focus on building physics and
chemistry into our mathematical implementations.

To be fair, some areas, such as the visualization of molecular
structure, appear to be well developed, and can certainly benefit
from an engineering perspective.  On the other hand, it makes
little sense to quibble over factors of 1-2 between Fortran and C, 
when factors of N and N^2 are still to be had.

With best regards and wishes, Matt

-------------------------------------------------------------------

Dr. Matt Challacombe                           [email-masked]
Minnesota Supercomputer Inst.                  TEL: 612-626-0763
1200 Washington Avenue South                
Minneapolis, MN 55415

--------------------------------------------------------------------

---

From: "Lestaw K. Bieniasz" <[email-masked]>
Date: Wed, 23 Jul 1997 17:16:59 +0200 (W. Europe Daylight Time)

Tuebingen, 23.07.97

Hello,

> take care of that task and assemble a team of the right experts.

One possible and evident solution to this problem would be to let the
scientists learn more about programming, and let them be much more
interdisciplinary than they are allowed to nowadays. They could then
produce a quality software without creating additional institution
and additional beaurocracy. I am convinced that nobody can produce
a really useful software for science, without actively participating
in real-life research. This means that only properly educated scientists
can do this. Some people would say that interdisciplinary teams can do
this (for example brilliant chemists together with brilliant
programmers), but I don't agree. Sometimes it takes more time and effort 
to organize such a team that to produce the software. Of course, this idea
requires that the traditional disciplinary structure of science be changed. 
People should be allowed to make scientific careers in interdisciplinary
fields such as for example chemistry-computational science. Otherwise, you
will not find interested, right people for the job. There is much talk
about this, especially in US, where a substantial revision of higher
education programs is suggested, and similar changes are proposed. I hope
they will not remain there but will also come to the conservative Europe. 

Bye,

					L.

*-------------------------------------------------------------------*
|                        Dr. Leslaw Bieniasz                        |
| temporary address: (3rd April 1997 - 31st August 1997)            |
|       Institut fuer Organische Chemie, Universitaet Tuebingen     |
|          Auf der Morgenstelle 18, 72076 Tuebingen, Germany.       |
|              E-mail: [email-masked]           |
*-------------------------------------------------------------------*
| permanent address:                                                |
| Institute of Physical Chemistry of the Polish Academy of Sciences,| 
| Molten Salts Laboratory, ul. Zagrody 13, 30-318 Cracow, Poland.   | 
|                   E-mail:  [email-masked]                 |
*-------------------------------------------------------------------*