Hacker ApprovedDepartments

Tcl

Hacker Approved

Ranked 36 of 163 programming languages by recommenders

Recommended for its simple everything-is-a-string model, Lisp-like flexibility and easy C integration; critics cite confusing quoting rules and weak data types.

Recommended for its simple everything-is-a-string model, Lisp-like flexibility and easy C integration; critics cite confusing quoting rules and weak data types.

89 people gave an opinion

recommend it
74
criticize it
15
approval share
83%
Each figure is one person. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Owned for 30 years

Median of the 5 owners who said how long they have had it.

Each square is one year.

Why it carries the badge

  • 74 people recommend itNeeds 10 or more, met.
  • 4.9 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 12 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Simple everything-is-a-string model

    “The tcl model of "everything is a string" makes exactly the right abstraction to create GUI frontends for CLI applications rapidly and keep them simple at the same time.”

    Comment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

    “it's much cleaner and the "everything is a string"-ness makes sense for a fundamentally text based medium”

    Comment from 19 May 2026 in “Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised”

    “best thing about TCL is easy syntax and that everything is a string”

    Comment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”
  • Lisp-like metaprogramming and flexibility

    “Its simplicity always astounded me since it seems really simplistic but at some level it's just as malleable as lisp.”

    Comment from 20 Nov 2025 in “What Killed Perl?”

    “it shares a lot of the same metaprogramming that Lisps have - more so than the vast majority of other languages”

    Comment from 30 Sep 2026 in “Tcl/Tk 9.1”

    “I can't fault that implementation choice when thinking about Tcl as a "Lisp but it's strings"”

    Comment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”
  • Stable, minimal, won't change

    “Rock solid code, no surprises, was able to handle tens of thousands of concurrent bets.”

    Comment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

    “stable, uncomplicated and minimalist tooling that wont evolve out from under you”

    Comment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”
  • Easy C and extension integration

    “Given how stable and clean the Tcl C interface has always been, it's probably a perfect use case for LLM generation.”

    Comment from 29 Sep 2026 in “Tcl/Tk 9.1”

    “TCL had the ability dynamically load and call into .so's which was really powerful.”

    Comment from 19 Nov 2025 in “What Killed Perl?”

    “Its simplicity and small size is key, as is its easy integration with C.”

    Comment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

What people warn about

Each mark is one comment

  • Grew complex over time

    “Tcl evolved into something quite complex - compiling to bytecode, object oriented features, etc, etc.”

    Comment from 14 Mar 2026 in “XML Is a Cheap DSL”

    “Tcl always had one foot in the old days and one foot in the modern era”

    Comment from 29 Sep 2026 in “Tcl/Tk 9.1”
  • String-based model shows limits

    “The everything is a string approach shows its limits quite quickly.”

    Comment from 30 Sep 2026 in “Tcl/Tk 9.1”

    “TCL doesn't have strong datatypes and that disqualifies it for me”

    Comment from 2 Jul 2026 in “Red Programming Language: Static linking support”
  • Confusing quoting and evaluation layers

    “tcl requires you to understand mixing 3 different layers of evaluation right off the bat.”

    Comment from 2 Jun 2026 in “Why Janet?”

    “it is too easy to misuse the quotation rules, leading to subtle bugs”

    Comment from 2 Jun 2026 in “Why Janet?”
  • Seen as outdated and fading

    “I wouldn't necessarily pick it today but it was kind of nice in a way that's unfamiliar to me from modern development.”

    Comment from 11 Jun 2026 in “FPS.cob: A first person shooter in COBOL”

    “TCL is practically dead, and only lingers on in the EDA industry”

    Comment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

Other programming languages people recommend

The four most recommended other programming languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Tcl compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Rust2,03997368%134 yrs118 ownersApproved
Go1,25465166%135.9 yrs63 owners—
Python1,06782157%1218 yrs64 owners—
Zig74344962%121 yr27 owners—
TclThis page741583%1230 yrs5 ownersApproved
See all 163 programming languages, ranked

What people said

40 of the 115 comments that mention it, newest first. Each links to the original comment.

“both AFAIK have less vulnerabilities than PHP likely thanks to smaller code size”

RecommendsComment from 29 Oct 2026 in “Chained PHP2Shell exploit roots 25 servers, including US Government servers”

“the tcl consoles allow you an escape from the cad tool vendor's (usually marginal and restricted) ui”

RecommendsComment from 13 Oct 2026 on Hacker News

“The everything is a string approach shows its limits quite quickly.”

CriticizesComment from 30 Sep 2026 in “Tcl/Tk 9.1”

“Tcl on its own is good as a configuration language, creating DSLs, or as a scripting/extension interface”

RecommendsComment from 30 Sep 2026 in “Tcl/Tk 9.1”

“TCL is the original extension language, and in the very hidebound electronics CAD world, has a very long tail.”

RecommendsComment from 30 Sep 2026 in “Tcl/Tk 9.1”

