

Tcl Conference 2013 – Call for Papers - blacksqr
http://www.tcl.tk/community/tcl2013/cfp.html

======
itazula
I haven't programmed seriously in Tcl for a number of years, but found it to
be very useful for prototyping. So useful, in fact, that the prototype often
became the production code. The code was robust and easy-to-understand.

Still, when I recently needed to create a program for my own use (using only
Tcl, not Tk), I was able to do so fairly quickly, after reviewing a few
basics. I didn't need to worry about syntactic "sugar." And it was kind of
nice having Tcl available on my Mac, already installed. Maybe it's there
because of SQLite, I don't know. (Yes, I know Python is there too ... )

Years ago, the first time I needed to program a GUI, I recall, as part of my
evaluation of the tools then available, reading Brian Kernighan's paper on his
experience using Tcl/Tk . (That paper is available at <http://www.cs.bell-
labs.com/who/bwk/index.html>). By the way, his book (written together with Rob
Pike), "The Practice of Programming" is excellent, and uses Tcl for some of
the examples.

To hardwaresofton: I think the situation you find yourself in might be a
blessing in disguise. You have the opportunity to really explore and to get to
know a language that seems to be despised by many. You might try coding the
same thing in different languages, and comparing the experiences. Is the world
of programming that much more productive with languages other than Tcl?
Perhaps in certain domains and for certain uses. But by how much more would
you be productive if you were able to use your language of choice? Would there
be any trade-offs? I wonder. At the very least, you might find that Tcl has a
niche in your set of tools.

~~~
timthorn
There is no such thing as a prototype, just code that hasn't been released
yet.

Flippant, but I've been burned several times before - think of dirty hacks in
prototypes as a low rate introductory offer on the credit card of technical
debt.

(I'm not implying anything negative about TCL or prototyping, just an
extension of the parent's first paragraph)

------
drbig
I'd say the Tcl community has matured well, and considers Tcl a tool,
acknowledging both its pros and cons - which is why no one there cares that
you think Tcl is dead/uncool/why_anybody_still_uses_it!!eleven!?. Also my
feeling is that most complaints about it were voiced by people using some
ancient versions without bothering much to look for idioms etc. For me Tcl/Tk
was the easiest way to do a quick GUI program that was cross-platform, way
long before Java was there.

------
hardwaresofton
So, I end up using TCL at work, and I hate it.

I'm trying not to let the hate bleed out here, but why in the world is anyone
still using this language? If it's for TK integration, there are other options

~~~
tptacek
It is an extremely simple language.

It admits to enough metaprogramming to do many useful DSLs; it's always been a
half-ass version of Lisp in that regard, but with more congenial syntax, and
before any other language embraced the idea.

It was the first of the scripting languages to do a truly good job at
embeddability.

incr Tcl has a very clean design.

The language is designed from the bottom up to work well in event loop
programming, in much the same way Golang is designed for lightweight threads.

It's true that the language hasn't aged well, and I have a hard time coming up
with an example of a project I'd bring it into (for extreme embeddability I
assume I'd go with Lua; for DSLs I'd use a Lisp dialect or Ruby [aka Japanese
Tcl], and object oriented design has fallen somewhat out of fashion.

Do you work at Cisco?

~~~
hardwaresofton
Thanks for the breakdown, I agree with these things, and it does blur data and
function, which I have seen in some code segments. And I'm not without thought
on the subject, I mean I know it pairs super well with C and there's a reason
I deal with so much legacy code in it.

It just sorta blew my mind that people still want it around enough to have
conferences about it.

The first time I left an unbalanced close brace in a comment, I started to
dislike TCL (I mean, it's not the worst thing in the world), maybe I was
hasty, but if other languages can solve that problem, it seemed hard to fathom
why TCL hadn't solved or at least patched to fix it yet (maybe also the
version we're using is outdated)

And no, not Cisco, but a more-hardware-than-software company

~~~
tptacek
Don't get me wrong, I can go all day on what I don't like about Tcl. In 1997,
the startup I was at had me design and implement a programming language (long
story); in '99, the cofounders at my next startup convinced us to use Tcl, and
I still vividly remember that the language _parsed freaking comments_ ; you
could get a syntax error _in your comments_.

It's not a great language. It was, though, at the time, a pretty good tool for
building some kinds of programs.

Tk is pretty gross; I'm always weirded out when people say that's the reason
they like Tcl.

------
jbarham
True story: Since Tcl is embedded in Cisco's IOS it is the de facto standard
scripting language for high-performance network gear. I once worked on a very
large application that was written primarily in Python but had a Tcl scripting
API that spoke to the Python side of things via their respective C APIs. I do
_not_ miss debugging that code...

~~~
bch
It's also embedded in F5 (as iRules) and A10 network gear.

See [https://devcentral.f5.com/tech-tips/articles/irules-
concepts...](https://devcentral.f5.com/tech-tips/articles/irules-concepts-tcl-
the-how-and-why)

