3 ms·
There's a situation that springs up sometimes that is perfect for Tcl/Tk: when you need to write a small app with a GUI and you would like it to be multiplatfor
by forinti 10y ago
There's a situation that springs up sometimes that is perfect for Tcl/Tk: when you need to write a small app with a GUI and you would like it to be multiplatform.
Say you want to write an app to rename files in batch, or a wrapper for Ghostscript that automates certain tasks. With Tcl/Tk you can immediately run it on most Linux distros and with Freewrap you get a Windows executable that's a few MB+your source (it's a lot better than having your users install Java).
- mappu 10y agoMy usual solution for this is C++/Qt. Runs well on Linux, and on Windows you can statically link Qt into the single .exe if your small app is FOSS (at least LGPL-compatible), otherwise you should ship a few extra .dll files. Compared to Tcl/tk you get (A) catch errors at compile time, and (B) Qt apps usually look better than Tk apps. With mxe+qmake it's one command to cross-compile from Linux to a Windows binary.
- eggy 10y agoI am now looking at the Red programming language [1] for exactly this, but it does not have the libraries of C++ or Tcl. Still it is under 1 meg complete with libraries and it is homoiconic, cross-platform, and has a REPL and a systems language Red/System for going low level. The GUI and UI DSL and drawing DSL work on Windows and Mac for now, with Linux close behind. [1] http://www.red-lang.org/p/about.html
- mappu 10y agoThere's also Lazarus in this category.
- deckiedan 10y agoThe default download didn't have GUI support on my Mac when I just tried it, and the documentation seems to indicate it's Windows only so far?
- eggy 9y agoI think it is in 0.63 or the latest binary now available. I'll check on my iMac later and get back to you. I use it on my Windows box for now.
- eggy 9y ago@mappu above (no reply link by his reply): I like Lazarus a lot. I am not a fan of Pascal though, and Red is under 1 MB batteries included. I like how it seems a cross between Lisp, Forth and other languages.
- pjmlp 10y agoBack in the day a big mistake from Tk devs was how it just looked like Motif everywhere. Eventually that got fixed, but we were already busy with other languages.