6 ms·
To summarize in two words: Its ugly. Tcl syntax is ugly, tk GUI's are ugly and look old. Also, Python is the winner for me because it's syntax resembles C but
by Aegean 17y ago
To summarize in two words: Its ugly.
Tcl syntax is ugly, tk GUI's are ugly and look old.
Also, Python is the winner for me because it's syntax resembles C but is a lot easier to write.
- davidw 17y agoWas old and ugly. It's getting better, but that doesn't matter, because people are firmly convinced that it is old and ugly, no matter what the developers have been up to. This is precisely the sort of marketing problem I'm referring to: once you create an impression in people's minds, it takes a hell of a lot of work to correct it, even if the actual problem has largely gone away. The impression remains... > > Lately, there has been a lot of work to update the Tk look and feel, and it has finally started to bear fruit. However, in terms of marketing, the damage has already been done: the image of "old, crufty Tk" has been firmly planted in countless developers' minds, and no amount of facts are going to displace it in the near future. > Also, Python is the winner for me because it's syntax resembles C but is a lot easier to write. Yes, I covered that aspect too: > > The syntax, for your average programmer who doesn't want to go too far out of their comfort zone, is perhaps a little bit further afield from the C family of languages than they would prefer. Still though, a "human" problem, rather than a technical one. Perhaps, sadly, the message is that you'd better not "scare" people when introducing a new language, by showing people something that doesn't look at least a little bit familiar. You are apparently one of the many who is a bit scared/confused/whatever by a seed that has fallen a bit farther from the C tree. As far as the syntax, Tcl is quite elegant, in reality, once you take the time to understand it (which is not much time, as it's also very simple).
- jkkramer 17y agoIf Tk doesn't look old and crufty anymore, you wouldn't know it from the official website: there are no screenshots to be found. I spent five minutes trying to see what a modern Tk GUI looks like then gave up.
- gaius 17y agohttp://www.tkdocs.com/ http://www.tkdocs.com/
- makmanalp 17y agoNice screenshots of good looking Tk applications. http://www.tkdocs.com/gallery/index.html http://www.tkdocs.com/gallery/index.html
- lylejohnson 17y agoAs noted elsewhere, there is (currently) one tiny screenshot on that page, and nothing else.
- GeneralMaximus 17y agoGoogling the two applications they listed, I get http://thecoccinella.org/gallery http://thecoccinella.org/gallery and http://sourceforge.net/project/screenshots.php?group_id=190798 http://sourceforge.net/project/screenshots.php?group_id=1907....
- aidenn0 17y agoAh yes, this is another problem. I hope things are better now, but I was writing a UI a while back, and the TK documentation was like this: tcl.tk had a 1 line description of every command that's not really useful, and tkdocs.com was missing documentation for half the widgets!
- davidw 17y agoI was responsible for kicking off the effort to include this in the documentation: http://www.tcl.tk/man/tcl/tutorial/tcltutorial.html http://www.tcl.tk/man/tcl/tutorial/tcltutorial.html Most of the actual material is Clif Flynt's though. It's not perfect, but at least it's a starting point that's widely visible to people getting going with the language. And, of course, it's Tcl, whereas you're asking about Tk. Definitely something that would have been useful.
- aidenn0 17y agoThis is true. I was starting work on a cross platform project with a friend. The question of which GUI toolkit to use came up. He wanted to use QT, I wanted to use TK. I had to show him a recent TK project of mine before he would believe that TK wasn't ugly on X11.
- antirez 17y agoActually if you look at the syntax from a mathematical point of view, Tcl synax is much simpler. Also behind the clean Python look (that almost seems pseudo code in simple programs) the Python semantic is really complex compared to the one of Ruby for instance.
- gaius 17y agoYep, the 12 rules and that's all there is to the language. Tcl is really well designed and elegant. It's almost a Lisp, but one that has the libraries and installed base that it can be used for production work. e.g. it's easy to add your own control structures to the language
- swannodette 17y ago>It's almost a Lisp, but one that has the libraries and installed base that it can be used for production work. >e.g. it's easy to add your own control structures to the language Huh? You obviously don't know Lisp. Between PLT Scheme and Common Lisp you have several metric tons of libraries. And Common Lisp is certainly used for serious production work. And finally, Lisp like freaking invented adding your own control structures to the language.
- gaius 17y agoYes, 50 years ago Lisp was 30 years ahead of everyone else. Things have moved on, tho'.
- swannodette 17y agoI've used more than few languages professionally or academically (C, C++, Objective-C, Java, JavaScript, Python, Scheme) and it still seems to me that most languages are still trying to catch up. This isn't to say I don't enjoy these languages. But to say that things have moved past Lisp, that's laughable really. I mean, I don't even have garbage collection on my iPhone (and I really dig Objective-C).
- joshu 17y agoI remember thinking of learning Tcl for a project. I bought a book (this was practically pre-web) and very early on it said not to use arrays, as they were O(n) access time. So I gave up.
- davidw 17y ago"arrays" are hash tables. You'd use the built in lists where you'd use an array in C. In 8.5, Tcl has "real", first class hash tables, "dicts", which, as I mention in the article, took too long to show up in the language.
- sfk 17y agoTk has native "look and feel". I've written a Python Tkinter app and I was pleasantly surprised how good it looks on Windows.