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

  1. #41
    Membre à l'essai
    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
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Trap D
    Comment sont organisés ces fameux champs, ils sont nommés, numérotés ?
    Ils n'ont pas de noms, pas de numéros, ils sont exactement comme je l'ai présenté quelques posts au dessus, les ";" étant les séparateurs.

  2. #42
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    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
    11
     
     
    piVar = (int*) calloc(SIZE,sizeof(int));
    if(!piVar )
    goto labelError;
     
    /*traitement*/
     
    return 0;
    labelError:
    return -1;
    C'est pas beau
    Je préfère:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    piVar = (int*) calloc(SIZE,sizeof(int));
    if(!piVar )
         return -1;
     
    /*traitement*/
     
    return 0;
    Et un switch est une bonne solution je pense...
    Si tu as un début de code à nous montrer (un bout à traiter et un bout de code implémenter sur le traitement...)

  3. #43
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 55
    Points : 62
    Points
    62
    Par défaut
    ce que je ferais (mais bon en soft il existe n solutions pour le mm pb) :

    Une fonction de traitement qui prend en parametres l'indice du champ, et qui applique le formatage désiré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <....>
    switch (indice)
    {
       case 1 : traitement 1
       case 2 : traitement 2
       ....
    }
    Et une fonction qui détermine l'indice du champ (en supposant que taille = nb max de champ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    indice = 0;
    while (indice<taille)
    {
       /*on détermine si indice est incrémenté de 1 ou de plus (si champ =2) */
       traitement(indice)
    }
    La difficulté étant comment je sais que je réalise indice++ ou indice+=2...
    Mais ca tu dois savoir le faire, même pour les goto.

  4. #44
    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
    Points : 6 498
    Points
    6 498
    Par défaut
    Ta base de données est bien organisée en articles (des "lignes") comportant des champs séparés par des ";" non ?
    "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

  5. #45
    Membre à l'essai
    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
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par jack69
    ce que je ferais (mais bon en soft il existe n solutions pour le mm pb) :

    Une fonction de traitement qui prend en parametres l'indice du champ, et qui applique le formatage désiré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <....>
    switch (indice)
    {
       case 1 : traitement 1
       case 2 : traitement 2
       ....
    }
    Et une fonction qui détermine l'indice du champ (en supposant que taille = nb max de champ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    indice = 0;
    while (indice<taille)
    {
       /*on détermine si indice est incrémenté de 1 ou de plus (si champ =2) */
       traitement(indice)
    }
    La difficulté étant comment je sais que je réalise indice++ ou indice+=2...
    Mais ca tu dois savoir le faire, même pour les goto.
    Ben voilà une idée qu'elle est bonne, je crois que je vais partir là dessus... (mince j'ai presque honte, c'est idiot en fait... pourquoi j'ai dit "presque"?). Au temps pour moi. Je m'en vais dormir un peu ce soir, on dirait que plusieurs mois de suite à récupérer des fichiers ça me réussit pas. bon ben merci à tous pour votre participation active, et à jack69 qui a la palme de la pertinence.

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par gege2061
    Il sont trés utiles pour sortir d'une multitude de boucle imbréqué.
    Pour faire écho, ils peuvent (et pas doivent, attention !) être carrément cruciaux, notamment lorsque le langage ne supporte pas le concept d'exceptions !!!
    C'est impératif, par exemple, pour réaliser une simili-clause "Try..Finally" en C.

    Après, c'est comme tout : c'est "dangereux" à utiliser parceque l'on peut arriver à peu près n'importe où, que l'on ne peut pas "transférer" de variables au passage (sauf "globales" au bloc courant), et que le source est assez illisible. Ce n'est pas plus risqué que d'utiliser malloc ou fopen sans tester le résultat, mais je déconseille formellement aux débutants de s'amuser à tripatouiller le goto sans auparavant maîtriser les structures habituelles.
    Le problème réel du goto en C n'est pas le nommage des étiquettes (because la portée est réduite), mais plutôt le fait de se planter sur la position de l'étiquette elle-même... En général, une ligne trop bas ou une ligne trop haut...

    ulukahio : J'ai rarement vu un algorithme requérir impérativement des sauts inconditionnels, même à bas niveau (ASM), à l'exception notable de la gestion des erreurs. Et le source n'a jamais été significativement plus court (ni le code plus rapide) avec des goto...

    Je suis plus enclin à penser que tu as un problème de conception, éventuellement au cran immédiatement supérieur de ton programme. Au vu de l'exemple que tu as fourni, ça me semble être un bête analyseur lexical plutôt simple à implémenter (parser + machine à état), j'avoue ne même pas comprendre où tu pourrais bien mettre des "goto" là-dedans... Mais tu ne nous as pas tout dit non plus, comme ce qu'il faut faire ensuite de ces champs (stockage en structure ? Texte ? Requête SQL ?)...

    Toutefois, si tu n'as pas de notions de syntaxe/sémantique/traduction, alors effectivement, c'est normal que tu "patauges" un peu sur l'algo à choisir...
    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

  7. #47
    Membre à l'essai
    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
    Points : 15
    Points
    15
    Par défaut
    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.

  8. #48
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 55
    Points : 62
    Points
    62
    Par défaut
    Euh, ne t'emballe pas trop au sujet de ma pertinence. Ma solution est certainement une usine à gaz.
    Mais bon, elle est surement mieux que des goto.

    N'oublies pas le tag résolu si tu es satisfait....

  9. #49
    Membre à l'essai
    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
    Points : 15
    Points
    15
    Par défaut
    Toutefois, si tu n'as pas de notions de syntaxe/sémantique/traduction, alors effectivement, c'est normal que tu "patauges" un peu sur l'algo à choisir...
    Je crois que tu viens de mettre le doigt sur quelque chose d'important, En gros je n'en ai jamais entendu parler, et on m'a balancé des fichiers à récupérer

    Et c'est fait pour le tag, mais jack, ta solution est effectivement plus claire que la mienne, même si c'est également une usine à gaz. ( de toutes façon, vu le nombre de champ ça v a être difficile pour un débutant de faire un truc tip top et qui marche)

  10. #50
    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
    Points : 6 498
    Points
    6 498
    Par défaut
    Une simple remarque, tu n'as pas été très gaté par la personne qui t'a donné les fichiers à récupérer, car ne rien mettre du tout quand les champs sont vides c'est un peu dur pour un traitement de base de données
    Je ne suis pas du tout expert en la matière mais ça me parait fort.
    "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

  11. #51
    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
    Points : 6 498
    Points
    6 498
    Par défaut
    Tu peux faire une fonction de traitement pour chaque champ et les regrouper dans un tableau et ensuite appeler la fonction correspondantes au numéro du champ, ça évite le switch :
    par 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
    int fn_champ1(void)
    {
    	puts("champ 1");
    	return 1;
    }
    int fn_champ2(void)
    {
    	puts("champ 2");
    	return 2;
    }
     
    typedef int (*MyFonc)(void);
     
    MyFonc TabFonc[] = {fn_champ1, fn_champ2, ......};
    Appel par TabFonc[numero_champ - 1]();
    "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

  12. #52
    Membre à l'essai
    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
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Trap D
    Une simple remarque, tu n'as pas été très gaté par la personne qui t'a donné les fichiers à récupérer, car ne rien mettre du tout quand les champs sont vides c'est un peu dur pour un traitement de base de données
    Je ne suis pas du tout expert en la matière mais ça me parait fort.
    C'est ce que je me dis également . Quand j'ai dis à mon patron que certains champs n'étaient pas là, il voulait que j'arrête de travailler dessus.. Mais bon j'aime pas rester sur un échec alors j'ai continué comme un mulet . Mais je pense que je vais y arriver, et je pense que grâce à vous des gens pourront comprendre ce que j'ai écrit .

    Mais bon c'est pas pire que la premiere base de données que j'ai du analyser, (la première fois que je voyais une base de données de ma vie haha), avec des champs cryptés, pas de séparateurs, des champs de taille variable... Une vraie horreur celle là aussi. Enfin on s'égare.

    Sinon Mac LAK est ce que tu aurais par hasard un site ou je pourrai trouver des infos sur les analyseurs lexicaux? Pour l'instant sur google je trouve que des trucs pas terribles.

  13. #53
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    à tous les "Pros" du goto !!
    1 - Je vous souhaite de ne pas avoir à debugger un programme truffé de ces petites betes
    2 - personnellement je n'ai jamais eu , plus précisement , j'ai toujours pris soint d'éviter le moindre goto dans mes programmes .
    3 - Avec l'experience , je peux vous assurer que cette façon de proceder est la meilleur qui soit.
    Signé : Capitaine Jean-Luc Picard

  14. #54
    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
    Points : 6 498
    Points
    6 498
    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

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    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.
    Pas de Wi-Fi à la maison : CPL

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    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.
    Pas de Wi-Fi à la maison : CPL

  17. #57
    Membre à l'essai
    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
    Points : 15
    Points
    15
    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?)

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    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...
    Pas de Wi-Fi à la maison : CPL

  19. #59
    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
    Points : 6 498
    Points
    6 498
    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

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    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...
    Pas de Wi-Fi à la maison : CPL

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 18 PremièrePremière 123456713 ... DernièreDernière

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