why did these companies choose Tcl over Python

Kevin Walzer kw at codebykevin.com
Wed Oct 31 16:36:18 CET 2007

chewie54 wrote:
> Hello,
> As an electronics engineer I use some very expensive EDA CAD tool
> programs that are scriptable using Tcl.  I was wondering why these
> companies have choose to use Tcl instead of Python.   Some of these
> are:
>    Mentor Graphics ModelTech VHDL and Verilog simulator
>    Synopsys  Design Compiler and Primetime Static Timing Analyzer
>    Actel FPGA tools.
> Tcl seems to very popular in my business as the scripting language of
> choice.
> I'm in the process of deciding to use Tcl or Python for a CAD tool
> program that I have been working on.    Most of the core of the
> program,  the database,   will be done is C as an extension to either
> Tcl or Python,   but I intend to use Tk or wxPthon for the GUI.   I do
> need publishing quality outputs from drawings done on a graphics
> device that are scaled to standard printer paper sizes.
> I would prefer to use Python but can't deny how popular Tcl is,  as
> mentioned above,  so my question is why wasn't Python selected by
> these companies as the choice of scripting languages for their
> product?
> Are there any obvious advantages like:
>     performance,
>     memory footprint,
>     better cross-platform support,
>     ease of use,
> Thanks in advance for your thoughts about this.

One of the reasons Tcl has stayed around for so long is that it has 
found several niche's/domains where it has proven extremely useful. 
VDHL/Verilog is one of these areas: Tcl became the preferred solution 
for embedding and scripting, and has proven hard to dislodge. Network 
automation/scripting (via Tcl's Expect solution) is another problem 
domain where Tcl is widely used. GUI programming (with Tk) is yet another.

Developers tend to forget about Tcl as a viable programming language, 
and one of the reasons is that the problem domains where it has gained 
traction tend to be highly specialized.

I do GUI programming in Tk with both Python and Tcl. Doing sophisticated 
GUI's in Tk tends to be harder in Python than Tcl, because some of the 
current, modern Tk GUI libraries haven't been wrapped via Python. 
Understanding Tcl helps because I can drop into Tcl to customize a Tk 
widget as needed, then call the customized bits from Python.

In terms of suitability as a general purpose programming language, 
Python's biggest advantage over Tcl is the size of its standard library 
(Tcl is much smaller at its core, by design), its more singular approach 
to object-oriented programming if you use that method (Tcl has several 
different OO systems), and the size of its community--the larger number 
of Python programmers out there make it much more likely that you will 
find an open-source solution for your needs. Tcl's community is much 
smaller, its development moves more slowly, and Tcl does not compete in 
several major "hot" areas of development (no web frameworks like Django 
or Ruby on Rails).

Hope this helps,

Kevin Walzer
Code by Kevin

More information about the Python-list mailing list