Subject: TCL/TK

From: A J Turner <[email-masked]>
Date: Thu, 6 Jul 1995 18:37:32 +0100 (BST)

Hi!

I have just been using TCL to do some chemistry workand this has set me 
thinking about the subject.

The rate at which fairly powerfull routines can be built up, coupled with 
the cross platform nature of TCL, make TCL or TCL like languages the thing of 
the future.  

For a lot of the work we all do, the limiting factor is not 
the time it takes the computer to do calcualtions, but the time it takes 
to get software to run, or generate input decks for existing software.  
TCL/TK is excellent at helping in these areas.

>From this I would conclude that:- Use of TCL/TK must become more widly
accepted, and the creatation of a central server is a good idea.  
However, TCL/TK will get a badd name if people start saying it can do 
things that it cannot - IE perform quickly or replace C/FORTRAN programing.

Well, I though I better do something other than just ask questions!!

Love and cuddles to all

Alex

+--------------------------------------------------+
|Alternate E-mail [email-masked]            |
|www home @ http://www.bath.ac.uk/~chpajt/home.html|
+--------------------------------------------------+

---

From: [email-masked] (Hinsen Konrad)
Date: Thu, 6 Jul 1995 14:48:47 -0400

Similar languages have been available for decades. They have just been
ignored or not taken seriously.

Very true. And yet many people are so obsessed with "efficiency" (being
defined by CPU time only) that they use Fortran or C for one-time jobs
that run for a few seconds.

My conclusion is a bit different. I don't want to deny the
good points of Tcl/Tk, as a scripting language with good
GUI support, but for many tasks other languages are more
suitable. For scientists especially, I recommend the
following ones:

  APL 
  J
  Mathematica
  Matlab

J version 1 is free, and there is a free Matlab-Clone called
Octave. So it costs nothing to have a look at these. Personally I have
been using APL for many years until I had to give it up because I had
no implementation I could use; APL implementations can be quite
expensive for workstations. I miss it a lot, especially when I have to
waste hours on a trivial job that would be a one-liner in APL. Now I
am using Matlab because I happen to have it, but it is nowhere nearly
as flexible as APL, although it is more suitable for such things as
signal processing. J is similar to APL in many respects, but uses
plain ASCII characters, which makes it easier to implement on a
variety of machines. Its documentation unfortunately is more of a
puzzle than a reference, at least the last time I looked at it.

Scripting and rapid-prototyping for more general applications are

  the Unix shells (sh, csh)
  Perl
  Python
  Tcl

and many less widespread ones. The shells are on every Unix box,
and Perl, Python and Tcl are free. My personal favourite is
Python, but many people prefer Perl.

-------------------------------------------------------------------------------
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: A J Turner <[email-masked]>
Date: Thu, 6 Jul 1995 20:34:03 +0100 (BST)

Hi!

I would agree that there are,and have been may other quick and easy 
programing langusges.  I am not familiar with most of those which you 
have mentioned - more shame on me.

There is, I understand, one majour difference between TCL (and therefore 
TK) and Perl.  This difference being extensibility.  I have written 
several C routines ( for rotations verctor manipulations etc) that I now 
use regularly withing my TCL implementation.  Further, there are being 
develope chemistry orientated versions of TCL using its powerfull 
extsibility.

The ability to write new routines for TCL makes it posible to see it as an 
extention to C or object orientated C based programing languages, rather 
than a language all by its self.  Seen in this light, it is posibly a 
different beast to other scripting languages and should be treated accordingly.

Mind you lets not take the thing too seriuosly, more than likely, it will 
all be out of date in 5 years time!!!!!

Best to all

Alex

---

From: [email-masked] (Hinsen Konrad)
Date: Thu, 6 Jul 1995 15:50:48 -0400

That is not such a fundamental difference. Extensibility (with low-level
code) is not a feature of a language, but of an implementation. You
can extend all languages whose interpreters/compilers you get as
source code.

Much more interesting are languages that are extensible by design,
without requiring access to the interpreter/compiler. In a sense,
functions and subroutines are a kind of extensions, but most
classical languages don't allow you to define new operators
or new data types with associated operations. That is one of the
chief advantages of object-oriented languages, and it should not
be underestimated. And that is exactly why I like Python: it is
an object-oriented scripting language. Another incredibly powerful
language is Smalltalk, but it is less interesting for scientific
use.

Probably. Nevertheless, they will still be used. Fortran has been out
of date for decades and is still the most widely used language
in science!

---

From: A J Turner <[email-masked]>
Date: Thu, 6 Jul 1995 21:30:58 +0100 (BST)

Hello all netters!

If one sends a message to a person on a list and circulates it to the 
list, this means the person gets it twice.

This I have found to be quit disconcerting.  It is almost as if someone 
is trying to ram a point home - which I am sure is not the intent.

Good night!!!

---

From: [email-masked] (David J. States)
Date: Thu, 6 Jul 1995 20:14:58 -0500

On Jul 6,  2:48pm, Hinsen Konrad wrote:
> Subject: CCL:TCL/TK
>    the cross platform nature of TCL, make TCL or TCL like languages the thing
>    of the future.
>

Actually, Tcl/Tk is the first example of a language that:
	- is a well thought out programming language
	- supports GUI scripting
	- supports rapid prototyping
	- supports extensiblity well
	- is available for a range of scientifically interesting platforms
	- is free.

Tcl without Tk does not really offer much over perl, or for that matter basic,
but the ability to create a graphical application is new.  Hypercard might be
viewed as a precident, but at the time that Hypercard came out, Macs did not
really have the power to support scientific computing.  Smalltalk with
graphical
extensions is also a precursor, but most non-smalltalk programmers find the
philosophy of smalltalk programming hard to deal with and the commercial
implementations of smalltalk are pricey.  Visual basic might be the closest
alternative, and modern PCs are reasonable performers.

David

-- 
David J. States
Institute for Biomedical Computing / Washington University in St. Louis