It is a very simple, script language that allows creating dynamic GUIs on the fly. I can make a simple GUI and hang calls on buttons and menus with a few lines of text. No compiling. No library mismatches to deal with. Whiteboard sketch to a working prototype often takes less than an hour, almost never more than a day.
It is cross platform and text based, so we can email prototypes around for people to try it on their Windows, Linux and Mac machines, click on buttons and report what they want to change. It is text, and does not require installing software. This is a noticeable advantage in locked-down environments, where installing Tk once and running 10 scripts is much easier than installing 10 revs of software.
Due to the language simplicity we had people who said they have no idea about it (and no plans to learn it -- they just wanted a prototype) making and sending back mods within a few days of getting the prototype. This is great -- then we know that this is what they want.
Tk is long in the tooth and has many limitations, but for rapid GUI prototyping it is one of the most useful tools for me.
Very limited ones. And ones clients will have a shock when seeing. And still coding it all together.
With Delphi you can drag and drop great looking (and more full featured) prototypes in zero time.
It will be limited to Windows, though, I'll give you that.
Can you clarify "coding it all together" part. I have no idea what you meant.
Of course for more than trivial built-in behaviours you'll be writing code, but for a UI prototype, especially if it's just CRUD forms etc., you can get it built in a few minutes with no code. Drop a database connection component and set the connection properties, and you'll get live data and properly typed and bound controls on the form too.
Compilation takes fractions of a second, so that's not an impediment to design iteration - but you don't need to compile or run to see what it looks like since it's effectively a WYSIWYG form designer.
[Edit: hit reply too soon] Tk model of UI programming does not promote this that much, because causing stuff to happen by writing code is the default way. Also Tk-style approach of writing GUI definitions in code and letting the toolkit to deal with details like positioning (in fact, using HTML for UI is mostly similar) is more productive.
I really wish HTML was as easy to design with as the VCL designer. Trying to e.g. create vertically centered children is far, far easier in the VCL than in HTML + CSS.
Rather, it'll be limited to Windows, macOS, iOS and Android. :)
I can throw together a very nice looking GUI app in one sitting in Delphi, where laying out the elements and binding and defining events is absolutely trivial.
In Python, with Tcl/Tk, I don't. I use C#, qt, or even flask. Tcl/Tk is absolutely not appropriate for RAD GUI development, unless it's at some hello world level of complexity.
Further, there are several experimental projects that support running Tcl/Tk over HTTP/HTML rather than X11, Win32, SDL, the current Mac OS X/macOS GUI system.
TkWeb and WubTk are examples of this.
Tk is the better than Delphi RAD tool?