Jump to content

Tcl/Tk: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:TclLogo1.gif|right]]
[[Image:TclLogo1.gif|right]]
Scripting language originally called '''Tool Command Language''' that unlike most other such languages is maintained and controlled by a single company that has a core version that is open source and sell more advanced versions as closed source commercial software. Originally intended as an "embedded language" that was designed to be linked into compiled programs and used as an internal scripting and extensions language but has over time grown into a toolkit more suitable to build standalone applications with. Note that the usage of the term "embedded language" was correct at the time but the use of the term has changed and these days it is used for languages used/designed for embedded applications.
The main advantage of the Tcl/Tk system on OS/2 has been the Tk widget toolkit and portability on systems where REXX is not common.


The convention is to call it Tcl rather than TCL since its name is now considered to be Tcl and not an acronym for Tool Command Language. Development of the language and toolkit was extremely rapid in the 1990's but has slowed down considerably in the last 15 years.
Tcl is the Tool Command Language and Tk is the windowing Toolkit for Tcl. Originally designed as a macro- and initialization-file language for people's applications, the example applications tclsh (Tcl Shell) and wish (Windowing Shell, Tk) are nowadays most often used to run complete, portable script-applications. Tcl/Tk is officially supported on Unix and the X Window System, Apple Macintosh and MS Windows; user-contributed ports exist for e.g. VMS and, of course, OS/2.
 
Over time Tcl has grown somewhat [[REXX]] like in structure although the syntax is completely different, this has meant that the language has never been as popular on OS/2 as on some other system as there has been little incentive to use it over the built in REXX interpreter, the main advantage of the Tcl/Tk system on OS/2 has been the Tk widget toolkit and portability on systems where REXX is not common.


See also: [[Tk]]
See also: [[Tk]]


==OS/2 Implementations==
==OS/2 Implementations==
*[[PM Tcl/Tk]] - Open source - Discontinued
*[[PM Tcl/Tk]] - Open source
 
