[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Gdatabase and datadraw available for download



Hi --

Please excuse me while I muddy the waters. . . . .

> > The gEDA code base uses guile.  The other obvious choice is TCL.  Other 
> > than being compatible with gEDA, is there a good reason to base the code 
> > on guile?  FPGA designers generally will be willing to use TCL for 
> > timing constraints and all kinds of design specific things, but they get 
> > lost in Scheme.  The more advanced ASIC guys who are capable of writing 
> > netlisters are willing to use Scheme, but they'd also use TCL.  I'm not 
> > guessing about this, it's based on strong experience.  I could do both, 
> > but I'm not sure that makes sense.
> 
> I'd probably vote for scheme.  For those of use who use cadence, scheme
> isn't too bad.  Also for anyone hacks on gnetlist, they're already
> exposed to guile and TCL may be yet another thing to learn.

I am personally agnostic 'cause I've programmed in both languages.
However, I have a few comments to make, followed by a question.

Comments:

*  More people probably know TCL than Scheme, so any tool which uses
TCL will appeal to more potential users.

*  Scheme is a beautiful language in that it is very simple, but is
able to perform very powerful tasks.  That's probably why it is
(still?) taught at MIT in the intro to computer classes.  On the other
hand, Scheme is very confusing.  It's hard to read.  It doesn't do
looping, except by recursion [1].  Scheme lends itself to
difficult-to-read spaghetti code, unless you adhere to a very strict
functional programming paradigm, which is foreign to most people.  In
short, it is hard to write a procedural program in Scheme.  And let's
face it:  most people [2] think procedurally rather than
functionally.  Therefore, your average bench-level engineer will
likely find Scheme a real turn-off, and that won't help with the
tool's adaptation in the real world. 

*  Mentor Graphics is transitioning its tools away from "Ample" to TCL
as the scripting language of choice.   Therefore, there *is* tradition
and support for TCL in the commercial EDA world.  

*  At least in my (perhaps limited) experience, most ASIC designers
used Perl for their scripting jobs, so perhaps the TCL vs. Scheme
alternative is a red herring?

Now my question:

Isn't it the case that the Gimp has hooks for scripts written in many
different languages?  I seem to recall writing a Perl script for the
Gimp once.  Can we reuse the Gimp-script interface code for gEDA so
that one can use any scripting language desired?  After all, the whole
gdk & GTK+ library was originally developed for the Gimp.  Anyway, I'd
love to script gEDA in Python . . . . . 

Stuart


[1] Personally, I think it is more straightforward to write a
loop than think recursively.  If I have to wrap my head around a
concept -- rather than just program -- then I am annoyed.  I don't
like map & other "higher level" CS programming constructs 'cause they
don't come naturally -- at least to me (and many other people with
whom I have spoken).

[2] Besides theoretical CS professors -- who don't write programs
anyway.