Sortie de Tcl/Tk 9.0

Posté par  . Édité par Julien Jorge. Modéré par Arkem. Licence CC By‑SA.
Étiquettes :
56
2
oct.
2024
Programmation

Le Tcl Core Team (TCT) est heureux d'annoncer la sortie de la version 9.0 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 9.0 dont le développement a commencé en janvier 2013.
Il y a quelques potentielles incompatibilités avec les précédentes versions même si la plupart des programmes fonctionneront sans retouches.

Les principales nouveautés et améliorations de Tcl 9.0

  • Données en 64-bit : support des structures de données supérieures à 2 Go (variable, chaîne de caractères, tableau, liste et dictionnaire).
  • Support étendu d'Unicode : avec tous les emojis qui vont bien.
  • Système de fichier virtuel dans le langage : basé sur le format zip et permettant la lecture/écriture ou le montage/démontage.
  • Déclaration de constantes : const
  • De nouvelles commandes de listes : lpop, lremove, ledit et lseq
  • De nouvelles options pour les tableaux : array default et array for
  • De nouvelles commandes de coroutines : coroinject et coroprobe pour interagir avec une coroutine en pause.
  • Substitution avec script : possibilités d'attacher un script à la commande regsub
  • Notation décimale explicite : un entier pourra optionnellement être précédé du préfixe 0d pour indiquer sans ambiguïté qu'il est en notation décimale.
  • Notation de nombre : possibilité de noter un nombre entier avec des tirets bas (underscore) pour plus de clarté (1_000_001).
  • Changement de l'interface de notification d'événements : remplacement de select par epoll/kqueue.
  • Le tilde (~) n'est plus interprété comme le répertoire home.
  • L'encodage par défaut d'un script devient l'UTF-8.

Les principales nouveautés et améliorations de Tk 9.0

  • Onglets de tous les côtés : haut/bas/droite/gauche et navigation avec la molette de la souris.
  • Accès au système de notification, à la barre des tâches et au gestionnaire d'impression : tk sysnotify, tk systray, tk print.
  • Texte dans une barre de progression : ttk::progressbar ... -text
  • Badge temporaire sur une icône : wm iconbadge
  • Image de fond dans un frame : frame ... -backgroundimage ... -tile ...
  • Support partiel du format SVG : image create photo ... -file test.svg
  • Accès aux métadonnées et au cannal alpha des images : image read/write/put/cget ... -metadata etimage get/put ... -to ...
  • Rotation des objets graphiques d'un canvas : canvas rotate ... x y angle
  • Support du défilement à deux doigts.

Pour le reste des nouveautés

  • Un pythoniste (Marc Culler) fait partie du TCT pour faciliter le développement de TkInter.
  • Il n'y aura pas de version 8.7 officielle.
  • Tcl 9 bénéficie d'un nouveau logo dessiné par une graphiste (Valerie Carroll).

Titre de l'image

