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

C Discussion :

Que pensez vous du goto [Débat]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Pour en terminer avec ça, je pense que l'organisation de ton prog doit être à peu près comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ((ligne =  obtention_prochain_article()) != NULL)
    {
       init_traitement_article();
       while ((num_champ = obtention_prochain_champ()) != -1)
           traitement_champ(num_champ);
    }
    Pas besoin de goto
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Goto or not goto?
    Citation Envoyé par ulukahio
    Bonjour à tous, je me trouve devant un problème, à savoir que partout où je vais on me dit: "bouuh n'utilise pas goto c'est illisible, c'est nul, et en plus c'est pas bien". Mais voilà, je me suis donc débrouillé sans jusqu'à maintenant, mais je pense que pour ce que je dois faire l'utilisation de goto rendrait les choses plus claires.

    En effet, je récupère une base de données en C sachant que les champs vides ne sont pas dans la base de départ. Donc quand je ne détecte pas un champ, je dois sauter toute une partie de mon code (qui traite les champ qui ne sont pas la), pour aller vers le reste.

    Pourquoi un goto ne serait pas indiqué dans ce cas la? Je veux bien faire des tests avec des indices et compagnie mais je pense qu'un goto serait nettement plus clair, même pour les relecteurs.
    En principe, on utilise pas de goto. Il y a des exceptions, comme éventuellement le cas que tu décris, mais il fait tomber dans le raisonnement 'par saut' (if goto) qui s'oppose au raisonnement par 'action conditionelle' (if else) qui est la base de programmation structurée. C'est donc la porte ouverte à la spaghettisation du code, et franchement je ne le conseille pas. Montre un exemple de ce que tu veux faire.

    Si tu dois vraiment utiliser des goto, il est une regle absolue à ne pas briser (je ne sais plus si elle est de Knuth ou de Dijskra) : un goto est toujours descendant (autrement dit, on ne fait pas de boucles avec un goto).

    En tout cas, c'est toujours un sujet passioné...

    http://www.acm.org/classics/oct95/
    http://www.fortranlib.com/gotoless.htm
    etc.

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par calogerogigante
    testOUIouNON:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ch=getch();
    switch (ch) {
                case 'o': return 1;
                case 'n': return 0;
                 default: goto testOUIouNON;
    Un goto remontant ? Tu as mérité le double trempage :
    1. Dans un bain de miel liquide
    2. Dans une bassine de fourmis rouges.

    Bonne nuit.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 37
    Par défaut Re: Goto or not goto?
    Si tu dois vraiment utiliser des goto, il est une regle absolue à ne pas briser (je ne sais plus si elle est de Knuth ou de Dijskra) : un goto est toujours descendant (autrement dit, on ne fait pas de boucles avec un goto).
    Que penser de l'instruction continue alors?

    (et qu'est ce que vous entendez par spaghettisation?)

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par HRS
    il faut se rappeler que les instructions "return", "break", "continue"
    sont des "goto" déguisés et maîtrisés

    par contre il n'existe aucune instruction pour sortir élégamment de
    2 boucles imbriquées. à part "goto".
    Tu veux dire 'rapidement', parce que 'élégamment', si, un flag suffit en général (genre "j'ai trouvé", ou pointeur NULL etc.). Il suffit d'ajouter le testbdans la condition de sortie de la boucle. Comme ça, au moins c'est centralisé...

    Les courts circuits sauvages qui oublient de libérer les ressources, je préfère éviter dans le code courant.

    Par contre, je veux bien utiliser des goto dans du code extrèmement critique en temps d'exécution, en prenant d'extrêmes précautions...

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Citation Envoyé par mat.M
    La valeur d'un programmeur est inversement proportionnel au nombre de goto que l'on trouve dans son code
    tiens ......tiens .....et dans quel livre cette maxime est statuée ??
    Dijkstra observed that the quality of a programmer's code was inversely proportional to the number of gotos the programmer used
    Voir ici, l'article est d'ailleurs très intéressant.
    Dernière trouvaille :
    in 1974.Böhm and Jacopini first proved theoretically that GOTO was unnecessary
    trouvée ici
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par ronan99999
    n'empeche que un beau et magnifique goto bien placé et ben c'est tres propre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    piVar = (int*) calloc(SIZE,sizeof(int));
    if(!piVar )
    goto labelError;
     
    /*traitement*/
     
    return 0;
    labelError:
    return -1;
    Meuh ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    {
       int ret = 0;
       int *piVar = calloc (SIZE, sizeof *piVar);
     
       if (piVar != NULL )
       {
          /* traitement */
       }
       else
       {
          ret = -1;
       }
       return ret;
    }
    2 returns, c'est un de trop...

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par ulukahio
    Citation Envoyé par Trap D
    Ta base de données est bien organisée en articles (des "lignes") comportant des champs séparés par des ";" non ?
    Oui mais le problème était qu'il n'y avait pas le même nombre de ";" à chaque ligne, vu que si les champs n'étaient pas remplis, dans la bse on ne retrouvait pas un champ vide, mais pas de champ du tout.
    Ca, c'est pas possible.

    Le format que tu montre semble être une des variantes du format CSV. Pour une base donnée, le nombre de ; doit être constant (nombre de champs). Si un champ est vide, les 2 ';' se trouvent collés : ';;'. Il ne doit y avoir aucune ambigüité.

    Il faut donc analyser la ligne, et ne traiter que les champs non vide après les avoir éventuellement numéroté si ça peut faciliter le traitement avec un switch-case.

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Goto or not goto?
    Citation Envoyé par ulukahio
    Si tu dois vraiment utiliser des goto, il est une regle absolue à ne pas briser (je ne sais plus si elle est de Knuth ou de Dijskra) : un goto est toujours descendant (autrement dit, on ne fait pas de boucles avec un goto).
    Que penser de l'instruction continue alors?
    Connais pas.
    (et qu'est ce que vous entendez par spaghettisation?)
    Code spaghetti, tu ne connais pas? Jamais fait de BASIC héroique ou d'assembleur à la hache ?

    Google : "Résultats 1 - 10 sur un total d'environ 646 000 pour spaghetti code. (0,17 secondes) "

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 37
    Par défaut
    Ca, c'est pas possible.

    Le format que tu montre semble être une des variantes du format CSV. Pour une base donnée, le nombre de ; doit être constant (nombre de champs). Si un champ est vide, les 2 ';' se trouvent collés : ';;'. Il ne doit y avoir aucune ambigüité.

    Il faut donc analyser la ligne, et ne traiter que les champs non vide après les avoir éventuellement numéroté si ça peut faciliter le traitement avec un switch-case.
    Ben écoute, ça me semble possible, la base de données que j'ai je l'invente pas , et pour info elle a été développé sous MOD1 (oui c'est nul, mais c'est pas moi qui ai choisi).

    et non je n'ai jamais fait de basic ni d'assembleur à la hache. Le problème quand on est débutant, c'est que bien souvent on débute.

  11. #11
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par ulukahio
    Ben écoute, ça me semble possible, la base de données que j'ai je l'invente pas , et pour info elle a été développé sous MOD1 (oui c'est nul, mais c'est pas moi qui ai choisi).
    Montre un dizaine de lignes à traiter et explique le genre de traitements que tu veux faire. Donne aussi la spécification de la base (nom et type des champs)

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2004
    Messages : 66
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Par contre, je veux bien utiliser des goto dans du code extrèmement critique en temps d'exécution, en prenant d'extrêmes précautions...
    Sur ce point on est en accord ...

    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par ulukahio
    Que penser de l'instruction continue alors?
    Connais pas.
    Par contre pas ici
    Je trouve que le continue est très propre et évite une indentation inutile .. exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    for ( i = 0; i < 10; i++ )
    {
       if ( toto )
       {
          titi= .... // je met ça juste pour pas qu'un petit malin me suggère un toto & titi & tata :-)
          if ( titi )
          {
              tata = ... 
              if ( tata )
              {
                    ... le code ici !
              }
          }
       }
    }
    Est bien moins propre que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    for ( i = 0; i < 10; i++ )
    {
       if (!toto )
          continue;
       titi= .... 
       if ( !titi )
           continue;
       tata = ... 
       if ( !tata )
           continue;
     
       ... le code ici !
              }
          }
       }
    }
    Question de gout, mais j'aime les programmes qui peuvent se lire sur 80 colonnes au lieu de 500 pour les grosses boucles et/ou if imbriqués


  13. #13
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    DavG : Sans compter que l'instruction "continue" est non seulement propre, mais extrêmement pratique pour des trucs comme la vérification d'entêtes de protocoles, ou certaines variantes de machine à état (comme les analyseurs lexicaux, vraiment au hasard)...
    Je vois mal comment implémenter certains algos complexes en gardant un code simple, compact et lisible sans les instructions (cad qu'elle font partie du C lui-même, et non pas de la librairie standard) "continue", "break" ou l'opérateur ternaire...

    ulukahio : Passe en MP si tu veux un peu plus d'explications sur la syntaxe, la sémantique et la traduction, stp. Ce n'est pas à proprement parler le bon forum pour ça.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2004
    Messages : 66
    Par défaut
    Citation Envoyé par Mac LAK
    Je vois mal comment implémenter certains algos complexes en gardant un code simple, compact et lisible sans les instructions (cad qu'elle font partie du C lui-même, et non pas de la librairie standard) "continue", "break" ou l'opérateur ternaire...
    En fait tout est possible sans ces instructions et personnellement je suggèrerais de ne les utiliser que lorsqu'on est certain de bien avoir compris qu'on peut s'en passer et qu'on fait ça par choix et non par obligation

  15. #15
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par DavG
    En fait tout est possible sans ces instructions et personnellement je suggèrerais de ne les utiliser que lorsqu'on est certain de bien avoir compris qu'on peut s'en passer et qu'on fait ça par choix et non par obligation
    Bien d'accord, mais le bout de texte souligné a une importance fondamentale dans mon post précédent...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  16. #16
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut
    la spaghettisation du code
    J'adore ce terme !! C'est exactement ce que je recherchais comme expression pour expliquer que ulukahio a quand même intérêt à éviter de mettre un maximum de goto...

    Tu as mérité le double trempage :
    1. Dans un bain de miel liquide
    2. Dans une bassine de fourmis rouges.
    Tant pis ! J'accepte le châtiment... mais je persiste dans mon "mauvais" bout de code qui ne m'a jamais créé de problème dans la petite centaine de programmes où je l'ai déjà utilisé !!
    (je suis têtu parfois !!)

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 37
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par ulukahio
    Ben écoute, ça me semble possible, la base de données que j'ai je l'invente pas , et pour info elle a été développé sous MOD1 (oui c'est nul, mais c'est pas moi qui ai choisi).
    Montre un dizaine de lignes à traiter et explique le genre de traitements que tu veux faire. Donne aussi la spécification de la base (nom et type des champs)
    
    Ca serait super lourd, il y a une centaine de champs, beaucoup de caractères qui ne passeraient pas (les séparateurs ne sont pas des ";", j'ai mis ça pour simplifier, en fait ce sont des nombres écrits en hexa correspondant à la taille des champs, et ils ne passent pas ici), tout ce que je peux faire c'est les envoyer, par mail ou autrement. De plus, pour les noms des champs je suis encore en train de les chercher, puisqu'on ne m'a donné aucun moyen de les savoir... D'autant plus que je n'y connais rien en ce qui concerne les données elles même.

  18. #18
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par Trap D
    Citation Envoyé par mat.M
    La valeur d'un programmeur est inversement proportionnel au nombre de goto que l'on trouve dans son code
    tiens ......tiens .....et dans quel livre cette maxime est statuée ??
    Dijkstra observed that the quality of a programmer's code was inversely proportional to the number of gotos the programmer used
    Voir ici, l'article est d'ailleurs très intéressant.
    Dernière trouvaille :
    in 1974.Böhm and Jacopini first proved theoretically that GOTO was unnecessary
    trouvée ici
    C'est un élément de réponse maintenant je veux qu'on réponde à mes autres questionse

    Oui mais PERSONNE n'a répondu à mes questions : à quoi servent JMP, JGE ??????

    Que fait ce code là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MOV AX,200
    decr_ax:
    DEC AX
    CMP AX,10
    JBE decr_ax
    Les personnes qui n'y comprennent rien peuvent me demander

  19. #19
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par mat.M
    Oui mais PERSONNE n'a répondu à mes questions : à quoi servent JMP, JGE ??????
    Ce sont des instructions de saut et de saut conditionnel. Où veux-tu en venir ? Que les langages de haut niveau on un degré d'abstraction supérieur aux langages de bas niveau ? Ben oui, on s'en serait douté...

    C'est toute la différence entre les ordinogrammes où l'on raisonne en saut, et le langage algorithmique où l'on raisonne en exécution. Après une très mauvaise expérience de la programmation par saut en BASIC héroïque (Apple ][, BASICA, GWBASIC...) dans les années 80 qui a failli me faire abandonner mes tentatives d'auto-apprentissage de l'informatique, j'ai découvert le Pascal (Turbo Pascal 3.0 1987) et ça a été la révélation : 1er programme en TP3 : 2 goto, ensuite plus jamais de goto.

    J'ai arrété de penser 'saut' pour commencer à penser 'exécution' et tout s'est eclairé. Ensuite, j'ai pu faire du BASIC à l'ancienne (imposé en stage, huh!) et de l'assembleur (8051) propre en utilisant le même raisonnement, en ayant enfin compris que les goto/jmp sont un moyen et non une fin.

    Que fait ce code là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MOV AX,200  ; AX := 200
    decr_ax:    ; DO
    DEC AX      ;    AX := AX - 1
    CMP AX,10  
    JBE decr_ax ; WHILE AX != 10

  20. #20
    mat.M
    Invité(e)
    Par défaut
    ça y est c'était dur mais j'ai enfin obtenu une réponse

    en ayant enfin compris que les goto/jmp sont un moyen et non une fin.
    Tout à fait d'accord
    Mais puisque JMP et compagnie en ASM ça équivaut au goto Basic donc n'importe quel exe que tu désassembles ça ressemble à un foisonnement de goto , non ???
    C'est idiot non ?
    Moralité des courses tu fais un beau programme structuré dans un language très évolué et bien structuré avec des modèles conceptuels de données pour avoir au bout du compte .......3 millions de lignes de goto

    C'est c.. alors l'informatique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Que pensez-vous des générateurs de doc PHP ?
    Par Nonothehobbit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 64
    Dernier message: 10/07/2007, 10h17
  2. Que pensez vous de filemaker
    Par thpopeye dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 14/06/2007, 15h20
  3. Que pensez vous du nouveau kernel 2.6 ?
    Par GLDavid dans le forum Administration système
    Réponses: 58
    Dernier message: 02/08/2004, 15h45
  4. [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
  5. Que pensez vous du mariage ASP Flash?
    Par tyma dans le forum Flash
    Réponses: 4
    Dernier message: 09/07/2003, 15h00

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