Live data from Hacker News

Tcl 9.0

tcl-lang.org

51–60 of 247 posts

Re: Tcl 9.0

#51
post #11

For those that are new to Tcl, there's an alternate universe where Tcl is the browser language instead of Javascript: "Interesting footnote: the founding of Netscape occurred at the same time I was deciding where to go in industry when I left Berkeley in 1994. Jim Clarke and Marc Andreessen approached me about the possibility of my joining Netscape as a founder, but I eventually decided against it (they hadn't yet de…

I doubt the world would have stuck with TCL if that had happened. JavaScript was good enough for people to put up with. TCL definitely isn't. More likely we would have ended up with TCL + something else, with TCL deprecated.

Re: Tcl 9.0

#52
post #11

For those that are new to Tcl, there's an alternate universe where Tcl is the browser language instead of Javascript: "Interesting footnote: the founding of Netscape occurred at the same time I was deciding where to go in industry when I left Berkeley in 1994. Jim Clarke and Marc Andreessen approached me about the possibility of my joining Netscape as a founder, but I eventually decided against it (they hadn't yet de…

The work on the safe subset of Tcl for the web can be exploited today to run untrusted scripts in an easily managed sandbox. If you want you can strip away enough commands for the language to be non-Turing complete.

Re: Tcl 9.0

#53
I can't overstate my love for Tcl, yet I had only a little chance to use it when writing XiRCON IRC scripts back in the late 90's. Such an elegant language: simple, easy to learn, flexible. I call it Lisp for humans. I wish it were more popular. So glad to see that it's still alive and kicking.

Re: Tcl 9.0

#54
post #6
post #5

Earlier quoted context omitted.

Why did they remove tilde '~' as a convenient shortcut for the Home directory?

Tcl Improvement Proposal (TIP) 602[0]. [0] https://core.tcl-lang.org/tips/doc/trunk/tip/602.md

One example from the document:

> Consider the naive attempt to clean out the /tmp directory.

> cd /tmp

> foreach f [glob *] {file delete -force $f}

> A file ~ or ~user maliciously placed in /tmp will have rather unfortunate consequences.

Re: Tcl 9.0

#55
post #26

Earlier quoted context omitted.

It used to be the other way around. It’s been a while since I did much UI work, but the web always felt incredibly frustrating for layout compared to Tk. (I think CSS finally has something approaching Tk’s grid layout manager?) There are fewer frameworks for Tk, but I think it has most things you’d need. Maybe some of the finer control over fonts etc is lacking.

> most things you’d need Say you wanted to write a CAD app like https://www.onshape.com . There’s no way you could do it Tcl/Tk, is there?

[deleted]

Re: Tcl 9.0

#56
post #26

Earlier quoted context omitted.

It used to be the other way around. It’s been a while since I did much UI work, but the web always felt incredibly frustrating for layout compared to Tk. (I think CSS finally has something approaching Tk’s grid layout manager?) There are fewer frameworks for Tk, but I think it has most things you’d need. Maybe some of the finer control over fonts etc is lacking.

> most things you’d need Say you wanted to write a CAD app like https://www.onshape.com . There’s no way you could do it Tcl/Tk, is there?

Most of what I'd call the UI - all the toolbars and pseudo-floating-windows - is basic bread-and-butter Tk stuff. The 3D context and CAD kernel would be the tricky bits. There are extensions floating around to work with OpenGL (or whatever), but I don't see doing the heavy CAD-kernel lifting in Tcl - that would likely have to be in C, or whatever. (Just as it presumably is for Onshape.)

Re: Tcl 9.0

#57
I'm going to give a shout out to NaviServer [0], prior called AOLServer [1]. This web server has been battle-tested and is bullet proof. When something has been used power AOL back in the day, what can you say.

OpenACS [2] is the main project of, which has existed since 1997 and that alone is highly powerful in what it can do with. Especially when coupled with TCL. It's still maintained and now supports TCL9 too!

Javascript, TCL and NaviServer (and which has it's own modules such as DNS Server, LDAP, Mail really makes an powerful tool.

If you're looking to get in to TCL and Web Development, you can really create fun with the two combined. I highly recommend that if you wish to dabble with something on the side for easy learning and plentiful features. Go take a look.

[0] https://wiki.tcl-lang.org/page/NaviServer

https://github.com/naviserver-project/naviserver

[1] https://news.ycombinator.com/item?id=35648805

https://www.linuxjournal.com/article/6164

[2] https://openacs.org/about/history

https://openacs.org/

Re: Tcl 9.0

#58
post #8

The only time I’ve dealt with Tcl in recent memory was for some MacPorts portfile stuff. Anybody using it for something else and can speak to why you’d use it today? Genuinely curious; I don’t hate the language but can never bring myself to enjoy it either.

> Anybody using it for something else and can speak to why you’d use it today?

It was often used as an embedded language (e.g., in F5 load balancers), especially in the pre-Lua days.

Re: Tcl 9.0

#59
post #8

The only time I’ve dealt with Tcl in recent memory was for some MacPorts portfile stuff. Anybody using it for something else and can speak to why you’d use it today? Genuinely curious; I don’t hate the language but can never bring myself to enjoy it either.

The only reason to use it today is because you're forced to by the EDA industry. Otherwise there are far far better options. That also means this release is basically irrelevant for the next 10 years because that's about how long it takes the EDA vendors to update their bundled TCL versions.

It's unfortunate that people who dont "get" Tcl feel forced to use it because they are in EDA.

I used to have the opposite problem. My employer would not allow me to write anything mission-critical in Tcl because they thought other people would not be able to maintain it. But now that I'm retired I can write as much Tcl as I like, which is quite a lot :-)

Re: Tcl 9.0

#60

Earlier quoted context omitted.

The only reason to use it today is because you're forced to by the EDA industry. Otherwise there are far far better options. That also means this release is basically irrelevant for the next 10 years because that's about how long it takes the EDA vendors to update their bundled TCL versions.

It's unfortunate that people who dont "get" Tcl feel forced to use it because they are in EDA. I used to have the opposite problem. My employer would not allow me to write anything mission-critical in Tcl because they thought other people would not be able to maintain it. But now that I'm retired I can write as much Tcl as I like, which is quite a lot :-)

From the (little) I've seen of that world, I'm not sure the EDA vendors understand Tcl very well either; I wouldn't want to work with scripts for Cadence's schematic capture tool, and that's not because of Tcl, it's because their scripting interface is a disaster. (Exposing C++ iterators at the script level, for example.)
Post reply on HN