Subject: TCL Comp. Chem tools..

From: [email-masked] (Rachelle J. Bienstock)
Date: Fri, 5 May 95 09:21:54 -0400

Dimitris K. Agrafiotis, PhD  mentioned that "Tcl/Tk is rapidly becoming a de-facto standard
for cross-platform GUI development".  I'd like to mention that the new version of the
Biosym MD program, Discover 94.0 uses TCL with extenstions (they call it BCL) input
files....

Rachelle

                                #####
                                (o  o)
 +------------------------oooO---(__)---Oooo----------------------------+
 | 									|
 | Dr. Rachelle Bienstock	INTERNET :[email-masked]	|
 | National Institute of						|
 | Environmental Health Sciences					|
 | P.O. Box 12233 Mail Drop 10-03	Telephone : 919-541-3397	|
 | Research Triangle Park, NC 27709	Fax : 919-541-1578		|
 +----------------------------------------------------------------------+
                               ||    ||
                              (__)  (__)

---

From: "Dimitris Agrafiotis" <[email-masked]>
Date: Fri, 5 May 1995 12:01:05 -0400

On May 5,  9:21am, Rachelle J. Bienstock wrote:
> Subject: CCL:TCL Comp. Chem tools..
>
> Dimitris K. Agrafiotis, PhD  mentioned that "Tcl/Tk is rapidly becoming
> a de-facto standard for cross-platform GUI development". I'd like to
> mention that the new version of the Biosym MD program, Discover 94.0 uses
> TCL with extenstions (they call it BCL) input files....
>
> Rachelle

Hopefully, it bears no resemblance to the original BCL... Rachelle's point,
however, is a very important one. While Tcl/Tk has been used mostly as
a scripting language, it is also a powerfull command interpreter that
can be embedded to any interactive application. More importantly, Tcl
features the simplest syntax of all programming languages I know, and can
be easily mastered by a non-specialist. The point I am trying to make
is that Tcl should be used as a standard command interpreter in all
interactive molecular modeling packages so that users don't have to
struggle with the peculiarities, idiosynracies and bugs of interactive
shells developed by software houses that don't specialize in language
design.

-- 
Dimitris K. Agrafiotis, PhD             | e-mail: [email-masked]
3-Dimensional Pharmaceuticals, Inc.     | tel:    (610) 458-6045
665 Stockton Drive, Suite 104           | fax:    (610) 458-8249
Exton, PA 19341

---

From: [email-masked] (Hinsen Konrad)
Date: Fri, 5 May 95 13:06:05 -0400

Before everyone becomes too enthusiastic about Tcl, I would like
to point out that Tcl - like most "scripting" languages - is
very limited, especially when it comes to data manipulation.
If all you want is to automatize a short sequence of actions,
that's fine - but don't expect more from it.

Personally, I would prefer scientific tools to be integrated with a
really powerful programming language. It should be sufficient to do
e.g. all kinds of data analysis. And it should be integrated well
enough to allow e.g. the definition of potentials in MD simulations as
user-defined functions. Such a system would improve productivity
tremendously for some applications. And it is perfectly possible
with today's technology - all it takes is an institution or
company big enough and willing to realize such a project.

Standardization is attractive, as you point out. But the history
of computing also shows the dangers of premature standardization,
leading to standards that are not good enough for their purpose.
Fortran and DOS come to mind as obvious examples, but there are
some less obvious ones - like the X Window system, which has
failed to provide uniform and efficient user interfaces for the
Unix world.

-------------------------------------------------------------------------------
Konrad Hinsen                     | E-Mail: [email-masked]
Departement de chimie             | Tel.: +1-514-343-6111 ext. 3953
Universite de Montreal            | Fax:  +1-514-343-7586
C.P. 6128, succ. A                | Deutsch/Esperanto/English/Nederlands/
Montreal (QC) H3C 3J7             | Francais (phase experimentale)
-------------------------------------------------------------------------------

---

From: "Ernest Friedman-Hill" <[email-masked]>
Date: Fri, 5 May 1995 11:13:49 -0700

> that's fine - but don't expect more from it.

Actually, you really are selling Tcl short. Some very nice applications can
be and have been written using Tcl and the various extensions that are
available. It *is* a complete programming language. The portability,
extensibility, and lisp-like ability to treat code as data and vice-versa
make it ideal for developing large heterogeneous distributed systems.

> e.g. all kinds of data analysis.....
>

The point of buying scientific tools is that they themselves are supposed
to do "all kinds of scientific analysis."  If you need to write complex
components in the tool's extension language, you haven't bought all the
tools you need!

