logoalt Hacker News

JSR_FDEDtoday at 8:31 AM10 repliesview on HN

I remember we had users at a chip foundry who were super deep into TCL. Is it still used anywhere else? Would you use it for a new project if you for instance already knew Python or Lua?


Replies

catwelltoday at 8:38 AM

Antirez (the author of this interpreter) uses it for the Redis test suite.

Personally, I know Lua and Python very well but I still used TCL a few years ago for something very specific: using ODBC on Windows. I gave more details on the Lua mailing list here: http://lua-users.org/lists/lua-l/2021-01/msg00067.html

show 1 reply
shawn_wtoday at 1:29 PM

I like tcl as an alternative to shell for any non-trivial scripts.

And its coroutines + built in event loop makes for really nice seamless async style programming.

ameliustoday at 11:03 AM

By the way, I'm guessing that Tcl was (is?) big in EDA because John Ousterhout also wrote the EDA tool Magic.

https://en.wikipedia.org/wiki/Magic_(software)

show 1 reply
smartmictoday at 10:27 AM

It is at the core of the SQLite test suite and also a first-class citizen in interfacing to it.

danhortoday at 8:36 AM

It's still the lingua-franca of ASIC/FPGA/Simulation, especially for scripting the tools.

I think it's slowly being replaced there by Python, but it's very slow.

vodoutoday at 9:10 AM

It is still used for operations procedures in, at least, European space industry. E.g., in mission control systems from Terma (CCS5 and TSC).

rausrtoday at 9:47 AM

We've got Check Point Firewalls at work, and during updates I see lots of .tcl in the web UI.

sprashtoday at 9:31 AM

Tcl/Tk to this day is the best tool to make GUI frontends for CLI applications. Besides that, in the past I used it in production for intranet database entry applications. It has since been replaced by Flask. In my opinion the higher complexity of the Flask version is no way justified and we should have kept the much simpler ~2k LOC Tcl/Tk solution.

show 3 replies
AceJohnny2today at 10:07 AM

I'm looking to use TCL for an embedded platform, as the scripting shell. Its simplicity and small size is key, as is its easy integration with C.

uwagartoday at 4:46 PM

i like calling a function f without arguments simply as

f # first word in TCL command line is a command

rather than

f ();

if there was also a function called g, i like to do things like

set a f

$a # calls f

so i can now

set a g

$a # calls g

cool i think.