Live data from Hacker News

Tcl 9.0

tcl-lang.org

171–180 of 247 posts

Re: Tcl 9.0

#172
post #120
post #86

Earlier quoted context omitted.

John Ousterhout realized that every single EDA tool at Berkeley wound up implementing a crappy extension language. So, he implemented a language so that there could be a single, not-so-crappy extension language for the Berkeley EDA tools. He made C integration particularly easy (something the lisps of the time didn't really do). As his students spread out, each company they hit had a shitty extension language and the…

> It is really hard to describe just how much better Tk was than anything else in the time frame. This[0] vs (from memory w/o a computer atm…): #!/bin/env wish button .b .b configure -text “push me” -action {puts “don’t push me!”} pack .b [0] https://users.cs.cf.ac.uk/Dave.Marshall/X_lecture/node5.html... ====== #include #include /* Prototype Callback function */ void pushed_fn(Widget, XtPointer, XmPushButtonCallback…

-command instead of -action, but otherwise perfect! :)

Re: Tcl 9.0

#174
post #145

Earlier quoted context omitted.

No, ~abc will be interpreted as the home directory of user abc in Tcl 8.*

Then you fix this mistake, not remove ~ completely

It's not a mistake

Re: Tcl 9.0

#176
post #163

Language snobs and 1990s OO snobs really love to hate on tcl - yeah everything is a string or a command, and the OO extensions were kind of kludgy - but there's a design ethos to the ecosystem that is really special. Ditch tkinter, which is basically writing python to write tcl, and try doing a GUI in straight tcl/tk. Try the sqlite interface. Write a modest C extension or wrap a library. So much of it just works.

It made our startup possible, and the experience and learnings we got out of it, were in the genesis of OutSystems. One of those learnings, was that I never wanted to again use a dynamic language without any kind of JIT compiler for full blown web servers. The language is great, rewriting Tcl libraries into C on regular basis due to performance issues not so much.

What do you use now? Node.js? Groovy?

Re: Tcl 9.0

#177
post #164
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.

Back in the late 90's we used it on our startup, several of companies at the time were trying the luck on Tcl based application servers, AOLServer being the most well known. There was Vignette, and we at Intervento had our Safelayer product, loosely based on AOLServer. Apache and IIS plugins for hosting Tcl interpreter, running on Aix, HP-UX, Solaris, Red-Hat Linux, Windows 2000/NT, with support for Oracle, Informix,…

AOLServer (now Naviserver again) is still the base for the largest open-source project management system: ]project-open[ (https://www.project-open.com/)

Re: Tcl 9.0

#178
post #176
post #163

Earlier quoted context omitted.

It made our startup possible, and the experience and learnings we got out of it, were in the genesis of OutSystems. One of those learnings, was that I never wanted to again use a dynamic language without any kind of JIT compiler for full blown web servers. The language is great, rewriting Tcl libraries into C on regular basis due to performance issues not so much.

What do you use now? Node.js? Groovy?

Mostly Java, C#, Typescript and C++ when native libraries are called for.

Re: Tcl 9.0

#179

Earlier quoted context omitted.

Can you explain what zip filesystem is?

A handler for treating .zip (and .jar and .tar ...) files as if they were a volume mounted at /home/user/foo.zip - e.g. https://github.com/openjdk/jdk/blob/jdk-21-ga/src/java.base/... It may be easier to reason about when thinking of the way $(mount -o loop) works with .iso files -- a file that is a container for other files that one can mount as if it were a filesystem I was expecting pathlib in Python https://docs.…

Python has something kinda like VFS support just as a very special case for importing stuff and reading associated data files, see Anchor ("mount point") and Traversable ("virtual Path") in https://docs.python.org/3.12/library/importlib.resources.abc... - the actual implementation is done in finders et al (https://docs.python.org/3.12/library/importlib.html#module-i...)
Post reply on HN