On the other hand, one of the nice things about Tcl is the very clean
methodology for integrating extensions and external commands. If you
need a Tcl FFT command, and you have an FFT routine in Fortran or C,
it's an easy matter to turn it into a Tcl command that you can call
from within Tcl scripts.  I would therefore tell vendors of tools which use
Tcl as an extension language to make sure to supply their code as libraries,
so that the user can add new Tcl commands to suit their own application.

> failed to provide uniform and efficient user interfaces for the

I would posit that no one ever chose FORTRAN, DOS *or* X/Windows as a
standard - they were simply what was available at the time that they were
needed.  I (sort of) agreee with your cautions about standards, but people
should not interpret this as an exhortation to wait for the ultimate tool
before they begin work on anything!  Things need to get done in the interim.

-- 

---------------------------------------------------------
Ernest Friedman-Hill
Senior Member of Technical Staff
Scientific Computing Department
Sandia National Laboratories
Org. 8117, MS 9214
PO Box 969 Livermore, CA 94550

---

From: "Dimitris Agrafiotis" <[email-masked]>
Date: Fri, 5 May 1995 14:51:51 -0400

On May 5,  1:06pm, Hinsen Konrad wrote:
>  ...

You realize, of course, that Tcl can be used from inside C or C++ if
you need access to sophisticated data handling capabilities. In fact,
we use this functionality extensively at 3D Pharmaceuticals with
very impressive results. I do agree that there is need for a
unified language, but that's not going to happen for a long, long time.
As for standardization, my feeling is that having a premature standard
is far better than having no standard at all. Still, your comments
are valid and very well taken.

---

From: [email-masked] (Hinsen Konrad)
Date: Fri, 5 May 95 15:13:01 -0400

I know. So theoretically you can any program in TCL that can be written
at all - but that doesn't mean it's going to be easy or pleasant.
Tcl suffers from a serious lack in support of data structures, which
are as important as control structures when writing non-trivial code.

I have some doubts about its suitability for *large* systems of any kind.

Normally I need some tools that I can't buy anywhere, e.g. because they
are very specialized. So I need the ability to extend whatever tools
I use. Currently I use C-Shell scripts or Emacs macros, but that is
only a workaround. And some programs (Gaussian 90 frustrated me a few
days ago) do their best to make this difficult.

That's a good starting point, but doesn't always work. Some tools
simply cannot be provided as classic libraries. Component libraries
based on SOM or similar technologies are much more flexible - but
there you are already beyond the limits of Tcl.

Of course by standardization I meant the creation of de-facto standards.

Obviously. But when people perceive the need for uniform tools, they
should use one designed for the purpose at hand (and if necessary design
a new one), rather than use the first one that looks good enough at
first sight. Until the needs are clear, we would be better off if
different vendors would try different strategies to see how they
work in practice.

---

From: [email-masked] (Hinsen Konrad)
Date: Fri, 5 May 95 15:23:08 -0400

If you have the source code of the tool that uses Tcl. As a user,
you normally don't.

That's exactly where I disagree. The computer industry is full of
premature standards, and they are very difficult to get rid of.
Very soon compatibility with the standard becomes the major
criterion in designing new products, just as it happens now in
the PC world. I don't know whether anyone has ever estimated the
economic cost of IBM-compatibility, but I am sure it is an
impressive number.

---

From: "Ernest Friedman-Hill" <[email-masked]>
Date: Fri, 5 May 1995 14:14:24 -0700

Hinsen Konrad ([email-masked]) has been railing against the use of
Tcl for scripting chemistry tools, and against the premature establishment of
standards.

Don't get me wrong, folks, I am certainly aware of the problems
that we all deal with that were caused by the 16-bit segmented PC architecture
becoming a de facto standard.

But what would you have us all do, Mr. Konrad?

Folks with PCs used them to design today's better architectures. No one said,
"everyone must use the PC-clone architecture." It just happened, and as a
result, computers became cheap commodities and the world benefitted
immeasurably.

Structured programming would never have been invented if the power of
high-level language programming hadn't been demonstrated by FORTRAN.
Remember, early FORTRAN programmers were looked down on as coddled and
wimpy because they weren't programming in the one true language, assembler
(which, before that, was for wimps who couldn't hack direct-to-binary.)

Good standards are those that allow a lot of people to get a lot of work done.
Bad standards are those invented by folks whose idea of work is forming
committees to design standards that no one asked for.

If you have positive ideas to contribute, let's hear them.

--