[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