L'encyclopédie

CéroceCéroce Membre, Modérateur
09:48 modifié dans Actualités #1
Bonjour à  tous,

Je souhaiterais faire la proposition de mettre dans Objective Cocoa une chose que nous avions envisagé très sérieusement pour Cocoa-X.com mais jamais fait faute de temps / ressources / motivation (rayez les mentions inutiles).

"Pêche pour un homme, tu le nourris un jour.
Apprends-lui à  pêcher, tu ne nourris pour la vie".

Cette petite citation bien connue pour vous faire réfléchir sur le besoin d'enseigner l'anglais "informatique" à  nos lecteurs. Loin de moi l'idée de dénigrer le travail (de grande qualité, pour ce que j'en ai vu) fait sur le Wiki, mais soyons réaliste, on ne pourra jamais traduire toute la doc nécessaire à  du développement sérieux.

D'où l'idée de créer une encyclopédie bilingue de la programmation sur Mac.
L'idée:
- un dictionnaire anglais -> français (qui pointe vers les thèmes dans l'encyclopédie)
- une encyclopédie en français, avec des définitions de quelques lignes, voire des liens vers d'autres sites pour en savoir plus.
«1

Réponses

  • VeillardVeillard Membre
    09:48 modifié #2
    Je pense que ça pourrait être un bon complément de la doc Apple traduite. C'est vrai que l'anglais est indispensable mais la traduction dans le Wiki apporte une aide non négligeable à  ceux qui calent un peu en anglais. Par contre pour d'autres, ce dico permettrait de trouver la traduction d'un mot ou d'un terme de programmation introuvable dans un dico classique.
  • 09:48 modifié #3
    Il y a dans le wiki la rubrique TermesCocoa qui a été commencée dans ce but (http://www.objective-cocoa.org/wikka/TermesCocoa). Elle est en fait remplie suivant ce qui se traduit.
  • BruBru Membre
    09:48 modifié #4
    Mes deux centimes...

    1 - C'est assez incroyable le nombre de gens que j'ai rencontré sur le ouèbe et qui veulent se lancer dans la prog sans comprendre un mot d'anglais...

    2 - le man en français a un succès non négligeable...


    Donc, cette idée de traduction de doc est pour moi valable. Elle peut être la valeur ajoutée de ce site !

    On ne se propose pas de traduire TOUTE la doc Apple, mais seulement les QUELQUES pages réellement intéressantes (les classes les plus usitées).

    On peut perdre du temps sur une encyclopédie tout comme on peut le perdre dans une traduction littérale. Je m'explique :

    L'idée de l'encyclopédie est intéressante en soi. Mais l'inconvénient est le même que de faire un tuto : ici on écrit tout de A à  Z, ce qui veux dire qu'il ne faut pas se planter dans les explications qu'on donne. il faut donc tester, soumettre à  un comité de lecture ou de testeurs, etc...

    Alors qu'une traduc fait perdre peut être du temps au départ, mais il n'y a aucune interprétation, et ce qu'on écrit est fidèle à  l'original. Si y'a des conneries, ce sera de la faute à  Apple, et non celle du rédacteur/traducteur.

    Au final, traduire une page de doc ne fera pas perdre plus temps que d'écrire les articles de l'encyclopédie.

    Maintenant, je suis partant tout de même pour cette encyclopédie, notamment pour expliquer des notions que la doc Apple laisse sous silence ou explique bien mal.

    Enfin (et là , je vais radoter), l'idéal serait de lier l'encyclopédie aux docs traduites, mais le wiki est totalement inutilisable, moche, et ne marche qu'à  moitié. Bref, avant de se lancer là  dedans, y'a reflexion à  faire !

    .
  • CéroceCéroce Membre, Modérateur
    09:48 modifié #5
    Je me suis mal peut-être mal expliqué, mais le but n'est pas de donner trop de détails. En gros, c'est, en n'y connaissant pas grand chose en programmation, de lire le mot "array" et de se demander ce que ça veut dire.

    Une simple traduction: "tableau", ça n'aide pas beaucoup.
    Maintenant, onexplique simplement qu'un tableau est une liste indexée de variables de même type.
    (Bon, c'est peut-être pas un bon exemple, parce que ça a quand même l'air de charabia informaticien).

    Bref, ça doit constituer une aide à  la lecture des documentations, mais ça ne peut pas être aussi bien qu'une traduction. Surtout qu'il manquera toujours la grammaire.

    Les traductions Wiki sont utiles au début; à  la limite ça permet de s'y mettre et suivre les docs en français et en anglais en parallèle (pour apprendre l'anglais). Mais traduire seulement la doc Cocoa, à  terme, c'est loin d'être suffisant: il me faut aussi les docs OpenGL, QuickTime, Quartz, SQL, etc.

    Mais comme tu le dis, Bru, l'encyclopédie, c'est du boulot ! Cependant, tout le monde peut se permettre de passer 10 mn tous les jours à  donner une définition (non, vraiment, une simple traduction, et 3 lignes d'explication), alors que traduire la doc d'un classe, c'est vraiment très long.
    Pour des explications de trucs par clairs dans la doc, on pourra toujours écrire de bon vieux articles.
  • BruBru Membre
    09:48 modifié #6
    Je vois ton point de vue.

    Maintenant, je vais te paraà®tre salop, mais, OC n'est pas un site où apprendre à  programmer.

    OC est un site qui aide le programmeur à  utiliser cocoa (bon je shématise un peu)...

    Je suis désolé, mais quelqu'un qui vient ici sans savoir taper 3 lignes en C n'a malheureusement pas vraiment sa place ici.

    Il existe des millions d'autres sites en français qui permettent de le faire.

    Par contre, je te rejoins sur le fait d'expliquer certaines notions propres à  Objective-C et cocoa. Les programmeurs (même en herbe, et qui n'ont fait que du basic) pourraient alors utiliser cette encyclopédie pour mieux "switcher" vers la plateforme programmative de Mac OS X. L'article de Chacha sur la comparaison C++/ObjC en est une bonne illustration.

    .
  • mpergandmpergand Membre
    09:48 modifié #7

    Je suis désolé, mais quelqu'un qui vient ici sans savoir taper 3 lignes en C n'a malheureusement pas vraiment sa place ici.

    ??? ??? ???

    Par contre, ne pas pouvoir déchiffrer une doc technique en anglais me semble rédhibitoire.
  • BruBru Membre
    09:48 modifié #8
    dans 1110378607:

    Par contre, ne pas pouvoir déchiffrer une doc technique en anglais me semble rédhibitoire.


    Heureusement que non.

    Là  encore tout est question de priorité.
    Un très bon programmeur peut être nul en anglais : je lui offre immédiatement mon aide. Car il a trop de valeur à  mes yeux pour pouvoir le laisser partir.

    Pour moi, la valeur de quelqu'un se porte plus sur sa capacité à  concevoir un bon algorythme, qu'à  savoir lire une doc en anglais mais à  poser une question du genre : "j'ai un NSArray, mais je fais comment pour le remplir"...

    .
  • CéroceCéroce Membre, Modérateur
    09:48 modifié #9
    dans 1110380103:

    dans 1110378607:

    Par contre, ne pas pouvoir déchiffrer une doc technique en anglais me semble rédhibitoire.


    Un très bon programmeur peut être nul en anglais : je lui offre immédiatement mon aide. Car il a trop de valeur à  mes yeux pour pouvoir le laisser partir.

    Pour moi, la valeur de quelqu'un se porte plus sur sa capacité à  concevoir un bon algorythme, qu'à  savoir lire une doc en anglais mais à  poser une question du genre : "j'ai un NSArray, mais je fais comment pour le remplir"...

    .


    Euh, là , pas du tout d'accord !
    On juge un programmeur comme bon s'il fait de bons programmes pour l'utilisateur final! On se fout pas mal de savoir que son algo de recherche, s'il était mieux pensé, gagnerait 0,5 s. L'ergonomie, l'intégration au système, l'économie des ressources matérielles, ça se sont des facteurs déterminants pour l'utilisateur final, et cela s'apprend par l'expérience, en se tappant la doc (en anglais 95% du temps) et en essayant des trucs. Avoir un esprit d'analyse très mathématique, c'est bon pour faire un gros score au test de QI !

    Pour ce qui est du fait que OC n'est pas fait pour les débutants, c'est vrai, mais ça dépend surtout de la politique d'Oxitan. Si le but n'est pas de le rendre accessible aux débutants, alors arrêtez tout de suite la traduction du Wiki, parce que comme l'écrit mpergand, c'est rédhibitoire de ne pas savoir déchiffrer une doc en anglais.
  • muqaddarmuqaddar Administrateur
    09:48 modifié #10
    Ce site est dédié à  tous ceux qui veulent apprendre ou connaissent déjà  et veulent s'améliorer sur le langage objective-C et sur Cocoa.

    Bien entendu, on n'est pas là  pour apprendre aux nouveaux comment marche une boucle while ou for, mais plutôt pour apprendre ce qu'apporte un dictionnaire, comment on gère les prefs...etc. Donc les bases de l'algo ne sont pas enseignées sur ce site. Comme le dit Bru, il existe des centaines de sites qui le font.

    Donc ce site peut s'adresser aux débutants Cocoa mais pas aux débutants en prog tout court... Encore que, en suivant les tutoriaux, ils peuvent comprendre des choses.

    Voilou. :)
  • ClicCoolClicCool Membre
    09:48 modifié #11
    dans 1110381677:
    .../...
    On juge un programmeur .../...


    oh là , je met mon grain de sel ici.

    ICI on ne juge personne

    Tous ceux qui trouvent du grain à  moudre sont les bienvenus, il y a sans doutes des "pré-requis" pour tirer parti d'OC mais c'est tout.
    Le pré-requis le plus important étant le respect des autres qui forcément pousse à  chercher d'abbord une solution à  ses questions avant de poster un sujet mais, encore là , pas nécessairement dans l'esprit RTFM qu'on retrouve souvent ailleurs ;)
  • mpergandmpergand Membre
    09:48 modifié #12
    Ca chauffe  :)

    <br />Pour moi, la valeur de quelqu&#39;un se porte plus sur sa capacité à  concevoir un bon algorythme
    


    Aucun doute la dessus...

    Admets néanmoins qu'être totalement bloqué par l'anglais, en informatique, peut constituer un sérieux handicap.

    je connais des admins incapable de lire une doc en anglais, disons qu'il ont la chance de ne s'occuper que de machines sous windows !

  • fouffouf Membre
    09:48 modifié #13
    Heu, pour la qualité du programmeur, je suis plutot d'accord avec Bru ( :-*)
    dans 1110381677:

    Euh, là , pas du tout d'accord !
    On juge un programmeur comme bon s'il fait de bons programmes pour l'utilisateur final! On se fout pas mal de savoir que son algo de recherche, s'il était mieux pensé, gagnerait 0,5 s. L'ergonomie, l'intégration au système, l'économie des ressources matérielles, ça se sont des facteurs déterminants pour l'utilisateur final, et cela s'apprend par l'expérience, en se tappant la doc (en anglais 95% du temps) et en essayant des trucs.

    Faux. NSBeep() :)
    J'ai commencer à  programmer en trouvant des algorithmes qui me permettait de "réaliser" moi-même les truc que l'on faisait en Maths.
    Personnellement, je trouve que cela n'a aucun intéret de savoir afficher une vue dans une fenetre. On s'en br..le. Le "bon programmeur" se torche de l'utilisateur final, ce qui l'intéresse, c'est son programme. Il n'y a que Apple que ca importe.

    dans 1110381677:

    Avoir un esprit d'analyse très mathématique, c'est bon pour faire un gros score au test de QI !

    La tu vas te faire des ennemis, moi en premier.  >:D
    dans 1110381677:

    Pour ce qui est du fait que OC n'est pas fait pour les débutants, c'est vrai, mais ça dépend surtout de la politique d'Oxitan. Si le but n'est pas de le rendre accessible aux débutants, alors arrêtez tout de suite la traduction du Wiki, parce que comme l'écrit mpergand, c'est rédhibitoire de ne pas savoir déchiffrer une doc en anglais.

    Tout dépend de ce que tu appelle un "débutant". Je ne veux rien dire, mais on est la pour aider les autres, leur faire apprendre et leur faire comprendre Cocoa, pas pour leur dire qu'ils n'ont pas leur place ici.
  • mpergandmpergand Membre
    09:48 modifié #14
    dans 1110383335:

    dans 1110381677:

    Avoir un esprit d'analyse très mathématique, c'est bon pour faire un gros score au test de QI !

    La tu vas te faire des ennemis, moi en premier.  >:D



    A bas les matheux   :P
  • 09:48 modifié #15
    dans 1110383335:

    Faux. NSBeep() :)
    Le "bon programmeur" se torche de l'utilisateur final, ce qui l'intéresse, c'est son programme. Il n'y a que Apple que ca importe.


    Cela explique autant de programme mal pensé, non intuitif et qui finisse dans les oubliettes :-\
    Un bon programmeur est celui qui fait un programme utilisable qui répond aux besoins... Le mec qui se croit bon car il code comme un malade, sans tenir compte de ceux qui utilisent son programme, pour moi ce n'est qu'un pisseur de code. Rien de plus. Et dans ma boà®te, il ne reste pas longtemps  :P
    Il faut être pragmatique et adapter son programme au public qui l'utilisera.
  • muqaddarmuqaddar Administrateur
    09:48 modifié #16
    Moi je pense trop à  l'utilisateur mais je n'arrive pas à  pisser le code qui va avec. ;)
  • 09:48 modifié #17
    dans 1110384142:

    Moi je pense trop à  l'utilisateur mais je n'arrive pas à  pisser le code qui va avec. ;)


    lol...

    Le problème est qu'il y a différentes sortes de développeurs. Quand je lis qu'on se fout des maths par exemple, je pense plutôt que pour ceux qui l'écrivent , pour ce qu'ils font,  les maths ne sont pas nécessaires. Ayant cotoyer des mecs bossant sur des moteurs 3D, je peux assurer que les maths peuvent pas mal servir.
    Tout comme plein d'autres matières: pour le boulot, on va utiliser les réseaux Bayesiens qui viennent du monde des probabilités.  L'informatique est interconnecté avec plein de domaines et il serait dommage de se la jouer "rebel coder de la mort". :-D
  • ClicCoolClicCool Membre
    09:48 modifié #18
    dans 1110384142:

    Moi je pense trop à  l'utilisateur mais je n'arrive pas à  pisser le code qui va avec. ;)


    C'est pas compliqué pourtant regardes  :(renaud):
  • ClicCoolClicCool Membre
    09:48 modifié #19
    dans 1110384657:

    Le problème est qu'il y a différentes sortes de développeurs. Quand je lis qu'on se fout des maths par exemple, je pense plutôt que pour ceux qui l'écrivent , pour ce qu'ils font,  les maths ne sont pas nécessaires. Ayant cotoyer des mecs bossant sur des moteurs 3D, je peux assurer que les maths peuvent pas mal servir.
    Tout comme plein d'autres matières: pour le boulot, on va utiliser les réseaux Bayesiens qui viennent du monde des probabilités.  L'informatique est interconnecté avec plein de domaines et il serait dommage de se la jouer "rebel coder de la mort". :-D


    Ce qui est sur en tout cas c'est que l'esprit maths est proche de celui de la programation:
    - Exactitude
    - Clarté, voire beauté
    - Concision
    - Algorythme

    et encore, j'ai pas le temps d'y réfléchir plus ...
  • muqaddarmuqaddar Administrateur
    09:48 modifié #20
    Pourtant Bru n'est pas un crac en maths (C'est ce qu'il m'a dit en tout cas.) et c'est une tronche en prog...
  • fouffouf Membre
    09:48 modifié #21
    dans 1110392312:

    Ce qui est sur en tout cas c'est que l'esprit maths est proche de celui de la programation:
    - Exactitude
    - Clarté, voire beauté
    - Concision
    - Algorythme

    et encore, j'ai pas le temps d'y réfléchir plus ...

    Tu as parfaitement raison.

    dans 1110393956:

    Pourtant Bru n'est pas un crac en maths (C'est ce qu'il m'a dit en tout cas.) et c'est une tronche en prog...

    Tu parles ouais. Moi par contre, je peux dire que je suis meilleur en Maths qu'en prog. :)
  • mpergandmpergand Membre
    09:48 modifié #22
    Barbant les matheux, ce sont eux qui ne croient obligés de donner l'exemple du calcul de factoriel pour illustrer la récursivité  >:(
    Alors que c'est justement un mauvais exemple, puisqu'on peut le faire par une simple boucle (récursivité en queue)

    Si je veux faire un programme de recettes de cuisine, j'ai besoin de passer une maà®trise de maths avant  :)

    Par contre si je veux faire un éditeur de partitions, il est préférable que je sache lire la musique.

    Dans un autre domaine, ça me fait penser que jusqu'à  une époque très récente, on croyait qu'il ne pouvait pas y avoir de pensée structurée sans langage !
  • fouffouf Membre
    09:48 modifié #23
    Mais sache mpergand, que les compilos sont aussi trés intelligents. En effet un bon compilo transforme une fonction récursive en boucle.

    Pour la récursivité Fibonacci est un bien meilleur exemple.
  • mpergandmpergand Membre
    09:48 modifié #24

    Mais sache mpergand, que les compilos sont aussi trés intelligents. En effet un bon compilo transforme une fonction récursive en boucle.


    Ouf ! on est sauvé alors  :)
  • VeillardVeillard Membre
    09:48 modifié #25
    Pour la récursivité Fibonacci est un bien meilleur exemple.

    Ouh là  là  ça date... on l'enseigne encore ?  :)beta:
  • cbrandtcbrandt Membre
    09:48 modifié #26
    c'est qui, déjà  ?
  • 09:48 modifié #27
    dans 1110403468:

    Barbant les matheux, ce sont eux qui ne croient obligés de donner l'exemple du calcul de factoriel pour illustrer la récursivité  >:(
    Alors que c'est justement un mauvais exemple, puisqu'on peut le faire par une simple boucle (récursivité en queue)

    lol... Beaucoup disent la même chose des informaticiens concernant le côté barbant (en fait c'est comme si aimer le foot c'était plus fun qu'aimait le développement et l'informatique en générale  >:( )
    Et je pense que tu connais des matheux qui ne sont pas informaticiens pour 2 sous :) Les nôtres  parlent de graphes, algorithmes génétiques, réseaux de neurones....
  • cestmoicestmoi Membre
    09:48 modifié #28
    dans 1110403662:

    Pour la récursivité Fibonacci est un bien meilleur exemple.


    Voila ce qu'un informaticien théoricien dirait :

    Au contraire, la programmation récursive classique et évidente de la fonction de Fibonacci est catastrophique, car très couteuse en temps. En fait, le calcul de Fn demande alors Fn additions, ce qui est proche de a^n avec a = (sqrt(5)+1)/2 = 1.618 pour n "grand" (10 suffit pour que ce soit proche).

    Une simple boucle donne un calcul en n additions.
    Un algorithme astucieux, récursif, donne même le résultat en O(log n), encore beaucoup mieux.

    Mais de toutes façons, il n'y a pas vraiment de bons exemples : les exemples où la récursivité est vraiment utile sont trop compliqués pour être donner en premier exemple.
  • 09:48 modifié #29
    dans 1110403468:

    Si je veux faire un programme de recettes de cuisine, j'ai besoin de passer une maà®trise de maths avant  :)


    Par contre, connaitre le langage de programmation "Chef" est préférable.

    Alors comme bonus, voici la suite de Fibonacci, programmée en langage "Chef".
    <br />Fibonacci Numbers with Caramel Sauce.<br /><br />This recipe prints the first 100 Fibonacci numbers. It uses an auxiliary recipe for caramel sauce to define Fibonacci numbers recursively. This results in an awful lot of caramel sauce! Definitely one for the sweet-tooths.<br /><br />Ingredients.<br />100 g flour<br />250 g butter<br />1 egg<br /><br />Method.<br />Sift the flour. Put flour into mixing bowl. Serve with caramel sauce. Stir for 2 minutes. Remove egg. Rub the flour until sifted. Stir for 2 minutes. Fold the butter into the mixing bowl. Pour contents of the mixing bowl into the baking dish.<br /><br />Serves 1.<br /><br />Caramel Sauce.<br /><br />Ingredients.<br />1 cup white sugar<br />1 cup brown sugar<br />1 vanilla bean<br /><br />Method.<br />Fold white sugar into mixing bowl. Put white sugar into mixing bowl. Fold brown sugar into mixing bowl. Clean mixing bowl. Put white sugar into mixing bowl. Remove vanilla bean. Fold white sugar into mixing bowl. Melt white sugar. Put vanilla bean into mixing bowl. Refrigerate. Heat white sugar until melted. Put white sugar into mixing bowl. Remove vanilla bean. Fold white sugar into mixing bowl. Caramelise white sugar. Put vanilla bean into mixing bowl. Refrigerate. Cook white sugar until caramelised. Put white sugar into mixing bowl. Serve with caramel sauce. Fold brown sugar into mixing bowl. Put white sugar into mixing bowl. Add vanilla bean. Serve with caramel sauce. Add brown sugar.<br />
    
  • ClicCoolClicCool Membre
    09:48 modifié #30
    dans 1110408684:
    catastrophique


    Catastrophe = imprévisible = pas les maths ni la programmation  ;D
  • 09:48 modifié #31
    dans 1110409609:

    dans 1110408684:
    catastrophique


    Catastrophe = imprévisible = pas les maths ni la programmation  ;D


    La programmation peut être pas mais le résultat d'un programme est régulièrement imprévisible  :)
Connectez-vous ou Inscrivez-vous pour répondre.