Tcl: Everything Is a String
Heart️ for Tcl.<p>Tcl wasn't my first language, but it's near and dear to my heart. It's a little oddball for sure.<p>I can't decide whether it's Python trying to be Bash, or Bash trying to be Python. But it's surprisingly expressive.<p>Everything is strange about the syntax - from "everything is a string" to "expr" to the weird variable-assignment syntax.<p>It's also really tiny, and has a great async event-loop framework. It has built-in support for sockets and non-blocking I/O. It has a GUI toolkit that's pretty useful for making quick-and-dirty tools. It's incredibly easy to use interactively with a REPL. And it's still the scripting language of choice for the FPGA industry, which is where I got my start as a software engineer.<p>The Tcl community is small and stable. And the language just keeps soldiering onwards, in a gradual way. It feels like it's been stable and fully-realized for the last 20 years. No breaking API changes, no syntax changes. It just keeps on keeping on, providing automation to tools that need it. Tcl has outlived a bunch of newer languages, and I hope it sticks around for another 20 years.