[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: How to deal with single/dual parts?
On Nov 22, 2009, at 3:22 PM, Kai-Martin Knaak wrote:
>
> However, extreme flexibility comes at a price. The price is non-
> intuitive
> syntax
Every syntax is non-intuitive to somebody. The advantage of Scheme is
that it's so clean and simple you don't need much intuition. These
days you don't even have to count parentheses: many editors will do
that for you.
> and a lack of predefined algorithmic structures like loops.
Huh? How about "for-each"? Simpler than a procedural "for" loop in
the usual case where you want to iterate over everything in a list
(say, of nets or components). Then there are "map" and "apply", which
are often absent from procedural languages, but are extremely useful
shorthand ways of doing a "loop", or perhaps something more complicated.
> In
> addition, there are vastly different scheme code styles.
>
> A scripting interface to an application does not need generalized
> programmability. But it should be as intuitive as possible. So a
> general
> user can easily whip up the script needed for his/her particular
> purpose.
It takes very little Scheme knowledge to whip up a gnetlist back end.
I ought to know. The gnetlist back ends I contributed are not written
very elegantly: I mostly just copied and pasted from other back ends.
I had to study more for the tutorial.
>
> It is no coincidence that popular scripting languages like perl,
> tcl or
> php do not feature such general flexibility.
I've used perl and tcl a bit, and I think they're much harder to
learn than Scheme.
>
> IMHO, scheme as a scripting language supposed to be used by general
> users
> is one of the weak spots in geda.
Nope. It's one of gEDA's strengths. It's why we have so many gnetlist
back ends.
John Doty Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user