URL: https://linuxfr.org/news/sortie-de-tcl-tk-8-6 Title: Sortie de Tcl/Tk 8.6 Authors: canvas tuiu pol, Nÿco et Lucas Bonnet Date: 2012年12月26日T20:58:12+01:00 License: CC By-SA Tags: tcl, tk, langage, franglais, admin, script et postgresql Score: 37 Le _Tcl Core Team_ est heureux d'annoncer la sortie de la version **8.6** du langage de script Tcl et de la bibliothèque d'interface graphique Tk. C'est la première version stable de la branche Tcl/Tk 8.6 dont le développement a commencé en mars 2008. Parmi les nouveautés pour Tcl, le support officiel de la programmation orientée objets dans le noyau, l'évaluation stackless, les coroutines, une interface commune d'accès aux bases de données SQL dans le noyau, la gestion des exceptions, les canaux virtuels, le support de la compression zlib dans le noyau. Parmi les nouveautés pour Tk, le support du format PNG, un nouveau sélecteur de fonte, le déplacement absolu des objets dans le widget canvas et les textes obliques. À noter un changement d’infrastructure : le développement de Tcl/Tk n'est plus hébergé sur Sourceforge avec CVS mais sur un [site spécifique](http://core.tcl.tk/) avec le gestionnaire [Fossil](http://www.fossil-scm.org/) développé par D. Richard Hipp (le créateur de SQLite). Il en est de même pour les deux bibliothèques standards (Tcllib et Tklib). ---- [L'annonce sur comp.lang.tcl](https://groups.google.com/forum/?hl=fr&fromgroups=#!topic/comp.lang.tcl/MSTX4iv38WU) [La liste détaillée des changements](http://wiki.tcl.tk/21276) [Le site officiel](http://www.tcl.tk/) [La page Wikipedia de Tcl](http://fr.wikipedia.org/wiki/Tool_Command_Language) [La précédente dépêche de Tcl/Tk 8.5 sur Linuxfr](http://linuxfr.org/news/sortie-de-tcltk-850) ---- ##Les principales nouveautés et améliorations de Tcl 8.6## - **La Programmation Orientée Objets :** après environ une décennie de tergiversation et une dizaine d'extensions différentes, Tcl est enfin doté d'un système objet dans le noyau. Il est basé sur les classes et comprend des fonctionnalités telles que les méta-classes, les filtres, les slots et les mixins. - **L'évaluation stackless :** l'évaluation de plusieurs niveaux d'appel de procédures imbriquées n'est plus implémentée au niveau de la pile du langage C. Cette révision importante de l'implémentation interne de Tcl appelée NRE (Non-Recursive-Evaluation-Engine) augmente la profondeur de récursion et permet la récursion terminale (`tailcall`). Incidemment, apparaissent les nouvelles commandes `coroutine`, `yield` et `yieldto` s'orientant vers la continuation et la programmation concurrente. - **La gestion des exceptions :** la gestion des exceptions via les commandes `try/trap/finally` ainsi que `throw`. Ajouté à cela une grande quantité de code de retour d'erreur (`-errorcode`) permettant une gestion plus fine des erreurs et des exceptions. - **TDBC (Tcl DataBase Connectivity) :** il s'agit d'une interface commune avec les SGBD SQL. Sont inclus les pilotes pour MySQL, PostgreSQL, SQLite et ODBC. Le package `sqlite3/tdbc::sqlite3` inclus avec Tcl fournit un moteur de base de données prêt à l'emploi. - La compression zlib dans le noyau avec la commande `zlib` pour gérer la compression de données et de flux. - Les nouvelles commandes `lmap` et `dict map` permettent un traitement plus compact des collections de données. - Le support IPv6 en tant que client et serveur avec la commande `socket`. - Les nouvelles commandes `chan push` et `chan pop` pour les canaux virtuels. - **Améliorations supplémentaires :** certaines commandes acceptent zéro argument sans renvoyer une erreur, la version par défaut de Tcl devient la version avec thread, la gestion des fichiers temporaires avec `file tempfile`, améliorations du tri des listes (`lsort -stride`), filtrage de dictionnaire (`dict filter`), encodage et décodage de séquences binaires (`binary encode/decode`) et un contrôle plus fin du chargement des bibliothèques avec la commande `load -global` et `-lazy`. ##Les principales nouveautés et améliorations de Tk 8.6## - Le support du format PNG (lecture/écriture) avec contrôle du canal alpha (transparence) - La commande `tk busy` qui permet de suspendre l'interactivité d'une fenêtre si besoin. - Un nouveau sélecteur de fonte `tk fontchooser` qui fournit une interface portable au sélecteur de fonte de la plate-forme, qu'il soit modal ou non. - Une nouvelle option `-angle $degrees` avec `$canvas create text` pour afficher du texte selon un angle donné dans le widget canvas. - Le déplacement absolu d'objets dans le widget canvas avec la commande `$canvas moveto`. - Le déplacement de noeuds avec `$canvas imove` et `$canvas rchars`. - Le nom des couleurs Tk ont été redéfinis pour suivre les standards du Web. - Changement de la gestion de l'événement `` qui est actif dès que la souris est sur une fenêtre. - **Améliorations supplémentaires :** plus d'interaction avec le window manager, le widget spinbox devient thémable (`ttk::spinbox`) et support de la compression LZW avec le format GIF.

AltStyle によって変換されたページ (->オリジナル) /