IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tcl/Tk Discussion :

[Langages Scripts] Que pensez-vous du Tcl/Tk ?


Sujet :

Tcl/Tk

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut [Langages Scripts] Que pensez-vous du Tcl/Tk ?
    Bonjour à tous

    Désolé je ne savais pas trop ou poster ...
    Je voudrais savoir ce que vous pensez du Tcl / Tk pour le developpement d'interfaces graphiques ?
    Est-ce complètement dépassé ou toujours bien utile ?

    Merci d'avance !!!!!

  2. #2
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    De ce que j'en sais, c'est vieux.

    Ce serait pas mieux de se tourner vers GTK ?
    http://search.cpan.org/~tsch/Gtk2-1.081/Gtk2.pm


    EDIT : apparemment, je sais mal. Je dois confondre avec une autre API : le site officiel est à jour, et la version 8.4.10 vient de sortir :
    http://www.tcl.tk/
    Quant au module CPAN qui va bien :
    http://search.cpan.org/~vkon/TclTk-0.75/Tk.pm
    "I hate quotations. Tell me what you know." (Ralph Waldo Emerson)

  3. #3
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut Re: [Langages Scripts] Que pensez-vous du Tcl / Tk ?
    Bonjour,

    Citation Envoyé par Anne_so2121
    Je voudrais savoir ce que vous pensez du Tcl / Tk pour le developpement d'interfaces graphiques ?
    Est-ce complètement dépassé ou toujours bien utile ?
    Il y a deux outils distincts, dans la doublette Tcl/Tk.

    Il y a le langage de script Tcl, qui peut être assez efficace quand il est bien maîtrisé, mais qui n'est pas facile à maîtriser ...

    Il y a aussi le kit graphique Tk. Celui-ci est utilisable indépendemment de Tcl (il y a, par exemple, l'excellent couple Perl/Tk).

    Les interfaces réalisées avec Tk ne sont pas toujours top de top au niveau du look (parfois un peu vieillot, mais cela dépend aussi du talent du programmeur). Par contre, l'un des widgets de Tk peut parfois à lui seul justifier l'usage de ce kit : le widget Canvas.

    Le widget Canvas permet de tracer des objets graphiques (polygones, ellipses, segments, etc.), et de les considérer comme de réels objets, avec possibilité de déplacement, altérations géométriques, changement de style, réaction aux événements clavier/souris. C'est idéal, par exemple, pour réaliser un schéma synoptique qui doit interagir avec l'utilisateur ou être mis à jour.

    Voila ...
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponses,

    Je pense maitriser a peu pret ce langage car j'ai développé qq IHM avec, mais je voulais juste un avis général. Et surtout savoir si ce langage était toujours utilisé actuellement (pas seulement par moi koi... lol).

  5. #5
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    le fait qu'il soit régulièrement actualisé (dernière version récente)
    sur plusieurs plateformes, indique qu'il est toujours d'actualité.

    De plus Freewrap permet de faire un .exe indépendant. Interessant quand
    on veut diffuser une appli sans l'environnement

    comment interfacer un programme C avec le programme tcl/tk suivant
    pour récupérer la saisie contrôlée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    font create fcnax -family arial -weight bold -size 12
    set commun {-relief sunken -font fcnax -validate all -invcmd bell}
    proc Valider {champ longueur} {
       set a [regexp {^[0-9]*$} $champ]
       if {$a==0} {return 0} 
       return [expr [string length $champ]<=$longueur]
    }
    wm title . "Saisie "
    wm geometry . 220x100
    wm resizable . false false
    label .lbassnum -text Assnum -font fcnax
    eval entry .yassnum  -textvariable assnum -width 14 $commun -vcmd {{Valider %P 13}} 
    pack .lbassnum .yassnum -side left -anchor nw -padx 5 -pady 15

  6. #6
    Membre actif
    Profil pro
    Ingenieur
    Inscrit en
    Décembre 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingenieur

    Informations forums :
    Inscription : Décembre 2003
    Messages : 138
    Points : 280
    Points
    280
    Par défaut
    Personellement ayant deja developpe des IHM et en Java et en Tk je prefere largement Java...en fait je n aime pas Tk parce qu il possede les meme inconvenients que TCL en particulier aucune verification du code avant l exectuion donc tous les problemes ne sont detectes qu a l execution etc
    et autre gros reproche que je lui fais c est son manque de lisibilite par rapport aux langages comme java ou C que je trouve beaucoup mieux structures

    Mais bon tout cela n engage que moi, apres les gouts et les couleurs ...

  7. #7
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par quicky2000
    Personellement ayant deja developpe des IHM et en Java et en Tk je prefere largement Java...en fait je n aime pas Tk parce qu il possede les meme inconvenients que TCL en particulier aucune verification du code avant l exectuion donc tous les problemes ne sont detectes qu a l execution etc
    et autre gros reproche que je lui fais c est son manque de lisibilite par rapport aux langages comme java ou C que je trouve beaucoup mieux structures

    Mais bon tout cela n engage que moi, apres les gouts et les couleurs ...

    que veux-tu dire par "aucune vérification du code avant l'exécution" ?
    il ne s'agit pas d'un langage compilé mais interprêté, tu ne peux pas le comparer à Java la dessus.

    Ou alors j'ai rien compris, j'ai attaqué Tcl il y a une semaine

  8. #8
    Membre actif
    Profil pro
    Ingenieur
    Inscrit en
    Décembre 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingenieur

    Informations forums :
    Inscription : Décembre 2003
    Messages : 138
    Points : 280
    Points
    280
    Par défaut
    Citation Envoyé par Mathusalem
    que veux-tu dire par "aucune vérification du code avant l'exécution" ?
    il ne s'agit pas d'un langage compilé mais interprêté, tu ne peux pas le comparer à Java la dessus.
    C est bien ce que je lui reproche !! c est d etre interprete

  9. #9
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Il y a bien longtemps que je n'ai pas fais de tcl.
    mais je pense que tcl tout comme tk sont encore bien vivant.

    pour ma part tcl est une bonne colle pour des dev plus lourd en C++ (C)
    bref je l'ai toujours utilisé ainsi. faire des package en C++ spécifique à mon activité et assembler le tout en tcl.
    ainsi les assemblage peuvent évoluer sans recompiler le tout.

    pour ce qui est de tk le gros avantage que je lui trouve c'est sa simplicité de mise en oeuvre. Je ne crois pas qu'il faille le comparer à GTK ou autre
    Tk est pour moi un langage de macro graphique. un truc pour faire de petites interface. même si certain on fait de très belle chose avec je trouve que c'est dans ce contexte qu'il s'exprime le mieux.

    et le fait que tcl soit interprété est justement sa force.
    si le besoin de vérification se fait sentir au point de nécessité une analyse au préalable c'est le signe qu'il faut passer à un autre langage.

    embarque un langage de script dans une appli est aussi un gros avantage pour automatiser certaine tâches.

    A+JYT

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Points : 112
    Points
    112
    Par défaut
    Salut.

    De ce que je connais de Tcl/Tk est qu'il est un langage script, donc interprêté. Cela signifie que Tcl-Tk ne supporte pas les très grosses applications. C'est la faiblesse de tous langages script. Toutefois, il est possible d'améliorer les performances, car l'interprêteur a du code déjà compilé à l'intérieur de son interprêteur. Cela favorise la vitesse d'analyse du code.

    Une très grosse application écrite en tcl a tendance a faire exploser la mémoire de l'interprêteur, car il ne peux pas tout enmagasiner. Pourtant avec une grosse application, c'est exactement ce qu'on lui demande de faire sans le vouloir vraiment.

    L'avantage d'un code compilé est qu'il s'execute au fur et à mesure si bien que cela libère de la mémoire, car le code objet (en code machine) suit le mode procédural pour fonctionner, c'est-à-dire l'execution des instructions les unes à la suite des autres.

    Vous me direz que l'interprêteur agirait de la même façon qu'un compilateur avec son code précompilé. Cependant, ce n'est pas le cas. Il est possible qu'une instruction donnée au début peut-être réutilisée n'importe où au niveau du programme ce qui nécessite de garder malcontreusement tout en mémoire. D'où la principale difficulté d'un langage script. Pour contourner cet aspect là, on a pensé à introduire du code objet pour faciliter la réutilisation de code à l'intérieur de l'interprêteur. Toutefois, malgré ces améliorations les langages scripts pêchent par leur défaut de base à savoir la sauvegarde du code complet en mémoire.

    1) Pour résoudre, une telle difficulté. Il serait intéressant d'écrire une grosse application en tcl (que nous saurions pas interprêtable) afin de la ramener par un convertisseur adéquat dans un langage compilable dans le but de la traduire. Cependant, comme le code n'a pas été analysé, il se peut que des erreurs malcontreuses viennent s'y glisser. C'est pourquoi, il est nécessaire de compartimenter un programme avec des fichiers à importer avec la commande source en tcl afin de le faire fonctionner par petit bout avant de le ramener en une seule application. Ainsi, l'application désirée aura été fractionnée par pièces (à regrouper par la suite). Voilà pour la pratique.


    A+

  11. #11
    Futur Membre du Club
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'utilise Tcl et Tk quotidiennement au boulot.
    Tcl tout seul pour des scripts automatisés qui lancent des requêtes sur des SGBD et mailent les résultats aux intéressés, Tcl/Tk pour des interfaces de saisie.

    J'ai fait du Delphi avant et un peu de Java, avec Tcl/Tk, je vais à peu près dix fois plus vite pour faire les mêmes choses... et avec beaucoup moins de lignes de code, donc plus facile à relire et à debugger.

  12. #12
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par habilité Voir le message
    Salut.

    De ce que je connais de Tcl/Tk est qu'il est un langage script, donc interprêté. Cela signifie que Tcl-Tk ne supporte pas les très grosses applications. C'est la faiblesse de tous langages script. Toutefois, il est possible d'améliorer les performances, car l'interprêteur a du code déjà compilé à l'intérieur de son interprêteur. Cela favorise la vitesse d'analyse du code.

    Une très grosse application écrite en tcl a tendance a faire exploser la mémoire de l'interprêteur, car il ne peux pas tout enmagasiner. Pourtant avec une grosse application, c'est exactement ce qu'on lui demande de faire sans le vouloir vraiment.

    L'avantage d'un code compilé est qu'il s'execute au fur et à mesure si bien que cela libère de la mémoire, car le code objet (en code machine) suit le mode procédural pour fonctionner, c'est-à-dire l'execution des instructions les unes à la suite des autres.

    Vous me direz que l'interprêteur agirait de la même façon qu'un compilateur avec son code précompilé. Cependant, ce n'est pas le cas. Il est possible qu'une instruction donnée au début peut-être réutilisée n'importe où au niveau du programme ce qui nécessite de garder malcontreusement tout en mémoire. D'où la principale difficulté d'un langage script. Pour contourner cet aspect là, on a pensé à introduire du code objet pour faciliter la réutilisation de code à l'intérieur de l'interprêteur. Toutefois, malgré ces améliorations les langages scripts pêchent par leur défaut de base à savoir la sauvegarde du code complet en mémoire.

    1) Pour résoudre, une telle difficulté. Il serait intéressant d'écrire une grosse application en tcl (que nous saurions pas interprêtable) afin de la ramener par un convertisseur adéquat dans un langage compilable dans le but de la traduire. Cependant, comme le code n'a pas été analysé, il se peut que des erreurs malcontreuses viennent s'y glisser. C'est pourquoi, il est nécessaire de compartimenter un programme avec des fichiers à importer avec la commande source en tcl afin de le faire fonctionner par petit bout avant de le ramener en une seule application. Ainsi, l'application désirée aura été fractionnée par pièces (à regrouper par la suite). Voilà pour la pratique.


    A+
    Salut
    tout faire dans une grosse application en TCL est pour moi une aberration. mais on peut très bien écrire une grosse application avec du TCL sans tout faire exploser. comme tu le fais justement remarquer TCL SAIT nativement embarquer du code compilé donc une première approche est d'écrire les bibliotèque fonctionnelles de l'application en C C++ Pascal Ada assembleur si tu veux. ensuite avec TCL tu assure la liaison entre toutes ses fonctions
    Le coeur du traitement étant compilé tu as les perfs recherché et la liaison étant interprété tu as la souplesse qu'apporte de tel language au niveau de la cinématique de ton application.

    une précision tout de même dans un langage interprété TOUT n'est pas en mémoire en même temp le code est lu parsé et interprété au fur et à mesure. de même lorsqu'un objet n'est plus utilisé la mémoire est libérée tout comme dans un langage compilé. mieux même car si tu oublit de le libéré l'interprète le fait pour toi. en C si tu alloue de l'espace il te faut impérativement le restituer ou tu vas droit dans le mur.

    je ne connais aucun interprète de langage quel qu'il soit qui garde en mémoire toutes les instructions exécutées. au pire il garde des références sur les portion de code à réinterprété au mieux il mets en cache le code compilé.

    enfin tcl n'est pas un langage interprété comme les autres car en fait il ne fait dans l'interprète que bien peu de chose. la majorité du code est compilé
    l'appel d'une commande tcl en TCL se résume à lire le source reconnaître le token aller dans la table des références des commande et appeler le code compiler correspondant si le code de la dite commande n'est pas charger c'est exactement la même chose que d'appeler une fonction dune DLL qui n'est pas en memoire.
    l'appel d'une fonction c'est exactement pareil
    lecture du code reconnaissance du token recherche de la références et exécution de la fonction. si la fonction n'a jamais été chargé tcl ouvre le source est l'analyse. sinon il utilise le code compilé qu'il à mis en cache.
    tcl n'interprète finalement que peu de chose.

    mais il y a une autre façon d'utiliser TCL
    c'est d'écrire une grosse appli compilée et de lui embarquer un interprète qui va permettre à l'application de bénéficier d'un langage de macro (WinCVS utilisait cette approche)

    A+JYT

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Points : 112
    Points
    112
    Par défaut
    Salut.

    Merci beaucoup Sekaijin pour ces précisions fortes utiles.

    A+

Discussions similaires

  1. Réponses: 59
    Dernier message: 07/02/2009, 14h10
  2. Que pensez vous du fait de programmer avec plusieurs langages en meme temps
    Par darkman1811 dans le forum Langages de programmation
    Réponses: 18
    Dernier message: 30/06/2008, 15h24
  3. Que pensez vous de mon script perl
    Par specimen35 dans le forum Langage
    Réponses: 18
    Dernier message: 14/01/2008, 13h37
  4. [Débat] Que pensez-vous du langage Anubis ?
    Par MDZ dans le forum Langages fonctionnels
    Réponses: 232
    Dernier message: 19/09/2007, 21h33
  5. [Débat] Que pensez-vous des langages à typage dynamique?
    Par Eusebius dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 16/06/2004, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo