Live data from Hacker News

Tcl 9.0

tcl-lang.org

191–200 of 247 posts

Re: Tcl 9.0

#191
post #144

Earlier quoted context omitted.

Can you explain what zip filesystem is?

I'm not a TCL user, but from the description of wduquette is sounds similar to Python's zipapp https://docs.python.org/3/library/zipapp.html

The definition of "standalone application" is a bit stronger - what's always been possible with "Tclkits" has been to embed the application code in an interpreter binary and distribute that, and the new core zipfs supports that as well.

Re: Tcl 9.0

#193

Earlier quoted context omitted.

The theming engine is absolutely "built-in", as are a handful of themes; in particular aqua and the winnative/xpnative/vistanative family (which integrate with the Mac/Windows windowing system such that the application will look "native" by default on those systems).

> which integrate with the Mac/Windows windowing system such that the application will look "native" by default on those systems That's my point. You can make an app that looks okay on those OSes, but all of the built-in options for Linux look ridiculous, and then you're back to the third-party stuff.

I don't think clam looks "ridiculous", but I suppose we're in to subjective stuff now. :)

In principle this isn't really any different from GTK or Qt theming (where it's up to users to go forth and find themes they like, and set the default as desired), but in those cases you tend to get themes packaged up by distributions and GUI configuration support from desktop environments, and neither seems likely to happen for Tk.

Re: Tcl 9.0

#194

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.

I got to work with a lot of tcl while working on TPC benchmarks for Citus

https://github.com/TPC-Council/HammerDB/blob/master/src/post...

tcl makes as an alright shell script language

Re: Tcl 9.0

#195
post #152

Earlier quoted context omitted.

> You need a language that is small yet still complete. Even today, the only languages that really fit that bill are Scheme/Lisp, Tcl, and Forth. Lua? It's used in (and used for?) a lot of embedding: * https://en.wikipedia.org/wiki/Lua_(programming_language)

Tcl was 1988. Lua was 1993. Lua is quite a bit larger than Tcl. In addition, no two Lua installations can ever agree on which modules they require (which makes the actual Lua binary even bigger).

Larger? On my system libtcl8.6.so is 1.7 megabytes and liblua5.1.so is 192 kilobytes. It's not even close. Lua uses libraries / modules based on where you tell the interpreter they are located, so that's on you.

Set package.path and package.cpath correctly.

Re: Tcl 9.0

#196

Fun facts, the author of Tcl and tk is Prof. John Ousterhout, and his Software Design book is in its 2nd edition: A Philosophy of Software Design: https://web.stanford.edu/~ouster/cgi-bin/book.php

This is an _amazing_ book, and one which I am currently working through --- I was reading one chapter, thinking as deeply as I could on it, then re-writing my current project using the lessons from it.

Currently on Chapter 11 (Design it Twice), so will probably just finish, then work on a top--bottom re-write (switching from a current model which has a minimal Python core for variables only, and the balance is in OpenSCAD to a new implementation where everything possible is in Python, allowing usage from there via OpenPythonSCAD: https://pythonscad.org/ )

Re: Tcl 9.0

#197
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?

It's 2D only and Mac OS-specific, but there is:

https://github.com/revarbat/TkCAD

Re: Tcl 9.0

#198
post #177
post #164

Earlier quoted context omitted.

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/ )

Interesting, didn't expect it to still be around.

Re: Tcl 9.0

#199
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.

> I never wanted to again use a dynamic language without any kind of JIT compiler What about a dynamic language with an AOT compiler? E.g. SBCL implements Common Lisp by compiling everything ahead of time.

Naturally AOT also counts, you will find plenty of comments from me regarding CPython versus Common Lisp performance.

However in regards to dynamic languages, unless they support and make use of type annotations with an optimizer compiler, JIT will always perform better than AOT, due to what is possible to do in those languages.

That is why AOT toolchains in Java and .NET world are actually JITs in disguise, because while the languages look static, they inherited much of Smalltalk and Objective-C dynamism that inspired Java semantics, only the syntax was done in a way to be attractive to C++ folks.

Re: Tcl 9.0

#200

Why are they still on SourceForge? To me, SourceForge feels like one of those scammy download sites that installs spyware.

Sourceforge still works, and is (now) reliable. The awful DevShare malware stuff that Sourceforge started (under new ownership) in 2012 was stopped (under different new ownership) in 2016.

The site is ugly and difficult to navigate. Go there and enter TCL in the search box and see how many clicks you have to do to actually find the project. Then when you click the download button a timer has to run out before the download will start.

Maybe it technically works, but it's a terrible UX.

Post reply on HN