Why I Like Tcl
The author appreciates Tcl for its elegant syntax, ease of C integration, and event-driven model, but notes its declining popularity, weak type system, and lack of modern libraries.
Read original articleThe article discusses the author's appreciation for the Tcl programming language, highlighting its strengths and weaknesses. Tcl is presented as a powerful yet simple glue language, combining features of shell scripting and functional programming. The author praises Tcl's consistent syntax, ease of integration with C, and robust introspection capabilities. The language's event-driven model and clean I/O implementation are also noted as significant advantages. However, the author acknowledges Tcl's declining popularity, lack of modern libraries, and limitations such as a weak type system and absence of certain programming features like metaprogramming and built-in keyword parameters. Despite these drawbacks, the author believes Tcl remains a practical and enjoyable tool for programmers, especially those who appreciate its design philosophy. The conclusion emphasizes that while Tcl may not be as widely used as other languages, it offers unique benefits that can appeal to specific programming needs.
- Tcl is praised for its elegant syntax and ease of integration with C.
- The language features a robust event-driven model and clean I/O implementation.
- Despite its strengths, Tcl faces declining popularity and lacks modern libraries.
- Limitations include a weak type system and absence of certain programming features.
- The author finds Tcl to be a practical tool for specific programming needs despite its drawbacks.
Related
I Probably Hate Writing Code in Your Favorite Language
The author critiques popular programming languages like Python and Java, favoring Elixir and Haskell for immutability and functional programming benefits. They emphasize personal language preferences for hobby projects, not sparking conflict.
A brief interview with Tcl creator John Ousterhout (2023)
John Ousterhout, creator of Tcl, highlighted its embeddable nature and "everything is a string" philosophy. He reflected on missed opportunities, including Tcl as a browser language. Ousterhout emphasized the importance of practical utility in widely adopted languages like Tcl and Python.
Why You Should Not Use Tcl (1994)
Google Groups no longer supports new Usenet posts. Richard Stallman advises against using Tcl for serious programming due to limitations. Users debate Tcl's suitability, citing its extendability and similarities to Lisp.
Objective-C is just, like, a leaky abstraction over C
Objective-C is described as a "leaky abstraction" over C, integrating modern programming features and enabling interoperability. Its design is effective, with Objective-S proposed as a streamlined variant.
The Liberating Experience of Common Lisp
The author critiques modern programming languages for their complexity, praising Common Lisp for its stability, unique developer experience, and creative freedom, making it preferable for software development.
My interest in the language got a second wind when I read yosefk's blog entry about it https://yosefk.com/blog/i-cant-believe-im-praising-tcl.html
I think there's room for a new language which speaks to Tcl's strength as a command language. This is an under-recognized niche IMHO, mostly covered by shell languages, which have a necessary focus on running other programs. That means they need to communicate with those programs primarily through the command line interface for invoking a program, which is a very thin bottleneck for interactive feedback.
Tcl as a scripting and extension language, which focuses on issuing commands, is to this day basically unique (this theme is extensively elaborated in the linked post, it's a good read). I find myself wondering what another language, freed of the constraint to fit the (from a modern perspective) extremely resource-constrained systems prevalent when Tcl was big, might look like.
If I ever figure that out, I might try and write it.
I have one application that needs tcl and tk, I use it for my checkbook, it is a nice and simple application that data is saved in text files.
cbb has been around since 1999 and Professor Marco A. P. Cabral fixed many issues a few years ago. I think me and the Professor are the last ones left using cbb.
https://sites.google.com/matematica.ufrj.br/mapcabral/softwa...
It works with version 8.6, had minor issues with 8.5, but prior versions it worked fine. Since I heard 9.0 was released, I hope that odd issue does not come back or other issues do not occur :)
But, one good thing, you can have multiple versions of it on your system. Plus it works great on Linux and the BSDs.
OT1H, this labels itself as Verilog, but OTOH https://github.com/Scaleda/Scaleda/blob/v0.2.2/src/main/scal... (it has a non-standard license, so caveat lawyerator)
I couldn't readily find the Antlr file that it is adapting into IJ's AST in order to know how much it tries to cover
"The TCL Programming Language"
and they will understand why Tcl is still relevant.
I hope he releases an update for 9.0.
Related
I Probably Hate Writing Code in Your Favorite Language
The author critiques popular programming languages like Python and Java, favoring Elixir and Haskell for immutability and functional programming benefits. They emphasize personal language preferences for hobby projects, not sparking conflict.
A brief interview with Tcl creator John Ousterhout (2023)
John Ousterhout, creator of Tcl, highlighted its embeddable nature and "everything is a string" philosophy. He reflected on missed opportunities, including Tcl as a browser language. Ousterhout emphasized the importance of practical utility in widely adopted languages like Tcl and Python.
Why You Should Not Use Tcl (1994)
Google Groups no longer supports new Usenet posts. Richard Stallman advises against using Tcl for serious programming due to limitations. Users debate Tcl's suitability, citing its extendability and similarities to Lisp.
Objective-C is just, like, a leaky abstraction over C
Objective-C is described as a "leaky abstraction" over C, integrating modern programming features and enabling interoperability. Its design is effective, with Objective-S proposed as a streamlined variant.
The Liberating Experience of Common Lisp
The author critiques modern programming languages for their complexity, praising Common Lisp for its stability, unique developer experience, and creative freedom, making it preferable for software development.