From diam@ensta.fr Fri Feb 6 09:45:41 CST 1998 Article: 234 of fr.comp.lang.tcl Path: uuneo.neosoft.com!ultraneo.neosoft.com!news-fw-6.sprintlink.net!206.61.106.12!news-fw-12.sprintlink.net!207.14.7.19!news-backup-west.sprintlink.net!news-in-west.sprintlink.net!news-peer.sprintlink.net!news.sprintlink.net!Sprint!news-peer.gip.net!news-raspail.gip.net!news.gsl.net!gip.net!eerie.fr!news.univ-aix.fr!unice.fr!ensta!diam From: diam@ensta.fr (Maurice DIAMANTINI) Newsgroups: fr.comp.lang.tcl Subject: minidoc_tcl.txt version 1.5 - IMPORTANT Date: Fri, 06 Feb 1998 10:26:33 +0200 Organization: Ecole Nationale de Techniques Avancees Lines: 214 Message-ID: NNTP-Posting-Host: pmdiam.ensta.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Newsreader: MT-NewsWatcher F2.3.5 Xref: uuneo.neosoft.com fr.comp.lang.tcl:234 Revoici la mini présentation de TCL que j'essaie -- tant mal que bien -- de maintenir et de compléter suivant vos remarques et suggestions. (Merci à tous ceux qui l'ont déja critiqués). J'envisage (toujours :-) de créer une version HTML de cette mini doc, mais j'attends d'avoir une toile HTML d'accès fiable. Apport de la version 1.5 : - refonte (incomplète) - ************ IMPORTANT ************** Départ de J.O de chez SUN pour créer sa popre société SCRIPTIC, ======================================================================== PRESENTATION DE TCL : minidoc_tcl.txt version 1.5 Evolution de TCL : ------------------ Initialement développé pour UNIX a l'Université de Berkeley par le Dr. John Ousterhout et son équipe, TCL est maintenant soutenu par SUN dans le cadre du grand projet d'un "système multiplatteforme de programmation du réseau internet", le port de Tk sous MacOS et sous Windows n'était qu'une phase préliminaire accomplie. Mi juillet 97, le 5e workshop mondial concernant TCL a donné lieu à des annonces importantes de la part de SUN, en particulier en ce qui concerne l'intégration entre TCL et JAVA (dont un interpréteur TCL entièrement écrit en JAVA (issue de jacl). La version courante officielle est Tcl-8.0p2/Tk8.0p2. Cette version incorpore un compilateur à la volée, ainsi qu'un "look and feel" natif (look Mac sous MacOS, ...) La version Tcl/Tk 8.1-alpha1 est sortie (fev 98). Elle apportera entre autre un support des caractères internationnaux 16 bits. Par ailleurs, et indépendement de cela, un groupe d'étude IEEE avait été créé (avril 95) dans le but de définir, puis de normaliser un langage de commande pour la simulation (SimCL). On y parlait pas mal de TCL... Alors de plus en plus d'outil de CAO utilisent TCL comme langage de commande (outils de CAO électronique de Mentor, de Cadence, ...). Le standard de fait semble donc s'installer, et ce groupe d'étude IEEE semble être désactivé. De façon à assurer une meilleurs autonomie de l'évolution du langage, L'auteur John Ousterhout a quitter SUN pour créer sa propre société SCRIPTIC (http://www.scriptics.com/). Le premier objectif sera de commercialiser une platforme de développement "TclPro" (avec debugger, support Java, ...) Le langage lui-même restant gratuit comme il l'est actuellement. Pourquoi encore un langage -------------------------- Les principes qui ont dicté sa création par John Ousterhout (maintenant chez SUN) sont que tout programme suffisament important utilise au moins deux langages : - un langage compilé, efficace pour l'algorithmique (le cobol, le C, C++, JAVA) ; - un autre, interprété, utilisé comme glue pour "piloter" et personnaliser les différentes fonctionnalités de l'application. TCL a été conçu pour se substituer à cette deuxième catégorie de langage. C'est ce qui fait la particularité de TCL : ses utilisateurs viennent d'horizons trés variés et utilisent ce langage avec des objectifs trés différents. qu'est-ce que TCL et TK : ------------------------ TCL est un donc langage de commande interprété, multiplatforme, puissant, concu pour être facilement étendu ou inclu dans une application (C, C++, ...). TCL permet la définition de procédures, de variables globales, locales, ou dont la portée peut être accessible (de manière controlée) à des niveaux inférieurs. TCL permet le traitement des exceptions, la redéfinition (éventuellement dynamique) des commandes, ... Il permet l'accès à internet (commande socket...) Sa syntaxe est tirée à la fois du SHELL, du C et du LISP. TK est la principale extension de TCL. Elle permet de développer des applications a fenêtrage indépendement de la platteforme (Xwindows / Windows / Macintosh). L'utilisation de TCL/TK ----------------------- Le langage TCL peut être utilisé à deux niveaux : - en temps que librairie de procédures C pour les développeurs. Celle-ci permet de développer des applications compilées, mais très souples car entièrement personnalisables par l'utilisateur, et sans avoir à réinventer un (nouvel) interpréteur : Alpha sur Macintosh, mxedit et exmh sous unix... De plus en plus d'outils scientifiques existent qui utilisent TCL : "ptolemy" en traitement du signal, simulateur "esterel" pour les langages synchrones, Outils de CAO électronique, saisie graphique pour VHDL, ... - en temps que langage de programmation pour écrire des scripts purs. Bien que ce ne soit pas sa vocation initiale, ce langage est suffisament puissant pour écrire une application complète du style éditeur de texte, logiciel de dessin ou navigateur internet (tkmail, jstools, surfit, picasso, ...) : - SpecTcl-1.1 : le générateur d'interface de SUN (un "visual basic" pour TCL et pour JAVA, et entierement ecrit en TCL !) http://sunscript.sun.com/spectcl/ - vtcl-1.1 : un autre générateur d'interface pour TCL en TCL http://www.neuron.com/stewart/vtcl/ - webtk-1.0 : Un editeur HTML wisiwig entierement ecrit en TCL http://sunscript.sun.com/webtk/ - httpd-2.1 : serveur HTTP 100% TCL http://sunscript.sun.com/tclhttpd/ TCL/TK est utilisable gratuitement même pour une application destinée à être commercialisée. De nombreuses applications et extensions existent, qu'elles soient commerciales ou publiques (extensions orientées objets, plugin pour netscape, ... ) Un PlugIn TCL pour Netscape (ou Micros*ft) : ------------------------------------------- A FAIRE... On peut noter d'ailleurs que TCL fait partie des trois langages de script utilisés dans la norme HTML-4.0 (en cours) pour illustré l'inclusion de script dans des pages HTML (avec Vbasic et javascript). Utilisation de TCL avec JAVA : ------------------------------ A FAIRE... Pour en savoir plus : --------------------- Ces trois sites sont à visiter en priorité (FAQ, doc, ...) Le site de la société SCRIPTIC http://www.scriptics.com/ Le site de SUN : la référence http://sunscript.sun.com/ Les FAQ du groupe de news : http://www.teraform.com/~lvirden/tcl-faq/ Excellent : http://www.neosoft.com/tcl/resource-tree/ Toute info sur TCL : http://www.sco.com/Technology/tcl/ Quelques sites francophones concernant TCL : Carrefour Cetus: Liens vers l'Orienté Objet - http://www.csioo.com/cetusfr/oo_tcl_tk.html miroir francais : pour les distributions ftp://ftp.ibp.fr/pub/tcl/distrib/ Tutorial ... http://www.loria.fr/moyens-info/logiciels/tcltk/ Doc sur interfaçage TCL et C ... http://www.chez.com/vidalc/tclandc.htm Man en ligne, nouveau chapitre (html) du livre de B. Welch, ... http://www.ensta.fr/~diam/tcl (officieux :-) ## Tout nouveau site francophone concernant TCL est le bienvenu... complement : http://www.elf.org/tcltk-man-html/contents.htm man en ligne http://vhdl.org/vi/simcl/Welcome.html site IEEE simcl http://www.cs.uoregon.edu/research/tcl/code/tclet/ Démos d'applet en TCL ("ticlet") http://www.cdrom.com/titles/tcl.html Tcl/Tk CDROM Groupe de News : francais : news://fr.comp.lang.tcl U.S. news://comp.lang.tcl -- -- Maurice DIAMANTINI - Ecole Nationale Supérieure de Techniques Avancées diam@ensta.fr - 32 Bd Victor - 75739 PARIS FRANCE