why did these companies choose Tcl over Python
kw at codebykevin.com
Wed Oct 31 16:36:18 CET 2007
> 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
> 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
> 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
> Are there any obvious advantages like:
> 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,
Code by Kevin
More information about the Python-list