6 ms·
Do you think TCL has a future in embedded domains the same way that Lua does? It seems to me (not that I know anything) that a lot of folks are stuck on TCL as
by fuck_dang 11y ago
Do you think TCL has a future in embedded domains the same way that Lua does? It seems to me (not that I know anything) that a lot of folks are stuck on TCL as that thing they had to write to make Tk applications. GNOCL exists now, and there's TCL.js here now that could bring TCL to an even larger audience.
I mean, TCL with js-extensions could be a game-changer.
- Frondo 11y agoNo, I don't think it would be. I spent several years writing a lot of Tcl, and there are too many show-stopper problems in the language and community for it to be involved in any kind of game-changer. The language looks good on paper. It's also used widely enough to hold onto "legacy but useful" status for a long, long, long time (think cobol or fortran--there are still people writing new code in these languages, but only in very narrow niches, very little general-interest code). There's a ton of weird gotchas, though, once you start writing in it that will drive you mad. Like the bracing rules that make sense until they don't, and then you have to make a really careful re-read of the so-simple 12 rules: proc a {} { puts "}" } "extra characters after close-brace" ??? The regexes are also weird. Not a week goes by I don't have to wrestle with one of my legacy tcl scripts (getting close to replacing them all, after enough of this weirdness). And don't expect Tk apps to look good anywhere at this point. BUT....you get used to that stuff eventually. The real problem, though, is that there's just no one left to actually address any of the problems in the language. The core team is there, but they're mostly just keeping things chugging along. Very little in the way of new ideas going around. It has a very small and shrinking community, though, which leads to a vicious circle of, almost no one uses it for cool new things, almost no one blogs or writes about it in a promotional way, so there's almost no pull for new people to start writing in Tcl. There's no "killer app" and no one doing the leg work about it to introduce anyone new. The community keeps shrinking by attrition. The online faces of Tcl, the main site and the wiki, have also suffered from probably the worst bikeshedding and, for lack of a better turn of phrase, old fogeyism I've ever seen in any kind of project. Landing on a wiki page and finding 15 year old discussions about long-gone aspects of the language, the place is like a ghost town. Also not going to bring in a lot of new people that way. Aaaaand...why does any of this matter? Because the standard library is small and missing a lot of useful modern stuff for the generalist. It's often not well-documented, and you won't find any example code on a blog anywhere, so you're on your own. You're going to implement a lot of stuff that, if you'd started your project anywhere else, someone else has already done and posted to Github. I think it's admirable how the handful of remaining core maintainers have brought the language kicking and screaming into the 2010s. They're squeezing a little more life out of the ecosystem and I commend them.
- progman 11y ago> And don't expect Tk apps to look good anywhere at this point. A JS version of Tk could be a game changer (using CSS).
- nickpsecurity 11y agohttp://www.tclassociation.org/wub/proceedings/Proceedings-2011/ArnulfWiedemann/tk_in_javascript_paper.pdf http://www.tclassociation.org/wub/proceedings/Proceedings-20...
- Frondo 11y agoI don't think so. Tk was simple when a lot of GUI programming was complex. That's what it brought to the table. HTML and CSS is already simple. QML is simple and beautiful. Tk-style layout design wouldn't bring anything to the table in 2016 that other people aren't already doing, and doing pretty well.
- luckydude 11y agoTk doesn't have to look bad. Check this out: http://www.mcvoy.com/lm/bitmover/lm/gui-config/gui.html http://www.mcvoy.com/lm/bitmover/lm/gui-config/gui.html I had to stare at that to be sure which was firefox and which was tk. I agree the defaults sort of suck but you can tweak them and make it look pretty decent.
- Frondo 11y agoIf Tk was all I had, I'd probably sink the time (and it would be a lot of time) into learning how to fiddle with xrdb (for tk) and ttk's styling engine. The lack of documentation, opaqueness, and complexity, all that stuff adds so much challenge, just to get to "pretty decent". There are better options in 2016, both from a visual perspective (looks good out of the box) and a programmer-tweakable perspective (can I make changes?). I said this elsewhere, but Tk brought something to the table a long time ago, when GUI programming was complicated. GUI programming just isn't hard, the way it used to be. Hey, if you're used to it, great, I certainly don't want to take the option away from anyone, but it's misleading to offer it as competitive in any way with the other contemporary toolkits.
- nickpsecurity 11y agoIt's a good command language that's easy to implement with pre-existing code and implementations available. So, probably the usual place we see it: CLI's.
- ArkyBeagle 11y agoTcl can be fairly hefty relative to Lua. EDIT: I forgot about Jim Tcl and other lighter weight implementations. I need to try those. "Embedded" may include something big enough to run , say, Lubuntu, and in those domains, it's very nice to have. Lua is more likely to fit on a PIC ( although really, for those, low latency means 'C', usually - but the task is usually small enough not to challenge the limits of using 'C' safely). As to "larger audience", I think Tcl benefited greatly by not having one and having some seriously heavyweight greybeards steering it. $DEITY bless Perl, but it's not been treated well by its sheer popularity. EDIT: removed digressive paragraphs.