Jump to content

Tcl/Tk: Difference between revisions

From EDM2
Ak120 (talk | contribs)
 
(32 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.
[[Image:TclLogo1.gif|right]]
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 intepreter, the main advantage of the Tcl/Tk system on OS/2 or eComStation has been the Tk widget toolkit and portability on systems where REXX is not common.
See also: [[Tk]]


====Tk====
==OS/2 Implementations==
Platform independent graphics library and engine, although perhaps better describes as a [[widget]] toolkit. Although maintained by the same company as Tcl, Tk has been modified for use with sundry other languages including [[Perl]], [[Python]] and [[REXX]].
*[[PM Tcl/Tk]] - Open source


====OS/2 text & programmers editors with Tcl/Tk support====
;Tcl related programmer's utilities
* [[Boxer]] - Contributed, requires a separate download.
* [[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 extensions in [[Java]] - Open source


==A list of OS/2 ports of Tcl==
;Applications with a Tcl programming interface
* [[PM Tcl/Tk]] - Open source - Discontinued
* [[PostgreSQL]] - SQL relational database system - Open source
* [[REXX/Tk]] - Open source - Discontinued - A port of Tk adapted for use with the REXX scripting language.


==A list of DOS ports of Tcl==
;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


==A list of Tcl ports run under WinOS/2==
==DOS Implementations==
* Last known version [http://tcl.activestate.com/ftp/tcl8_0/tcl80p2.exe Tcl8.0.2] or 7.6.2
* MSTCL - port of Tcl 7.3, Tk 4.0
: Requires [[Win32s]].
* TinyTcl
==A list of Tcl implementations that run under Java==
*


==Publications==
;Editor support
* [[Boxer]] - Contributed, requires a separate download
* [[Elvis]] - Tcl syntax support included by default - Open source
 
===Win-OS/2===
* Last known version [ftp://ftp.tcl.tk/pub/tcl/tcl8_0/tcl80p2.exe Tcl8.0.2] or 7.6.2
: Requires [[Win32s]]
 
==Java implementations==
* [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
* [https://jtcl-project.github.io/jtcl/ jTcl] - Open source


====Related articles====
;Editor support
* [http://www.mathematik.uni-ulm.de/sai/ss96/uxdb2/comparison.html Comparisons of Tcl with other systems] - Mostly old USENET postings
* [[jEdit]] - Java based editor - Tcl and TK syntax highlighting built in


====Tutorials and other learning material====
==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==
==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
* [ftp://hobbes.nmsu.edu/pub/os2/dev/tcl/ Hobbes TCl directory]
* [http://wiki.tcl.tk/1215 Tcl on Java Wiki]
====USENET====
* [news:comp.lang.tcl comp.lang.tcl] - Low volume group - Go to the [https://groups.google.com/forum/#!forum/comp.lang.tcl Google groups version] if your ISP does not offer USENET access or you are in any other way newsgroup challenged.
====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://www.vanderburg.org/OldPages/Tcl/war/ (now dead - try: https://web.archive.org/web/20141029121724/http://www.vanderburg.org/OldPages/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.
 
==Standards==
*


[[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