“it shares a lot of the same metaprogramming that Lisps have - more so than the vast majority of other languages”

RecommendsComment from 30 Sep 2026 in “Tcl/Tk 9.1”

“I love how everything is a string or can be hacked on a string”

RecommendsComment from 29 Sep 2026 in “Tcl/Tk 9.1”

“Tcl always had one foot in the old days and one foot in the modern era”

MixedComment from 29 Sep 2026 in “Tcl/Tk 9.1”

“Given how stable and clean the Tcl C interface has always been, it's probably a perfect use case for LLM generation.”

RecommendsComment from 29 Sep 2026 in “Tcl/Tk 9.1”

“everything else from Java to Tcl to ZFS was a dangerous distraction”

MixedComment from 21 Sep 2026 in “What Sun got wrong”

“the only sandboxing that works is default deny, like Tcl or Lua”

RecommendsComment from 21 Sep 2026 in “AX – Google’s Open Agentic Orchestrator”

“The overhead of using languages compared to the previous is partly why I keep using bash or Tcl.”

RecommendsComment from 7 Aug 2026 in “Humans missed 1 in 3 threats approving AI agent commands across 40k game runs”

“A remarkably comprehensive and well-written introduction to Tcl!”

RecommendsComment from 1 Aug 2026 in “Cross-Platform CLI and GUI Tools with Tcl/Tk”

“TCL doesn't have strong datatypes and that disqualifies it for me”

CriticizesComment from 2 Jul 2026 in “Red Programming Language: Static linking support”

“But tcl 7.x and before was a pure string-based language. Everything was essentially a eval().”

MixedComment from 11 Jun 2026 in “FPS.cob: A first person shooter in COBOL”

“I wouldn't necessarily pick it today but it was kind of nice in a way that's unfamiliar to me from modern development.”

MixedComment from 11 Jun 2026 in “FPS.cob: A first person shooter in COBOL”

“Tcl is pretty good at functional-programming type stuff, and it can absolutely do anything that you could do with a macro.”

RecommendsComment from 2 Jun 2026 in “Why Janet?”

“you will be able to do all the same things without drowning in parenthesis and weird syntax”

RecommendsComment from 2 Jun 2026 in “Why Janet?”

“tcl requires you to understand mixing 3 different layers of evaluation right off the bat.”

MixedComment from 2 Jun 2026 in “Why Janet?”

“it is too easy to misuse the quotation rules, leading to subtle bugs”

CriticizesComment from 2 Jun 2026 in “Why Janet?”

“it's much cleaner and the "everything is a string"-ness makes sense for a fundamentally text based medium”

RecommendsComment from 19 May 2026 in “Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised”

“This will run on Windows, Linux, MacOS, and Tcl's starkit/starpack system makes it easy to generate a single executable file”

RecommendsComment from 4 May 2026 in “Why TUIs Are Back”

“it felt very powerful, like Lisp but without the easy syntax”

MixedComment from 13 Apr 2026 in “A Perfectable Programming Language”

“Tcl evolved into something quite complex - compiling to bytecode, object oriented features, etc, etc.”

MixedComment from 14 Mar 2026 in “XML Is a Cheap DSL”

“The objections to tcl I see most often seem to reflect an outdated or incomplete understanding of the language and its capabilities.”

RecommendsComment from 17 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“It can be expressive, redable, sufficiently performant, and makes it easy and fast to develop and test new features”

RecommendsComment from 17 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“Rock solid code, no surprises, was able to handle tens of thousands of concurrent bets.”

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“I can't fault that implementation choice when thinking about Tcl as a "Lisp but it's strings"”

MixedComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

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

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“TCL has a lot of options for manipulating strings - take a look at just the built in string command for a start”

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“TCL is practically dead, and only lingers on in the EDA industry”

CriticizesComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“The tcl model of "everything is a string" makes exactly the right abstraction to create GUI frontends for CLI applications rapidly and keep them simple at the same time.”

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“For instance you open a socket, write there any value you have without serialization, read it in the other side, data transfer done.”

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“stable, uncomplicated and minimalist tooling that wont evolve out from under you”

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“Its simplicity and small size is key, as is its easy integration with C.”

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“best thing about TCL is easy syntax and that everything is a string”

RecommendsComment from 16 Feb 2026 in “picol: A Tcl interpreter in 500 lines of code”

“Its simplicity always astounded me since it seems really simplistic but at some level it's just as malleable as lisp.”

RecommendsComment from 20 Nov 2025 in “What Killed Perl?”

“TCL had the ability dynamically load and call into .so's which was really powerful.”

RecommendsComment from 19 Nov 2025 in “What Killed Perl?”

“Tcl got a LOT of traction. Expect was everywhere. Tk kicked ass and took names.”

MixedComment from 9 Nov 2025 in “Why I love OCaml (2023)”

“Its definitely a great scripting language and is a lot more flexible than it gets credit for.”

MixedComment from 8 Nov 2025 in “Why I love OCaml (2023)”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.