Sortie de Tcl/Tk 9.0

Posté par  . Édité par Julien Jorge. Modéré par Arkem. Licence CC By‑SA.
Étiquettes :
42
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é à 5 (+3/-0).

    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é à 6 (+4/-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é à 8 (+7/-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 (+11/-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 (+0/-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.

          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é à 4 (+2/-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é à 4 (+3/-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é à 9 (+7/-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é à 3 (+2/-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.

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.