;Foreign libraries with Tcl bindings
* [[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source - Current
* [[Libxml2]] - [[XML]] parser - Open source - Current
* [[Libxslt]] - XSLT parser - Open source - Current


;Tcl related programmer's utilities
;Tcl related programmer's utilities
* [[Exuberant ctags]] - Creates index files out of Tcl source files - Open source - Current
* [[Exuberant ctags]] - Creates index files out of Tcl source files - Open source
* [http://tcljava.sourceforge.net/docs/website/index.html Tcl Blend] - Allows writing Tcl extencions in [[Java]] - Open source - Discontinued
* [http://tcljava.sourceforge.net/docs/website/index.html Tcl Blend] - Allows writing Tcl extensions in [[Java]] - Open source


;Applications with a Tcl programming interface
;Applications with a Tcl programming interface
* [[PostgreSQL]] - SQL relational database system - Open source - Current
* [[PostgreSQL]] - SQL relational database system - Open source


;Editor support
;Editor support
* [[Boxer]] - Contributed, requires a separate download
* [[Boxer]] - Contributed, requires a separate download
* [[Elvis]] - Tcl syntax support included by default - Open source - Current
* [[Elvis]] - Tcl syntax support included by default - Open source
* [[jEdit]] - Java based editor - Tcl and TK syntax highlighting built in - Current
* [[NEdit]] - XFree86 - Autoindent, autocomplete and syntax highlighting - Open source
* [[NEdit]] - XFree86 - Autoindent, autocomplete and syntax highlighting - Open source - Discontinued


==DOS Implementations==
==DOS Implementations==
Line 35: Line 27:
;Editor support
;Editor support
* [[Boxer]] - Contributed, requires a separate download
* [[Boxer]] - Contributed, requires a separate download
* [[Elvis]] - Tcl syntax support included by default - Open source - Current
* [[Elvis]] - Tcl syntax support included by default - Open source


===Win-OS/2===
===Win-OS/2===
* Last known version [http://tcl.activestate.com/ftp/tcl8_0/tcl80p2.exe Tcl8.0.2] or 7.6.2
* Last known version [ftp://ftp.tcl.tk/pub/tcl/tcl8_0/tcl80p2.exe Tcl8.0.2] or 7.6.2
: Requires [[Win32s]]
: Requires [[Win32s]]


==Java implementations==
==Java implementations==
* [http://www.hecl.org/ HECL] - Not ment to be 100% compatible but close enough for porting - Open source - Discontinued
* [http://www.hecl.org/ HECL] - Not ment to be 100% compatible but close enough for porting - Open source
* [http://tcljava.sourceforge.net/docs/website/index.html JACL aka Tcl/Java] - Open source - Discontinued
* [http://tcljava.sourceforge.net/docs/website/index.html JACL aka Tcl/Java] - Open source
* [https://jtcl-project.github.io/jtcl/ jTcl] - Open source - Current
* [https://jtcl-project.github.io/jtcl/ jTcl] - Open source
 
;Editor support
* [[jEdit]] - Java based editor - Tcl and TK syntax highlighting built in


==Publications==
==Publications==
* John Ousterhout: ''Tcl: An Embeddable Command Language'' - Proceedings of the Winter 1990 USENIX Conference (Jan 1990)
* Brent Welch: ''Practical Programming in Tcl and Tk'' - Prentice Hall 1995, ISBN 0-13-022028-0
* Brent Welch: ''Practical Programming in Tcl and Tk'' - Prentice Hall, ISBN 0-13-022028-0
* Mark Harrison; Michael McLennan: ''Effective Tcl/Tk Programming'' - Addison-Wesley 1998, ISBN 0-201-63474-0
* John K. Ousterhout: ''Tcl and the Tk Toolkit'' - Addison Wesley 2006, ISBN 978-0-321-33633-0  
* John K. Ousterhout: ''Tcl and the Tk Toolkit'' - Addison Wesley 2006, ISBN 978-0-321-33633-0  
;Article
* [http://www.mathematik.uni-ulm.de/sai/ss96/uxdb2/comparison.html Comparisons of Tcl with other systems] - Mostly old USENET postings


==Links==
==Links==
* [http://tcl.activestate.com/ Active State's Tcl page] - Info from the company behind Tcl
* [https://www.activestate.com/products/tcl/ ActiveState's Tcl page] - Info from the company behind Tcl
* http://www.tcl.tk
* http://www.tcl.tk
* [https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html Tcl tutorial]
* [http://wiki.tcl.tk/1215 Tcl on Java Wiki]
* [http://wiki.tcl.tk/1215 Tcl on Java Wiki]
*USENET: [news:comp.lang.tcl comp.lang.tcl] - Low volume group
====The Tcl Wars====
This was in its day a rather infamous flame war initiated by Richard Stallman of the Free Software Foundation who fired a somewhat incoherent rant on comp.lang.tcl and a few other related newsgroup, telling people they should not be using Tcl. It turned out this was much like the famous Linux/Minix "Microkernel war" instigated by Linus Torvalds, primarily a rather cheap way of getting publicity for ones own project by attacking what was perceived to be the most popular freeware product at the time.
In this case it was to publicise two upcoming scripting languages the FSF had been working on in the form of GUILE and another GNU project by now dead and forgotten. Unlike the "Microkernel War" where people overall had not enough knowledge about the subject to realise that it was essentially trolling on part of the flame war initiator, what happened in this case was most of the viewers had both knowledge and experience of multiple programming paradigms and were rather unimpressed with the initial argument (such as it was). This backfired somewhat in the face of the FSF as it generated a lot of positive noise about Tcl and negative ones about Guile, the FSF and Stallman.
* http://vanderburg.org/old_pages/Tcl/war/
There was a second "Tcl War" a couple of years later, when a post attributed to Richard Stallman was posted in the same newsgroup in a somewhat conciliatory tone.


[[Category:Programming Languages]][[Category:Tcl]]
[[Category:Tcl]]

Latest revision as of 21:10, 15 March 2020

The main advantage of the Tcl/Tk system on OS/2 has been the Tk widget toolkit and portability on systems where REXX is not common.

Tcl is the Tool Command Language and Tk is the windowing Toolkit for Tcl. Originally designed as a macro- and initialization-file language for people's applications, the example applications tclsh (Tcl Shell) and wish (Windowing Shell, Tk) are nowadays most often used to run complete, portable script-applications. Tcl/Tk is officially supported on Unix and the X Window System, Apple Macintosh and MS Windows; user-contributed ports exist for e.g. VMS and, of course, OS/2.

See also: Tk

OS/2 Implementations

Tcl related programmer's utilities
Applications with a Tcl programming interface
  • PostgreSQL - SQL relational database system - Open source
Editor support
  • Boxer - Contributed, requires a separate download
  • Elvis - Tcl syntax support included by default - Open source
  • NEdit - XFree86 - Autoindent, autocomplete and syntax highlighting - Open source

DOS Implementations

  • MSTCL - port of Tcl 7.3, Tk 4.0
  • TinyTcl
Editor support
  • Boxer - Contributed, requires a separate download
  • Elvis - Tcl syntax support included by default - Open source

Win-OS/2

Requires Win32s

Java implementations

  • HECL - Not ment to be 100% compatible but close enough for porting - Open source
  • JACL aka Tcl/Java - Open source
  • jTcl - Open source
Editor support
  • jEdit - Java based editor - Tcl and TK syntax highlighting built in

Publications

  • Brent Welch: Practical Programming in Tcl and Tk - Prentice Hall 1995, ISBN 0-13-022028-0
  • Mark Harrison; Michael McLennan: Effective Tcl/Tk Programming - Addison-Wesley 1998, ISBN 0-201-63474-0
  • John K. Ousterhout: Tcl and the Tk Toolkit - Addison Wesley 2006, ISBN 978-0-321-33633-0

Links