Chris,

>> Are there really that many engineers who use TCL? I'd think anyone
>> "new" who graduated in the last few years would be looking at python
>> for general-purpose engineering scripting?

> If we assume engineers start work at age 22 and continue until
> retirement at age 65 then we must conclude that most engineers did
> NOT "graduate in the last few years".  Using simple assumptions the
> average engineers would be out of school for 20 years.

Ah, the pretension of the young.  I must be an old fogey because I use
Tcl---holy cow, I'm middle-aged!  How did that happen?

> That said, I'd bet that xcircuit users are very much skewed to younger
> users.   Also I'd bet xcicuit sees far more use by hobbyists working at
> home  than by professional engineers.  But even so in any population of
> users it is not safe to assume most are recent graduates

 From what I've seen from emails I get, I'd say that there are indeed a
large number of hobbyists out there using xcircuit, but my general
impression is that more of the hobbyists tend to be older rather than
younger.  But I think an equal number, if not considerably more, users are
graduate students drawing diagrams for theses, and professionals needing
a nice, quick drawing for a conference paper.  Given the various uses
to which I put xcircuit, nothing would surprise me.  I use it to write
datasheets for my company, wirebond diagrams, as well as schematics for
generating digital subcircuits, and I am working on a collection of
violin scales and arpeggios.  I use it to write my Christmas cards and
letters every year.

> The way to solve this best is to use this: http://www.swig.org/
> Using Swig it is easy to support many languages without a lot of effort

I was all in favor of Swig when I ran across the original paper, which
was about five or six years ago.  I decided that it was particularly
right about the idea that all tools should be command-line based, with
an interpreter.  To make use of any interpreter of choice turned out to
be much more difficult in practice.  XCircuit was originally just an X11
application, modeled on the "standard" style of coding X11 apps.  Of
course, reading about Swig made me realize that doing it that way was
all wrong, and it took me quite some time to rewrite the whole program
as a Tcl extension with a command-line interface.  This considerable
re-write shows up plainly in the messiness of the source code.  To make
a tool truly Swig-compatible, though, is one of those "easier said than
done" things, outside of a small set of programs that are non-graphical
and already command-line based.

> The best thing that could be done for xcircuit, to make it more popular is
> 1) Connect it with other software.  Make it easy to exchange data
> 2) Make a very good and robust library, or better give it a way to
>    use several other libraries

That, I cannot argue with.  But one must ask, why hasn't it been done
already?  I wrote an addition with which xcircuit can be used as a
front-end to ng-spice, and I wrote a script which imports EDIF into
xcircuit;  neither feature has been properly finished.  Meanwhile, I
get occasional libraries sumitted by people here and there, but it's
a pretty random collection.  The overall level of interest seems to
remain fairly low.

The bottom line?  To make it more popular, widen the audience.  It seems
to me that a very good way to widen the audience is to have another,
modernized version of the tool, with broader access to platforms such
as the Mac, or Windows, the iPad, or whatever.  The source code is just
an implementation.  It's the underlying concept that counts.  Personally,
I'm pleased that somebody likes the underlying concept enough to take
the trouble to port it to a different graphics package, to clean up the
code;  to actually care about it.

Software evolves.  Software that is too constrained to a specific set
of dependencies tends to die out.  I started writing XCircuit in the
summer of 1993, as I started my Ph.D. work at Johns Hopkins.  That makes
it 17 years old.  That's very old, by software standards.  The switch to
Tcl/Tk and away from Xt was an attempt to keep it from folding into the
obscurity of graphics packages that were increasingly outdated.  Anyway,
I have spent 17 years of my life on this thing, and it's reached the
point where it does, more or less, everything that I need it to for my
own work.  I've scratched my itch, as it were.  The more it stays my
program, in my style of coding, the more vulnerable it is in the long
run.  I'll admit, I'm a pretty curmudgeonly programmer.  I'm of the
generation that learned to program on the Apple II and thinks that C
is just a bit too far removed from assembly code for my liking.  I also
have the equally curmudgeonly attitude that anybody who hasn't read
Donald Knuth from cover to cover and taken it to be the word of god
isn't qualified to program, which makes me very hesitant to write
software that is dependent on other packages, because, heaven forbid,
they may have written an inefficient algorithm.  Yeah, I think I need
to let go a bit.

Anyway, it's not as if xcircuit won't be around on opencircuitdesign.com
for as long as I'm alive and can reach a C compiler.  So don't get too
worried.

                                                ---Tim

+--------------------------------+-------------------------------------+
| Dr. R. Timothy Edwards (Tim)   | email: [email protected]    |
| Open Circuit Design, Inc.      | web:   http://opencircuitdesign.com |
| 22815 Timber Creek Lane        | phone: (301) 528-5030               |
| Clarksburg, MD 20871-4001      | cell:  (240) 401-0616               |
+--------------------------------+-------------------------------------+
_______________________________________________
Xcircuit-dev mailing list
[email protected]
http://www.opencircuitdesign.com/mailman/listinfo/xcircuit-dev

Reply via email to