Aller plus loin

  • # copies d'écran pour Tk

    Posté par  (site web personnel) . Évalué à 3 (+3/-2).

    Bon Tk reste pas mal basé sur l'apparence de Motif_(bibliothèque_graphique) mais bon… ça fait le taf'

    Peut-être y-a-t'il une mise à jour de https://tk-happy.sourceforge.net/main_window.html — les copies de fenêtres Win XP semblent dater :-)

    Sinon, c'est dans https://wiki.tcl-lang.org/page/Category+GUI que l'on peut trouver à quoi cela peut ressembler, par exemple

    Sous windows et mac, cela semble mieux s'adapter à l'apparence du bureau choisi imposé.

  • # He ben

    Posté par  . Évalué à 7 (+5/-0).

    C'est la première version stable de la branche Tcl/Tk 9.0 dont le développement a commencé en janvier 2013.

    Qu'est-ce qui explique 11 ans de développement ? C'est pas une critique, mais à la lecture de la dépêche je ne suis pas sûr de si la version est très ambitieuse, si le projet a extrêmement peu de développeurs, si le projet s'est arrêté un temps (ou a du faire face à d'autres priorité) ?

    C'est pas du tout une critique, c'est juste que je suis toujours curieux de connaître comment est-ce que ça a était fait.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: He ben

      Posté par  . Évalué à 10 (+10/-0).

      Si l'on reprend la chronologie des dernières versions : Tcl 8.4 (2002), Tcl 8.5 (2007), Tcl8.6 (2012) et Tcl 9.0 (2024).
      Le développement de la branche Tcl 8.7 a été suspendu au profit de la version 9.0 suite à un grand retard.
      Les durées se sont récemment allongées entre la publication des versions pour plusieurs raisons :
      - c'est un projet qui compte naturellement peu de développeurs (proportionnellement au nombre d'utilisateurs ?)
      - Le décès de l'un d'entre eux en 2016
      - Une moyenne d'âge supérieure à 50 ans des personnes impliquées dans le projet

      • [^] # Re: He ben

        Posté par  (site web personnel, Mastodon) . Évalué à 10 (+16/-0).

        On peut peut-être ajouter que c'est un projet "terminé": pas besoin de se lancer dans une réécriture complète ou une nouvelle version majeure incompatible du langage. Il n'y a donc qu'un peu de maintenance à faire.

        J'aimerais bien que la plupart des projets que j'essaie de maintenir soient dans cette situation. La culture de l'ébullition permanente ne me semble pas très saine. Mais quand j'étais plus jeune et plein d'illusions, je croyais que j'allais régler tous les problèmes et je me suis embarqué dans plein de trucs. Je ne doute pas que les générations suivantes feront de même?

        • [^] # Re: He ben

          Posté par  . Évalué à 2 (+1/-1).

          On peut peut-être ajouter que c'est un projet "terminé": pas besoin de se lancer dans une réécriture complète ou une nouvelle version majeure incompatible du langage. Il n'y a donc qu'un peu de maintenance à faire.

          Si c'était le cas ce ne serait pas une version majeure, non ?

          https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

          • [^] # Re: He ben

            Posté par  (site web personnel, Mastodon) . Évalué à 10 (+8/-0).

            Le passage à utf8 par défaut est un changement non rétrocompatible qui justifie une nouvelle version majeure si on utilise le semantic versioning.

            Peut-être que la compatibilité 64bit aussipourrait justifier ça.

            Pour autant ce ne sont pas des changements aussi gros que perl 6 vs perl 5, python 3 vs python 2, ou gnome 3 vs gnome 2.

            Donc oui, c'est pas de la pure maintenance, mais ça n'en est pas très loin. Ces changements ont pu demander beaucoup de travail en interne qui ne se voit pas forcément. Ça pourrait aussi expliquer la longue période sans release.

            Il ya certainement plusieurs raisons qui s'additionnent

  • # Paradoxe libre

    Posté par  (site web personnel) . Évalué à 6 (+5/-1).

    Commentaire en forme de digression par rapport à Tcl/Tk.
    À ces abbbréviations s'invitent les bons vieux souvenirs des environnements de bureau olvwm sur station sun… Tout ça m'a finalement amené à ouvrir la page Wikipedia de Motif (cf. premier commentaire).

    On y apprend que Motif a été créé par L'Open Software Foundation (OSF) — une organisation fondée en 1988 en vue de créer un standard ouvert pour une implémentation du système d'exploitation Unix — et que ce dernier n'a pas servi de fondation aux environnements de bureau moderne parce que GTK et QT lui ont été préféré car… Open Source. Comme quoi le libre washing ne date pas d'hier !

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

    • [^] # Re: Paradoxe libre

      Posté par  (site web personnel) . Évalué à 10 (+10/-0).

      Si MOTIF avait été libre, les développeurs de Gimp n'auraient pas programmé GTK. Il faut savoir que MOTIF était globalement vachement bien foutu pour l'époque et on pouvait via les ressources changer l'aspect de l'application.

      Comme quoi, le libre a effectivement du bon (d'ailleurs, pendant longtemps, Qt n'était pas complètement libre non plus).

    • [^] # Re: Paradoxe libre

      Posté par  (site web personnel) . Évalué à 4 (+3/-0).

      Ça me rappelle aussi Wordperfect 8, et les premiers Netscape et leurs boutons OK énormes…
      Je me rappelle de ces boutons radio genre Motif, dans certains thèmes, c'était uniquement le liseré autour du losange qui montrait si le bouton était enfoncé ou pas, et quand t'as des problèmes à savoir d'où vient la lumière et ce qui est enfoncé ou ombré, ben tu savais pas si c'était "coché" ou pas.
      C'est des micro-souvenirs, mais comme c'était mes premiers pas avec Mandrake 5, j'en suis encore ému.

  • # the pursuit of happiness

    Posté par  . Évalué à -10 (+0/-26).

    Le Tcl Core Team (TCT) est heureux d'annoncer

    le démantèlement de toutes les prisons.

    la fin de la destruction méthodique de l'environnement par les mêmes intérêts qui fabriquent et promeuvent l'informatique libre et pas libre.

    la suppression des états et des frontières.

    la

    Ah non j'ai mal lu.

    • [^] # Re: the pursuit of happiness

      Posté par  . Évalué à -10 (+0/-18).

      Il serait dommage que le logiciel libre ne libère que du code, que je me disais.
      Je savais que ça vous plairait.

  • # Esprit du libre, esprit d'ouverture

    Posté par  . Évalué à -10 (+0/-29).

    Il est agréable de voir l'esprit d'ouverture qui règne dans la communauté fr du logiciel libre.
    Jusqu'ici quatre commentaires m'ont rapporté 21 appréciations négatives et aucune positive. Ce que j'écris doit être entièrement faux et mauvais.

    Personne ne prend le temps d'argumenter. Il suffit d'afficher un pouce haut ou un pouce bas ou bien de tendre une coquille d'huître pour savoir qui a raison et qui a tort. Pourquoi s'embêter avec des questions qu'on n'a pas envie de se poser alors qu'il suffit de les éviter ?

    Tiens je remarque que mon message part avec un handicap de -1.
    J'ai attaqué mon crédit social.
    Vraiment tout ça est bien implémenté. Beaucoup de soin, comme dans le code source de vos programmes ou dans vos fiches de cours.
    Je n'en attendais pas moins de la part de la classe moyenne éduquée.

    Je me demande si vous vous rendez compte de la pureté chimique de l'univers mental dans lequel vous vivez.

  • # TCL/TK, un vieux langage qui demande à être utilisé au quotidien

    Posté par  . Évalué à 6 (+4/-0).

    J'ai vraiment envie de me mettre plus sérieusement à Tcl/Tk, le peu que j'ai vu m'a vraiment plu, c'est un vénérable langage qui pourrait sembler démodé, face à Python qui est mis partout en avant, alors que Tcl semble plus stable et pérenne : j'ai trouvé de vieux bouts de code ou des logiciels qui datent de plusieurs années et qui fonctionnent toujours.

    Avec python, c'est vraiment un bordel sans nom pour arriver à suivre. Je peux comprendre que le langage python étant plus utilisé, il existe plus de briques dans l'écosystème et d'interdépendances, ce qui d'une part permet de gagner en productivité, mais d'autre part oblige à suivre et mettre régulièrement à jour le code, ou d'utiliser des artifices pour avoir le bon environnement de dev (pyenv, poetry).

    Mais pour moi qui ai peu de besoins, et vise à des choses simples, j'ai l'impression que Tcl/Tk sera plus adapté. Je viens de découvrir ce site didactique qui va bien m'aider : https://tcltk.fr/

    « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

    • [^] # Re: TCL/TK, un vieux langage qui demande à être utilisé au quotidien

      Posté par  (site web personnel) . Évalué à 8 (+6/-0).

      Je me souviens d'un programme graphique en tcl/tk, c'était vraiment compliqué de le maintenir. Je l'avais refait en mieux avec Perl/Tk et c'était bien plus simple à comprendre et à structurer en block.

      D'ailleurs, la version devrait toujours fonctionner car le langage Perl est hyper stable.

      • [^] # Re: TCL/TK, un vieux langage qui demande à être utilisé au quotidien

        Posté par  . Évalué à 4 (+3/-0).

        Bonjour,
        Ca me rappelle des souvenirs, mes premiers essais laborieux de "GUI" en Tcl/Tk sous RedHat 4 (achetée en VPC avec grâce à une pub "Kheops") sur mon antique AMD K6, ses 16MB de RAM et HD IDE 3GB!
        A cette époque j'étais plus content d'obtenir une config fonctionnelle XFree86/fwm, avoir du son sortant de la carte soundblaster et un modem V33 téléchargeant péniblement quelques KB de sources en .tar.gz sur le ftp de Jussieu que de gagner à la loterie :-)
        De mémoire, Tcl était aussi utilisé/embarqué comme language de script dans des softs propriétaires, avec ou sans la couche Tk.
        Il est encore présent dans des packages comme environment-modules.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.