TCL

Does anyone know if tcl is a good lang. I am attemping to leanr it, but want to know of others expiriences
All I can say is it's used in some networking stuff. Besides that, I know almost nothing about it.
Just another dynamic OOP language. not very popular, even though it has been around since 1988, I wouldn't count on many libraries made for it. I don't like to say that learning any languages is a waste of time, because the more you know the better... however, in this case...

Why don't you try Ruby instead? IMO Ruby is an amazing new language for dynamic OOP and there are jobs that list it as a requirement, where I cannot say the same for TCL.
Ruby was made in 1995. It's not new by any means.
I've used tcl/tk for a few quick gui tools in the past. It's an absolute mess, not well-known, has poor availability, and anything of size is a maintenance nightmare.

I would avoid it and invest in learning something more practical. What problem space are you targeting?
Ruby was made in 1995. It's not new by any means.

Maybe not to you because it was around before you were born... It is newer when you compare to most well-known languages. (C++, Java, Python, etc).

Regardless I fail to see your point? Ruby is great language and as grown a lot in the market. while TCL has not. I'm comparing it to other dynamic OOP languages here, because that is what TCL is. And the OP wanted to know if it was a good language.

The other language I would recommend learning in that spectrum is Python. But I personally like Ruby more, feels like less of a scripting language.

Edit:
@Fredbill30:
Might be good to include something constructive in your posts... no?
Last edited on
He was just pointing out that you said it was a new language, which is wrong. It's not new. He wasn't making a point.
I'm a little dumbfounded by the negativity and misinformation presented against Tcl here.

Just another dynamic OOP language. not very popular, even though it has been around since 1988, I wouldn't count on many libraries made for it.

Tcl is the dynamic language, but it isn't OOP. (You can write OOP with it, though, and the most recent versions even provide a built-in OOP subsystem, instead of just using one of the many OOP libraries other people have written, like [incr Tcl].
http://www.tcl.tk/about/oo.html

Beyond that, the language was designed to work with libraries. Just about everything you do with it is based upon having libraries.

It's an absolute mess, not well-known, has poor availability, and anything of size is a maintenance nightmare.

None of that is true. I think it reflects your experience with it over its actual merits.

The fact is that Tcl is fairly unique among language paradigms, and if you try to use it as if it were, say, C or Perl or something else, you will find it very difficult. Tcl simply does not work like those languages.

Tcl is well-known in the industry for its elegant design and clean code. (That does not mean that everyone likes it. Even some very vocal big guys don't like it, such as rms. I think his arguments are bigger than his head, personally, but alas, I'm not a big guy so no one cares.. ;-)

Tk is so friendly and easy to use that many modern systems today still use it or try to implement something similar in their language interface.

As for availability, chances are that if you have a working C compiler you can compile some version of Tcl. (Modern versions don't tend to support legacy systems, but some, like Jim do support some rather exotic hardware.)

Since the Tcl core is comparatively small, Tcl is often found on embedded devices where other systems simply wouldn't fit.

"Anything of size" is a maintenance nightmare no matter what language you use. If you begin a large project with what you believe to be a toy language, I think your large project is doomed to fail. PEBKAC.

But again, if you are using Tcl to create some monolithic application, you misunderstand the design principles and purposes of Tcl.

I would avoid it and invest in learning something more practical.

Disagree. More practical than what? Tcl is used everywhere -- and usually in places you wouldn't even think to look. Your lack of knowledge about it isn't shocking, but only your statement to the contrary.

If you've ever gone to the hospital, Tcl has probably saved your life.
If you've ever use a phone, you've used Tcl.
If you've ever gone banking, you've used Tcl.
If you've ever driven a car, you've used Tcl.
/list grows here...

http://www.activestate.com/blog/2010/02/where-tcl-hiding
http://wiki.tcl.tk/37389 (Who Uses Tcl)
http://www.tcl.tk/about/uses.html (Uses for Tcl/Tk)

Tcl is used for more stuff than fib(n) people can shake a stick at.

What problem space are you targeting?

Best quote yet. (Because it is actually good and true.)
Tcl might not be best for your needs.

Tcl does have its share of problems, mostly due to age and poor marketing.
I have had to deal with limitations in the language myself. No one can claim it is perfect, but it really is a good language to have under your belt.

Have fun with it, and make sure to play around at the Wiki. :O)
Last edited on
@Duoas
I'm sorry, I didn't realize TCL was actually used so much. I just never seen a job posting for it, however, this possibly due to the fact that the city I live in houses IT companies that really only do business software, phone apps and games. There isn't that many embedded software companies here. (There are some, but I see one posting for embedded stuff about once a month and they usually ask for 5+ years in C ).

The reason I called it (and thought it was) just another dynamic OOP language was because of the sample of codes I've read from it and because Wikipedia calls it OOP under paradigms. So maybe its not has much OO as i thought, however yes, it is still a dynamic language, in which, I still personally would prefer Ruby. However for embedded systems, your right, a language like tcl would be great.
Duoas wrote:
None of that is true. I think it reflects your experience with it over its actual merits.


Unfortunately, I've found all of that is true but, you're right, this is the impression based on my own anecdotal experiences with it. Just for the record we maintained a handful of testing tools and utilities in my last organization that used Tcl/Tk (nothing embedded).
Last edited on
Speaking of anecdotal, Tcl just came up in a lunchroom conversation with a coworker - we both used it previously to power massive regression testing suites, although the approaches were very different (his was a GUI app, mine was an OS)
About Ruby. I have not found a good IDE for it
Ruby is boss. I never stated it sucked, I love Ruby.
Topic archived. No new replies allowed.