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

Contribuez Discussion :

traduction du Haskell Tutorial for C Programmers [Bug report]


Sujet :

Contribuez

  1. #1
    Membre du Club
    Inscrit en
    janvier 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : janvier 2007
    Messages : 65
    Points : 54
    Points
    54
    Par défaut traduction du Haskell Tutorial for C Programmers
    J'ai traduit 4 chapitres sur 6 du fameux tutoriel
    "Haskell Tutorial for C Programmers":
    http://www.haskell.org/~pairwise/intro/intro.html

    Ce tutoriel est une super porte d'entrée pour les programmeurs "du peuple" comme moi!
    Les notions sont introduites très progressivement et le ton est sympatique.
    Cela ne s'adresse pas exclusivement au programmeurs C bien sur, mais par extension aux programmeurs impératifs...

    Dès que j'aurais fini je posterais un lien vers le docs pour les relectures bien sur! (Je le mettrais peut-être sous forme de wiki pour accélérer les choses).
    Je compte sur vous.

    a+
    Kau

  2. #2
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Il faut s'inscrire alors sur le Haskell Wiki !

    Ca donne aussi plus de visibilité, d'avoir plusieurs liens sur plusieurs sites.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  3. #3
    Membre du Club
    Inscrit en
    janvier 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : janvier 2007
    Messages : 65
    Points : 54
    Points
    54
    Par défaut
    Salut à tous!

    Ouf... Ca y est! Je vous l'avais promis pour Noël, ça a pris un peu de retard...
    Mais il est là!
    J'ai fini la traduction du tutorial "Haskell for the C programmers".

    J'attend donc vos relectures:
    - orthographe
    - grammaire
    - style
    - organisation

    et bien sur les erreurs sur le fond, car je ne suis qu'un débutant en Haskell!
    Je suis également très mauvais en orthographe, c'est une catastrophe.
    Pour le style, le style de l'auteur était plutôt lourd... J'ai essayé d'améliorer les choses mais il y a certainement encore du boulot.

    Tout est sujet à modification, même le titre du doc...

    J'ai choisis le format word pour l'édition.
    Si vous éditez le doc lui-même, surlignez vos modifs en jaune. Vous pouvez également ajouter les "commentaires" word (sorte de post-it).
    Pour vos remarques globales, vous pouvez les mettre dans un doc à part, ou dans un mail (mon mail figure dans le doc).

    ftp://ftp-developpez.com/corentin-du...ammeur%20C.doc

    L'original: http://www.haskell.org/~pairwise/intro/intro.html

    Merci!
    Je tiens à remercier spécialement Gorgonite pour son aide.
    Corentin

  4. #4
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    juin 2007
    Messages
    1 701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : juin 2007
    Messages : 1 701
    Points : 2 974
    Points
    2 974
    Par défaut
    Gros problème pour le lire avec Wordpad ou bien Microsoft Works 4.5, c'est vraiment n'importe quoi les formats chez Microsoft.

    Utilise plutôt Wordpad et sauve en RTF, comme ça tout le monde pourra le lire correctement.

    Note: dès que le problème de format sera corrigé, je le lirai bien sûr, en gardant à l'esprit que je ne suis particulièrement bon ni en Haskell ni en C.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  5. #5
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 321
    Points : 18 477
    Points
    18 477
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    Gros problème pour le lire avec Wordpad ou bien Microsoft Works 4.5, c'est vraiment n'importe quoi les formats chez Microsoft.


    openoffice suffit
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  6. #6
    Membre du Club
    Inscrit en
    janvier 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : janvier 2007
    Messages : 65
    Points : 54
    Points
    54
    Par défaut
    Salut à tous!
    J'ai uploadé une version relue par Gorgonite et Ridekick.
    J'aurais encore besoin d'une relecture pour le publier en version définitive...

    SpiceGuid: tu ne peut toujours pas le lire? au besoin je peut t'envoyer une version en RTF.

    Merci!!
    Kau

  7. #7
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    juin 2007
    Messages
    1 701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : juin 2007
    Messages : 1 701
    Points : 2 974
    Points
    2 974
    Par défaut
    Si, maintenant Worpad lit très bien cette version

    Edit: je t'ai envoyé une correction complète.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  8. #8
    Membre du Club
    Inscrit en
    janvier 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : janvier 2007
    Messages : 65
    Points : 54
    Points
    54
    Par défaut
    J'ai uploadé la dernière version, avec les corrections de:
    - Gorgonite
    - SpiceGuid
    - RideKick
    Un grand merci!

    SpiceGuid: J'ai pris en compte toutes tes remarques.

    SpiceGuid et Gorgonite m'ont fait tous les deux la remarque sur la traduction du mot "tutorial" -> "tutoriel", j'ai finalement fait le changement.
    La bonne traduction devrait être "didacticiel" ("tutoriel" n'existe pas d'après atilf.atilf.fr) mais je n'aime pas beaucoup ce mot.

    Gorgonite m'a dit:
    > je n'aime pas du tout l'expression "Les constructeurs sont aussi utilisés pour 'déconstruire' " ; je pense qu'on devrait plutôt essayer de parler de filtrage, car le procédé semble similaire...
    Dans l'example:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Les constructeurs sont aussi utilisés pour ‘déconstruire’ des objets d’un type de donnée, comme ceci: 
    inOrderList :: Tree a -> [a]
    inOrderList Null	= []
    inOrderList (Node item left right)	=
    	inOrderList left ++ [item] ++ inOrderList right
    Ce que l'auteur a voulu exprimer, il me semble, c'est que le type est éclaté en ses sous-constituants. Il y a effectivement un filtrage par la suite.
    Le mot 'déconstruire' ne me choque pas...

  9. #9
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    juin 2007
    Messages
    1 701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : juin 2007
    Messages : 1 701
    Points : 2 974
    Points
    2 974
    Par défaut
    Pour moi, aucun doute que le filtrage est une destruction, l'appariement de motif est le procédé qui permet d'utiliser la donnée construite.
    Citation Envoyé par DrTopos
    Un destructeur pour un type T est un procédé permettant de détruire (utiliser) les données de type T. Pour les types fonctionnels le destructeur est l'applicateur (qui permet d'appliquer une fonction à un argument).
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  10. #10
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : mars 2002
    Messages : 967
    Points : 1 339
    Points
    1 339
    Par défaut
    Citation Envoyé par kaukau Voir le message
    SpiceGuid et Gorgonite m'ont fait tous les deux la remarque sur la traduction du mot "tutorial" -> "tutoriel", j'ai finalement fait le changement. La bonne traduction devrait être "didacticiel" ("tutoriel" n'existe pas d'après atilf.atilf.fr) mais je n'aime pas beaucoup ce mot.
    Parce que le TLF date un peu (j'ai souvent eu ce problème en cherchant des termes informatiques) — ou peut-être est-il réfractaire aux nouveaux mots ? La commission de néologie a reconnu le terme tutoriel :
    http://www.culture.gouv.fr/culture/d...formatique.htm

    Et pour information, didacticiel n'est pas non plus reconnu par le TLF. Il a d'ailleurs un sens assez différent (« logiciel didactique »).

  11. #11
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 321
    Points : 18 477
    Points
    18 477
    Par défaut
    pour infos, le projet est terminé et la traduction est disponible ici :
    http://corentin-dupont.developpez.co...c-programmers/
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  12. #12
    Rédacteur


    Profil pro
    Inscrit en
    janvier 2003
    Messages
    7 163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 7 163
    Points : 15 050
    Points
    15 050
    Billets dans le blog
    1
    Par défaut
    Salut quelque remarques :

    I-B. Téléchargements
    Ndt : ADU
    Ndt pour note du traducteur ok mais ADU ?

    II-A
    propositions :
    "J'ai eu besoin de pauses, et ma tête me faisait mal lorsque"
    "J'ai eu besoin de pauses, j'avais des maux de tête lorsque"
    Entre des maux de tête et avoir mal à la tête ce n'est pas tout à fait la même chose pour un médecin et ici pour un informaticien.
    Lorsque je réfléchis ma tête ne me fait pas mal...

    coquille
    2-A
    que

    II-C. Une petite introduction aux types
    en fin de paragraphe :
    "les tutoriaux mentionnés plus haut"
    Lesquels

    II-D. La compréhension de liste
    "Le vrai plus par rapport au C vient en écrivant ceci:"
    N'est-ce pas
    "L'avantage par rapport au C vient en écrivant ceci:"

    II-E
    coquille
    "Que signifie 'zip'? Son type et sa signification sont décrits ici:"
    redondance :
    "deux valeurs sont scotchés ensemble."
    scotcher : Coller, attacher

    "'zip' comme son nom l'indique prend deux listes et les 'zippent' ensemble"
    Les concaténent ou les compressent ?

    En II-D
    "et elle crache des valeurs appelées x."
    Pour un tutoriel ce verbe n'est pas à mon avis adapté, renvoyer ou retourner est plus approprié.
    Il me semble que tu aies pris le parti de traduire à la lettre, certaines adaptations seraient les bienvenues, par exemple en II-C
    "En Haskell, pour écrire cette fonction foo, vous écrirez:"
    "C'est tout, à l'exception du type:"
    Puisqu'ici on parle de comparaison il eut été préférable de placer le code complet suivi d'une explication sur la 'déclaration' du type.
    Autant faciliter l'approche sans la dénaturer.

    II-E
    "Le premier paramètre de zip est 'fibs', qui est aussi ce qui est définit par l'expression! Hé, on peut faire ça ? Oui, on peut."
    Ici l'ajout d'une note ne serait pas de trop qu'est que "ça", une déclaration récursive ?
    Je ne suis pas aller plus loin pour le moment.

    Bravo en tout cas pour ton travail, j'ai souvent entendu parlé de ce langage sans vraiment cherchez à en savoir plus. Il me semble tout de même assez "dense" mais là je m'avance un peu car je n'y connais pas grand chose.

  13. #13
    Membre du Club
    Inscrit en
    janvier 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : janvier 2007
    Messages : 65
    Points : 54
    Points
    54
    Par défaut
    Merci Gorgonite pour la publication.
    Merci aussi à Laurent Dardenne pour ses remarques, je les prendrais en compte prochainement.

    C'est ma première traduction, c'est vrai que je suis resté assez proche du texte original. Ce qui n'est pas forcément une bonne idée, car j'ai gardé les défauts de l'original (langage parlé, lourdeurs, redondances) en y ajoutant les miens

  14. #14
    Rédacteur


    Profil pro
    Inscrit en
    janvier 2003
    Messages
    7 163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 7 163
    Points : 15 050
    Points
    15 050
    Billets dans le blog
    1
    Par défaut
    D'autres remarques :
    III-A. L'ordre des choses
    Ne pratiquant plus le C, je n'ai pas trop compris la référence entre une déclaration forward d'haskell et du C. A savoir s'il y a une différence entre les 2....

    III-B. Les types et les fonctions
    "En C, une fonction est une séquence de commandes, elles sont appelées à l'exécution et on leur passe des paramètres, elles héritent de la portée de l'espace de noms où elles sont écrites, et retournent une valeur à l'appelant. En Haskell l'essentiel de ceci est vrai, excepté bien sûr que les fonctions en Haskell ne sont pas des séquences d'événements mais des expressions et des définitions."
    J'ai un peu mal à comprendre la comparaison entre "une séquence de commandes"(fonction sous C) et "ne sont pas des séquences d'événements"(fonction sous Haskell).
    Ce que je comprends c'est que l'auteur me dit qu""une séquence de commandes" n'est pas "une séquence d'événement".
    Est-ce qu'il veut dire que pour l'un une fonction est une suite d'instruction mais pas pour l'autre ?

    Proposition :
    "C'est une grosse différence entre C et Haskell, et ça a un gros impact"
    "C'est une grande différence entre C et Haskell, et cela a un impact".
    A noter que la formulation "un impact important" est redondante
    dixit http://atilf.atilf.fr/dendien/script...8;s=3693291990; : "impact : Influence déterminante, décisive"

    Coquille ( @...@)
    "Les deux principales manières de regrouper les valeurs sont les listes et les tuples, puisqu'ils peuvent @servir@ de types de retour pour une fonction."

    Le fait d'ajouter un exemple sur la fonction serait bienvenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     splitAt :: Int -> [a] -> ([a], [a])
     splitAt 6 "Hello World!" == ("Hello ","World!")
    Sans cet exemple et en citant ceci "La liste de gauche dans le tuple contient les n premières valeurs dans la liste, et la liste de droite contient le reste.", je comprend mieux que haskell lui ait fait "mal à la tête" :-)

    En même temps le manque de précision dans les termes utilisés par l'auteur n'aide pas vraiment à une compréhension directe. Par exemple "un type de fonction", est-ce un type de donnée ou une signature de fonction ? Je sens bien que d'aprés le titre du chapitre "Les types et les fonctions" il y a une différence mais je ne l'appréhende qu'au chapitre suivant.
    De plus, plus avant dans le tuto on lit "d'une signature de type,"...


    III-C. Les types polymorphes
    remarque (@..@)
    "En Haskell ces opérateurs font partis de la définition d'une classe. L'opérateur '>' et les autres sont définis uniquement pour les membres de la classe 'Ord', nommée @aussi@ car on peut ordonner leurs éléments."
    Est-ce aussi ou ainsi ?


    III-D
    "Souvenez-vous qu'une fonction 'met la main' tout de suite sur ses paramètres, donc vous aurez à mettre des parenthèses autour d'un paramètre composé d'une fonction avec ses propres paramètres."
    ici un exemple ne serait pas superflu ce qui permettrait de mieux visualiser le piége.

    Sinon ce langage a-t-il servi à développer une application commerciale ?

  15. #15
    Membre du Club
    Inscrit en
    janvier 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : janvier 2007
    Messages : 65
    Points : 54
    Points
    54
    Par défaut
    Je rentre de ma mission de trois mois en Afrique, où je n'avais que peu d'accès au net.
    je vais enfin pouvoir intégrer les remarques de Laurent Dardenne dans le document, dans les jours qui viennent...

  16. #16
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : avril 2003
    Messages : 6 245
    Points : 8 560
    Points
    8 560
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Sinon ce langage a-t-il servi à développer une application commerciale ?
    Wooh, je suis en retard, je n'avais pas vu cette question... Mais au cas où quelqu'un passerait par là et se demanderait quelle est la réponse :

    Oui Haskell a servi à développer des applications commercialisées, bien que pas vraiment de celles que vous verrez demain sur les étals de la FNAC...
    Pour une liste des acteurs industriels employant Haskell dans leurs produits, allez sur cette page du HaskellWiki.
    Il peut également être intéressant de savoir que certaines applications libres intéressantes ont été écrites en Haskell, les vedettes étant XMonad et Darcs probablement, bien que je considère également Himerge intéressant (c'est une application avec une GUI).

    Citation Envoyé par kaukau
    Je rentre de ma mission de trois mois en Afrique, où je n'avais que peu d'accès au net.
    je vais enfin pouvoir intégrer les remarques de Laurent Dardenne dans le document, dans les jours qui viennent...
    Bonne nouvelle, et merci pour ton travail remarquable !

    --
    Jedaï

Discussions similaires

  1. [Livre] Data Structures for Game Programmers
    Par ram-0000 dans le forum Livres
    Réponses: 0
    Dernier message: 03/06/2014, 23h33
  2. Traduction de "range based" for loop
    Par ram-0000 dans le forum Langage
    Réponses: 6
    Dernier message: 01/03/2013, 12h15
  3. Boucle For : je sais plus programmer !
    Par qi130 dans le forum Langage
    Réponses: 3
    Dernier message: 21/07/2004, 23h11

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