Hacker News new | past | comments | ask | show | jobs | submit
I had to get into an old tcl program for work recently and had the same thought. I wouldn't necessarily pick it today but it was kind of nice in a way that's unfamiliar to me from modern development.
The tcl syntax is fine. And modern tcl is fine.

But tcl 7.x and before was a pure string-based language. Everything was essentially a eval(). People would hit syntax errors on production code.

Fun, painful times.

The flip side: the interpreter is super simple and fun to write.

Tcl is still entirely stringly typed. That's never changed.

There are under-the-hood optimisations to make it less insanely slow but that only affects performance.

Tcl is a cool hack (the interpret is simple to write) but it's insane to actually use it. I wish the EDA industry would realise that.

Tcl 8 introduced dual-ported objects. Everything can exist as a typed object that is convertible back to a string in certain cases (some form of string operation typically). That plus the bytecode engine makes it work completely different than prior releases.