git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@444 626c5289-ae23-0410-ae9c-e8d60b6d4f22
170 lines
7.1 KiB
Text
170 lines
7.1 KiB
Text
SWIG Propaganda
|
|
|
|
<p><img src="images/propaganda.png">
|
|
|
|
<p>
|
|
The following comments about SWIG were collected by a user survey conducted
|
|
in March, 1998.
|
|
|
|
<ul>
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"Very quick first results."
|
|
|
|
<p><li>"Easy to use, no need to worry about language internals. It is a boon for application developers, like me."
|
|
|
|
<p><li>"I like the fact that it automates much of the tedious work
|
|
in building an interface C/C++ functions. This makes development easier."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"SWIG makes linking
|
|
my application to a scripting language easy enough
|
|
that it is worthwhile."
|
|
|
|
<p><li>"I came, I saw, I wrapped. And it ran. Woo hoo!"
|
|
|
|
<p><li>"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)."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"I like all the time I have saved by not writing the interfaces myself."
|
|
|
|
<p><li>"SWIG saves a lot of my energy in interfacing with many free
|
|
C/C++ libraries in my project."
|
|
|
|
<p><li>"SWIG handles the gory details and allows me to concentrate on the important things."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"Thanks again for SWIG... It's fun and allows great productivity while
|
|
avoiding much tedium."
|
|
|
|
<p><li>"[I like] the ability to write extensions basically without having to think too
|
|
hard about what I'm doing."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"Before I had to use C++ for my ``rapid'' prototyping.
|
|
Now I can script it!"
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"On the whole, SWIG is my most important development tool
|
|
after gcc!"
|
|
|
|
<p><li>"SWIG has enabled our customers to interact with our toolkits in fundamentally
|
|
new ways."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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."
|
|
|
|
<p><li>"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>
|