> Stuart Brorson wrote: > > >Perhaps back in the stone age, when PCB was written for the=20 > >Altair 8800^H^H^H^H^H^H^H^H^H^H Atari [2], generating symbols on the fly > >from an M4 macro was a good idea in order to save space memory.=20 > > > Seems to have totally misunderstood.
Well, perhaps I don't know exactly why M4 was used to generate symbols when PCB was written over 20 years ago. But I *do* think I know a thing or two about circuit design. And from the standpoint of a circuit designer (i.e. our target audience for gEDA), M4 is unnecessarily old, scary, nasty, and obscure. For PCB to make inroads into the circuit design community, it needs to act and feel like a contemporary PCB layout tool. M4 is unnecessary baggage. Footprint files -- i.e. PCB's second lib -- are the way it's done these days. Creating parameterized footprints using stand-alone TCL, Perl, or Python scripts would be more attractive and more contemporary. > Creating using M4 means that you can generate footprints in a=20 > *parameterized* manner, which is 100 times better than the WYSIWYG=20 > concept. Really. Generating footprints using an automated, parameterized method is a good thing. I completely agree. Do it using TCL, Perl, or Python. > Using a drawing tool for making footprints is like using WORD for making=20 > books. So use Perl or Python. Or did I say that already? Then check the footprint using a Perl or Python DRC hecker. Or visually, if you prefer. You can't do that with M4 generated symbols. (Or you can, after they are already on your board.) > The problem is that the maintenance of the M4 library is sketchy, at=20 > best. It really needs a full overhaul, to make it consistent and proper=20 > parameterized, but that is another matter. Well, it's sketchy because it is an obscure relic which nobody wants to support. All the more reason to jettison it and use contemporary, supported languages like Perl or Python utilities to generate symbols parametrically! > > <> Now, > > however, it strikes me as a weird relic of the past which can only > > frighten users away, encouraging them to continue hiding under the > > skirts of commerical layout software vendors. > > If the purpose of geda was to emulate the commercial software, that=20 > would be a very bad move. Indeed. But it is already happening. Karel introduced the subject by asking (effectively) "Hey -- why are there two different types of libraries in PCB?!?!?" I'd be willing to bet that lots of designers have been turned off of PCB (in part) because it uses a very strange footprint mechanism. I was! > > If I had my druthers, we'd deprecate that entire M4 symbol library, and > > move to the file based library. Eventually, we'd kill the M4 library > > altogether. > > Any benefit of using an M4 script to generate symbols can be > > replicated using Perl or Python. M4 should be banashed. > > It can of course be argued that perhaps some other language other than=20 > M=A4 would have been better, and more suitable. Hmmm. . . . I wish I had made that point. . . . Stuart
