delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2012/12/14/23:08:29

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Date: Sat, 15 Dec 2012 05:16:38 +0100 (CET)
X-X-Sender: igor2 AT igor2priv
To: geda-user AT delorie DOT com
X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu"
From: gedau AT igor2 DOT repo DOT hu
Subject: Re: [geda-user] Find rat lines
In-Reply-To: <95896B46-44E5-40BA-AB8F-2A81E6073CAD@noqsi.com>
Message-ID: <alpine.DEB.2.00.1212150500240.26605@igor2priv>
References: <20121204183305 DOT 6b04c0dc AT jive DOT levalinux DOT org> <20121208112649 DOT 388a9d22 AT jive DOT levalinux DOT org> <1355011808 DOT 19390 DOT 8 DOT camel AT localhost> <alpine DOT DEB DOT 2 DOT 00 DOT 1212090407031 DOT 26605 AT igor2priv> <1355188647 DOT 12937 DOT 14 DOT camel AT localhost> <A7B4EDBD-3704-4837-9350-A16559C60A2A AT noqsi DOT com>
<201212140010 DOT qBE0ABjV023762 AT envy DOT delorie DOT com> <172CCAAB-0423-43EF-8A04-5A9961F1D5B9 AT noqsi DOT com> <201212140122 DOT qBE1MoKM019255 AT envy DOT delorie DOT com> <5AA18F19-2EA9-4E7D-9378-F768D8E1E5DD AT jump-ing DOT de> <alpine DOT DEB DOT 2 DOT 00 DOT 1212140501300 DOT 26605 AT igor2priv>
<50CB5D82 DOT 8060507 AT jump-ing DOT de> <E5DE4486-B23F-4945-943A-F46C6E308B90 AT noqsi DOT com> <201212141820 DOT qBEIKQDN005665 AT envy DOT delorie DOT com> <43147C45-75A5-4393-AB07-AFBFD7BD09BA AT noqsi DOT com> <CAC4O8c_YzeqQ84huGrZPL+=aK5C89phD3VgRHko40N8hWCzw7A AT mail DOT gmail DOT com>
<95896B46-44E5-40BA-AB8F-2A81E6073CAD AT noqsi DOT com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com


On Fri, 14 Dec 2012, John Doty wrote:

> On Dec 14, 2012, at 4:18 PM, Britton Kerin wrote:
>
>> I find this really surprising, since for me pcb was the simple part of gEDA
>> to learn.  It was the combination of figuring out which attributes had to
>> be set in gschem, how symbols and footprints connected together, and how
>> the whole arrangement was propagated into pcb that was painful.
>
> But gschem is so easy to understand. Everything is accessible. Select a symbol, Hs, and you can see its construction down to the level of individual primitives. Primitives are simple things, pretty easy to understand. Modify any attribute. Add new attributes. Draw lines, text, whatever. Encapsulate arbitrary complexity in a symbol with hierarchy. Make it work for you.

By the way, I have similar experience as Britton Kerin.

I agree with John that the foundation of gschem is simple, but there are a 
lot of other things on top of gschem which make things more complicated. 
Understanding symbols and attributes was easy, but implications are not 
(heavy vs. light symbols, what do you need to do to get a heavy symbol 
off of VCC, 3 different attributes per pin, side effects of 
multiple components with the same refdes, slotting, the :1 for net names, 
etc). I still learn new side effects of attributes of combination of 
attributes even after using gschem for more than 6 years. Last time I 
tried spice simulation for the first time and while doing so learned new 
implications of attributes (not spice but geda related properties).

I fully undertsand John's preference for strong foundation, I prefer that 
too; a minimal number of simple features from which the user can build 
whatever he wants. However, it doesn't always result in easier-to-learn 
tools, and PCB vs. gschem/gaf is a good example, at least in my case of 
some users. There are examples of all combinations of foundation vs. 
earning curve.

Also, what one finds such an elegant minimalistic foundation and what one 
finds a hack may differ from user to user. One of my favorite examples is 
how awk handles function arguments: once you understand the calling 
convention (especially if you understand the stack), it's trivial and 
elegant. A simple trick solves the problem of variable number of 
arguments, optionally with default values (with some limitation) and local 
variables. Without introducing new syntax. Others, especially from OOP 
world find this an ugly hack and prefer to have an explicit syntax for 
each feature they find distinct.

Just my offtopic 2 cents.

Regards,

Tibor


- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019