Hacker News new | past | comments | ask | show | jobs | submit login

Before I say more: The “Tk” part of Tcl/Tk is the one redeeming quality about Tcl. Tk gives you awesome bang-for-the-buck when it comes to building a UI.

That said, Tcl is the worst parody of a programming language since the invention of BASIC and Brainfuck. All you need to know about it is two words: Stay away.




I think you're being overdramatic, but since you didn't explain why you think Tcl is "the worst parody of a language since BASIC and Brainfuck", I can't really evaluate that. I can name lots of things about Tcl that are actually very pleasant, including the robust libraries, the homoiconic syntax, the ease of extending the language, the quickness that newbies can pick it up, and the performance (which is roughly on par with CPython, Perl and the like). What things have you hit that resulted in such an amazingly strong negative response?


The fact that there are no data types but only strings. The necessity to navigate dynamic scoping with `upvar` & siblings. The load of having to simulate locality of reference with fancy array indexes. It may be nice for simple string-crunching scripts but a complex application is living hell. You wouldn't use /bin/sh for that, either.


Sounds like you haven't used Tcl since the early 1990's, you may want to check your facts. Tcl has had boolean, integer, floating point, list, dictionary, and other data types besides strings since 1997. The fact that Tcl will convert all of these values into strings when asked is immensely useful. Likewise, Tcl has had object oriented extensions since the early 1990's, and as of the last few years has OO built into the core, so you can easily build your data structures to suit.


This just isn't true, and hasn't been true since 92. Please go and take another look, its a very surprising language that more often than not beats or is comparable perl/python/js for speed.


You can do some really interesting things with Tcl-ish technology. It's worth looking into TH1, the stripped-down embedded Tcl that's used by fossil as a macro language:

http://www.sqliteconcepts.org/THManual.pdf

The entire implementation's about 4k lines of code.


Personally, I find Tcl to be a fantastic language. It's extremely dynamic and powerful, making it very easy to accomplish a number of things that can be very difficult in other languages.


The Author (D. Richard Hipp) of SQLite uses Tcl extensively. I think that is a much better recommendation than "stay away". Use what you LIKE.


SQLite is a TCL extension that escaped into the wild....

I think many people have trouble with TCL because it looks a lot like C and so they expect it to behave roughly like C. But TCL is a fundamentally different language. It is better to think of TCL as LISP with C-like syntax. Once you grok this difference, TCL becomes a very elegant language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: