SWIG Propaganda

<p><img src="images/propaganda.png" alt="Propaganda">

<p>
The following comments about SWIG were collected by a user survey conducted
in March, 1998.    

<ul>

<li><p>"SWIG has helped us minimize the hassle of writing manual wrappers.
Since SWIG has proven to be rather easy to use, I find I can carry out the types of wrapping
activities which would otherwise have been the responsibility of a
computer scientist."

<li><p>"I really love the fact that the learning curve is short
and flat.  I don't need to use this facility very often,
but when I absolutely have to link in external C routines,
or when I have to get the last drop of speed from something
previously written in Perl, I can count on SWIG to be there.
When I do use SWIG, I don't need to spend hours learning
and debugging the system.  This is the closest thing to
cut-and-paste I've ever seen in inter-language library
creation."

<li><p>"We are a research group that develops medical imaging software.
We are interested in image processing/visualization research,
and for our software, we want a simple and portable tool to
generate user interfaces. For this, we currently use
Tcl/Tk, and SWIG which provides a nice way to connect our
software (in C++) to the tcl-scripts."

<li><p>"Very quick first results."

<li><p>"Easy to use, no need to worry about language internals. It is a boon for application developers, like me."

<li><p>"I like the fact that it automates much of the tedious work
in building an interface C/C++ functions.  This makes development easier."

<li><p>"SWIG is by far the easiest way I have found to generate 
scripting interfaces for scientific software. SWIG makes it 
practical to use a single, powerful scripting language for 
all projects rather than writing a custom interface to each. 
It also encourages a consistent and modular form for a program,
and makes it easier to add contributions to my programs from 
other users/programmers."

<li><p>"I like the ease with which scripting languages can be extended.
The fact that we could so easily interface with Lotus Notes on NT using Python was just amazing."

<li><p>"SWIG makes linking
my application to a scripting language easy enough
that it is worthwhile."

<li><p>"I came, I saw, I wrapped.  And it ran.  Woo hoo!"

<li><p>"Without SWIG it would have taken much, much longer for
our group to use Python as an extension language.  Our whole
application was written mostly in C++.  We wanted to look
into using Python for portions of it in order to make it
easier to extend.  Python has a fairly nice interface for
doing this sort of thing.  The trouble was that we needed to
make hundreds of C++ classes available to Python.  This
would have taken a very long time (to write the wrapper code).
SWIG allowed us to spend a minimal amount of time with
the wrapper code and most of our time moving stuff to Python
(which was the big point in the first place)."

<li><p>"SWIG is a huge time-saver.  I have approximately 30,000 
lines of C and Python code that have been generated by 
SWIG that I didn't have to write by hand, don't
have to fix syntax and fumble-finger errors in, and 
don't have to aggressively test."

<li><p>"SWIG helps us in taking away part of the error-prone task of making
the C routines accessible from Python and has considerably improved
our efficiency."

<li><p>"I like all the time I have saved by not writing the interfaces myself."

<li><p>"SWIG saves a lot of my energy in interfacing with many free
C/C++ libraries in my project."

<li><p>"SWIG handles the gory details and allows me to concentrate on the important things."

<li><p>"Using SWIG is really fun, because it saves you from 
a lot of mechanical work and it takes care of all the 
details you don't want to bother with letting you 
concentrate on the real problem."

<li><p>"Thanks again for SWIG... It's fun and allows great productivity while
avoiding much tedium."

<li><p>"[I like] the ability to write extensions basically without having to think too
hard about what I'm doing."

<li><p>"SWIG allows me to get on with scripting
and writing C++ code without having to worry about the 
(usually considerable) issues involved in extending the
scripting language with my custom components."

<li><p>"Using a scripting language as glue between C++ components
is a powerful paradigm for combining flexibility with 
robustness and efficiency.  SWIG enables this model by
providing a solid bridge between the C++ component and 
the scripting language."

<li><p>"The ability to ``follow'' the development of the core
application without constantly rebuilding the interface
is very effective. The developments of the kernel and its interface are 
mutually protected to a large degree."

<li><p>"SWIG allows us to recycle a lot of ugly old C code and put
it into a reasonable module structure and snazzy new user
interfaces."

<li><p>"It allows us to leverage the advantages of the scripting
language, especially when so many other scripts are already
being written to glue programs together and some of our
other tools have their own scripting language interface.
Using SWIG will allow us to properly integrate each of the
parts directly into the language instead of a collection
of system() calls."

<li><p>"Before I had to use C++ for my ``rapid'' prototyping.
Now I can script it!"

<li><p>"My code is cleaner and more compact which makes it easier to
read and understand.  SWIG also encourages modularize code--allowing
one to test/debug modules independently.  This makes connecting
everything together a breeze."

<li><p>"The very idea of scripting programming on the one hand and
systems programming on the other is quite nice, the most
important feature of SWIG is to make this approach
practical on a day-by-day basis."

<li><p>"On the whole, SWIG is my most important development tool 
after gcc!"

<li><p>"SWIG has enabled our customers to interact with our toolkits in fundamentally
new ways."

<li><p>"We are using Tcl scripts as the data files driving our 
simulations.  Once the data is defined using a program
(which is pretty cool in itself), we can actually run the
simulation from script commands.  In our experimental 
environment, that saves rewriting a lot of "main" programs
that exercise the same basic objects. This isn't exactly computational steering, but it does give
our engineers a lot of flexibility."

<li><p>"All (well most) of my C++ code (MC simulations of
proteins and sequence analysis) is now driven by
a Python interface thanks to SWIG.  Once I have decided on an interface, the
process of  building it is usually trivial."

<li><p>"SWIG is an integral part of a user environment I am creating for a Molecular Dynamics company.
They have FORTRAN modules that require a steering language (Python) to enable flexible computational
research."

<li><p>"SWIG plays a critical role to automate the generation of
Perl client interfaces from the OMG IDLs for a CORBA ORB.
The Perl client interface is essential in script driven
testing."

<li><p>"I am enjoying rapidly developing complex projects using OO
and Python, but coming from a numerical background, I like
that I can get fast number crunching performance when I 
need it from C modules wrapped up by SWIG. "
</ul>
