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.
