C'est dommage, tu as cité une partie de mon texte qui tient sur un petit paragraphe, comme si je n'avais pas consacré les ⅔ du message complet à expliquer à quel point je me pose des limites malgré tout. En fait, j'ai l'impression que tu n'as lu que la partie qui t'intéressait pour pouvoir « m'incriminer » au sujet d'être direct.
Non mais c'est une vraie question en fait : puisqu'il y a de nombreuses communautés plus conviviales (c'est lui qui nous le dit !) et que contrairement à la France, il n'y a pas de risque de se faire tuer, d'avoir une vie moins bien, etc., et puisque grosso modo ce journal était presqu'entièrement à charge, j'en conclus que LinuxFR ne lui convient pas. Donc si ce n'est pas le cas, j'aimerais qu'il nous dise aussi ce qu'il aime bien ici qu'il ne trouve pas ailleurs.
Perso, c'est justement le fait que tout un tas de gens sont soit plutôt « experts » dans certains domaines techniques, soit qu'ils ont des opinions intéressantes (même si parfois très tranchées), soit les deux qui me fait rester ici. Et justement, contrairement à pas mal de gens sur reddit, slashdot, etc., je trouve que le niveau des commentaires en termes d'argumentation, etc., est plus élevé que la moyenne, même pour des sujets trollifères (il y a des exceptions évidemment).
Je pense que dans une communauté saine on m'aurait répondu "on ne s'en était pas rendu compte mais tu as sans doute raison, dans tous les cas ça ne coûte pas grand chose de faire un effort, comment pourrait-on faire pour faire mieux ?".
Non mais ça va les chevilles (Là oui, on peut parler d'être direct et brutal, si tu veux) ? Parce que tu (et tes potes du site du zéro, site qui par définition s'intéresse surtout à des débutants, donc) as décidé que linuxfr n'était pas suffisamment « convivial » et « ouvert » et « trop insultant » ou « brutal » (oui, je mets tout entre guillemets parce que visiblement nous n'avons pas la même définition de ce que « insultant » signifie), tu crois que nous devrions tous, nous, les contributeurs du site (et encore une fois, par « contributeurs », je veux dire « les utilisateurs réguliers, y compris les plus silencieux qui ne postent pas trop ») nous aplatir en excuses et faire tout pour satisfaire ta vision de la convivialité ? Tu sais, c'est très simple hein. Si tu veux savoir si LinuxFR pourrait bénéficier d'une meilleure ambiance en règle générale, il existe un outil sur le site lui-même : les sondages. Par exemple :
Les contributeurs de LinuxFR.org sont-ils trop agressifs ?
* Non, le site et ses contributeurs sont bien comme ils sont.
* En règle générale non, sauf pour certains contributeurs qui pourraient mettre de l'eau dans leur vin.
* En général non, sauf dans les journaux.
* En général non, sauf dans les news.
* En général oui, sauf dans les forums.
* Oui.
* La réponse D.
Voilà. Tu peux même inviter les connaissances qui ont fréquenté le site plus que pour 2 dépêches1 à se connecter et voter.
Bah oui, parce que des gens qui n'ont pas fait l'effort de rester un peu plus n'ont à mon sens pas réellement une opinion qui tienne la route : ça se trouve ils ont eu affaire aux même contributeurs trop agressifs deux fois de suite et du coup ça ne compte pas vraiment selon moi. ↩
À propos de « direct vs. agressif » : tu as tronqué la phrase qui suivait, et qui disait en substance que, comme tout approche rhétorique, il faut éviter les abus (càd : mon exemple qui où quelqu'un descend systématiquement les arguments de son interlocuteur en disant qu'ils sont nuls, et qui peut être pris comme voulant dire que l'interlocuteur est nul lui-même). Pour moi être direct/brutal marche d'autant mieux que tu as des arguments pour soutenir cette affirmation. Donc si je dis « Ce que tu dis est stupide. », évidemment, j'exprime le fait que je ne suis pas d'accord avec toi de façon impolie et sans rien apporter à la discussion (cela dit, penser que quelque chose est stupide, et pas juste incorrect, justifierait justement d'utiliser le moinssage dans ce cas). Par contre, si je dis « Ce que tu dis est stupide : », c'est brutal, mais je vois deux possibilités :
La raison invoquée par le contradicteur est coule réellement de source et le posteur original aurait effectivement dû tourner sept fois sa langue électronique avant de l'ouvrir.
La raison invoquée par le contradicteur n'est vraiment pas une évidence (et ce, qu'il ait raison ou tort) et dans ce cas, il a eu tort de dire que c'était stupide : il a peut-être raison, mais il n'était pas évident de connaître les arguments supplémentaires qu'il apporte.
En règle générale, je suis plutôt direct, mais j'essaie d'éviter de dire qu'un argument est complètement con/débile/stupide, sauf quand mon interlocuteur vient de s'exprimer pendant 10 messages d'affilée, que plusieurs interlocuteurs lui ont montré qu'il avait tort de plusieurs façons différentes, et qu'il persiste en cherchant des arguments qui commencent sérieusement à puer de mauvaise foi.
Ceci étant dit : être direct, sans forcément être « poli », mais sans traiter les arguments de quelqu'un d'autre de stupide, c'est tout à fait faisable. Cependant, je peux être très cassant sans forcément utiliser un « gros mot ». Je suppose qu'on pourrait appeler cela être passif-agressif, mais au bout d'un moment, il faut faire un choix sur quoi on doit consacrer du temps. Par exemple : je consacre du temps à rédiger des réponses à tes posts. :-) Mais parce qu'aussi j'ai l'impression qu'un dialogue est possible. Je ne vais pas forcément faire le même effort avec quelqu'un d'autre.
[Être direct] marche très bien avec les gens sûrs d'eux […]
Oui mais non. Je peux être très direct et parfois même condescendant (à mon grand regret, car je m'en aperçois généralement après coup). Mais globalement comme je peux faire passer de l'information beaucoup plus vite qu'à l'écrit, j'ai tendance à prendre plus de précautions oratoires. Alors que sur LinuxFR par exemple, je vais être sans doute plus brut, parce que je n'ai pas une soirée complète à ma disposition pour discuter de tout ça (en tout cas, pas tous les soirs :-P). Et — surprise, surprise ! — je ne suis pas très sûr de moi, sauf pour des sujets très précis, et où je peux donc… fournir les sources. Ça n'empêche pas que je vais être direct pour autant.
Ce qui a très bien marché jusqu'ici, d'ailleurs, corrélation intéressante, la proportion de femmes qui font du logiciel libre est sensiblement inférieure à celle des femmes […]
Là par exemple, je trouve que même si le sujet est intéressant (et a dégénéré en belles flame wars sur les journaux de LinuxFR de par le passé), ceci n'a pas grand chose à voir avec le sujet qui nous préoccupe (il est lié, c'est indéniable, mais c'est malgré tout une diversion par rapport au sujet original).
J'avais oublié de citer la phrase qui m'a fait répondre ce bijou d'argumentation :
Quand je vois des commentaires pliés, je les ouvre. La personne a pris le temps d'écrire quelque chose, ça mérite d'être lu.
Ça m'a fait sourire, d'autant plus que je n'ai pas de « commentaires pliés » (je navigue à -42), et que je moinsse très rarement (et quand je le fais, c'est principalement parce que la personne en vient à des arguments de type ad hominem ou ad personam. Bref, quand l'argumentation s'écarte du sujet et s'attaque aux personnes : à moins d'être vraiment complètement hors sujet, en général je ne moinsse pas des posts qui s'écartent un peu du sujet mais qui restent respectueux de leurs interlocuteurs.
Je participe pas mal à des sous-communauté de reddit (ocaml et haskell en particulier) qui sont très agréables. La mailing-list OCaml est aussi très agréable.
J'attendais que quelqu'un cite Reddit dans cette conversation. J'aime bien Reddit, j'y passe un certain temps chaque semaine. Mais c'est typiquement le site qui recueille le pire et le meilleur du net (sans descendre jusqu'à du /b/ sur 4chan) : /r/funny qui est très généraliste n'a clairement pas la même fréquentation en termes de personnes que /r/ocaml. Et le premier est bien plus généraliste que le deuxième, et rassemble nécessairement plus de monde, car moins spécialisé (oui, je fais une redondance dans cette phrase car je pense qu'il faut insister).
Linuxfr.org est un site globalement consacré à l'informatique libre pour les nouvelles. Ça en fait quelque chose de très généraliste dans le domaine de l'info malgré tout. Les contributeurs du site (je parle des utilisateurs en général) sont pour beaucoup des gens dont le métier est lié à l'info. Le niveau, malgré ce que certains pensent ici, est assez haut au final, comparé à des sites parlant d'informatique plus généraliste.
Je ne connais pas /r/ocaml, mais je suppose que tout comme sur Usenet auparavant, il y a une charte, et que les discussions hors-sujet ne sont pas acceptées. Lorsque j'allais sur fr.comp.lang.c, on savait que le newsgroup n'était pas modéré, mais malgré tout, globalement les questions hors-charte1 étaient soit ignorées, soit on y répondait en indiquant qu'on n'allait pas répondre (« ici on parle de C ANSI/ISO, pas de C POSIX », ou « C'est une question de C++ et pas de C. Tu ferais mieux d'aller demande sur fclc++ »). Même pour les questions en charte, certains pouvaient faire preuve d'une certaine condescendance dans leurs réponses. Malgré tout, ces gens condescendants aidaient beaucoup, et donc consacraient une grande partie de leur temps à répondre à des gens qui connaissaient moins le langage qu'eux. Comme ces gens étaient très actifs, ils ne se gênaient pas pour répondre de façon assez directe quand la réponse était déjà dans la FAQ (un équivalent de « RTFM » quoi). D'autres étaient plus aimables dans leurs réponses. Dans tous les cas, comme le newsgroup était extrêmement spécialisé, je trouvais l'ambiance parfaitement supportable. Lorsque j'allais sur fr.comp.os.linux.debats, je savais que j'allais atterrir dans un nid à troll. J'y ai participé, et c'était un joyeux mélange de discussions relatives à l'environnement des LL, et de discussions politiques et économiques très souvent façon brèves de comptoir (un peu comme les journaux de LinuxFR en fait).
Il faut éviter de confondre agressivité (active ou passive) et le fait d'être direct. C'est un peu la différence entre dire qu'un argument est nul (dans le sens : dénué de sens ou de substance), et dire que quelqu'un est nul. Il faut faire attention au contexte dans lequel c'est dit évidemment, car il est facile d'abuser de cette subtilité : il suffirait de dire pour chaque argument qu'il est nul, sans dire que l'interlocuteur l'est, mais tout le monde aurait compris ce qu'on pense.
Enfin je discute avec des gens directement par IRC ou blogs (ou, pour les mécréants, Google Plus) interposés, et le ton des discussions y est là encore très agréable.
Tu as bien de la chance. Sur IRC, j'ai le droit à tout : des cons, des mecs qui se veulent sarcastiques et drôles, mais sont juste des connards, mais aussi des gens qui veulent vraiment aider, et qui prennent le temps. Ou bien, pour les sites moins orientés technique, j'ai de tout : des mecs qui sont lourds, des mecs qui sont intéressants, etc.
Bref, encore une fois, plus la communauté est centrée sur un sujet précis, plus il y a de chances que les gens soient tous « OK », surtout s'il y a des règles strictes pour empêcher les dérives.
fclc avait une charte très stricte : uniquement des conversations relatives au C ISO, donc parler de C POSIX ou C sous Windows était hors-charte, même si parfois « toléré ». ↩
Hey, ça veut dire qu'il y a 30 à 40% de choses que ce site ne peut plus t'apprendre, c'est pour ça que le niveau général parait moins élevé !
Pas seulement. Je suis arrivé sur le site fin 2002. À l'époque je commençais mes études en école d'ingénieur, et je connaissais Linux et les BSD depuis ~3 ans. J'avais pour ainsi dire tout à apprendre. Mais je m'aperçois aussi que tout un tas de gens qui finissaient à l'époque leurs études (école d'ingé/Master ou doctorat en majorité, avec quelques uns qui étaient déjà pros et quelques autodidactes) sont restés sur le site (moi y compris). Et du coup, je pense que beaucoup, beaucoup de gens ont énormément gagné en expérience, et que forcément il y a moins à apprendre : après tout, tout un tas de sujets sont ressassés (« Linux est-il prêt pour le Desktop ? »; « Ubuntu : une alternative bidon à Debian ? »; etc. — les sujets que j'ai choisis sont trollifères, je l'admets).
Le problème de « l'apprentissage » dont parle Ontologia est aussi, comme il le dit implicitement, que certains aspects des LL ou des systèmes UNIX intéressent moins à mesure qu'on se spécialise (ou en tout cas pas assez pour que j'y consacre le temps nécessaire pour suivre l'activité) : je suis passé de « je vais devenir sysadmin ! » à « non en fait, j'aime trop coder, ça me manque ! » à « Bon en fait, la recherche liée aux aspects bas-niveau de l'info, c'est ce qu'il me faut ! » Même si je suis toujours intéressé par les news sur les nouvelles versions du noyaux Linux, j'avoue que je suis moins passionné par cet aspect. Lorsque je croyais que j'allais finir sysadmin, j'étais bien plus passionné par ce sujet.
En l'occurrence, comme Android est plus ou moins comme un Windows 95/98 sur beaucoup de points, je pense que pBpG n'est pas complètement dans le faux. Grosso modo : utilisateur = admin, avec juste un truc du genre « pour installer cette application vous devez l'autoriser à avoir les droits suivants: [liste de 10000 droits, dont géolocalisation, accès à tout un tas d'apps, etc.] ». Rien qu'hier, avec mon vieil Android 2.4, je cherchais un truc sur Google, et le premier lien va vers un site qui, avec du recul, était bien douteux. J'ai pas trop fait gaffe, et j'ai cliqué. Bon, en tant qu'infoteux un minimum parano, le simple fait qu'au lieu d'aller jouer la vidéo promise, le soft commence à télécharger un fichier exécutable m'aurait mis la puce à l'oreille. Du coup, le fait que l'anti-virus installé par défaut sur mon smartphone ait « détecté » que le fichier en question était un virus n'était pas spécialement une aide, parce que mon métier est informaticien.
Mais si un infoteux qui baisse sa garde ne fait « que » télécharger par inadvertance un binaire sans l'exécuter, que penses-tu qu'il arriverait avec un utilisateur lambda encore moins vigilant, qui veut voir sa vidéo de <insert stuff here: porn, lolcat, etc.> ?
Bon, il faut bien avouer que MS a compris que copier OOo/LO et la syntaxe Latex pour les maths n'était pas une mauvaise idée. Du coup la dernière fois que j'ai essayé, ça marchait plutôt bien (Office 2010).
Euh, j'ai dû louper quelque chose, tu peux me filer un lien ? J'ai cherché « Barnes and Noble Microsoft » mais tout ce que j'ai pu trouver c'était que MS avait investi dans le Nook.
Je suis globalement d'accord avec toi, mais pour les crapwares, même si sans doute ça arriverait, le fait que la plupart des softs soient libres sous Linux « freinerait » un peu les choses je pense. Par contre j'imagine bien Steam être préinstallé avec une distribution commerciale, avec Opera et je ne sais pas quoi…
C'est le genre de choses que j'éviterais d'aborder dans un premier temps. Et maintenant je me souviens pourquoi je n'avais pas traité la différence entier/décimal : la programmation avec des décimaux est compliquée.
Pas vraiment. Les problèmes d'arrondis ne deviennent une gêne que si tu as besoin d'afficher plus de 2 décimales avec printf (genre printf("Temperature: %.2f\n", temperature);). Dans ce cas, tu n'as pas besoin d'embêter les élèves avec les histoires de « on ne compare pas deux nombres flottants par l'égalité » et autres trucs importants pour l'analyse numérique, mais pas tellement pour une initiation à la programmation.
[…] il ne faut pas introduire trop de concepts à la fois pour éviter de noyer sous une masse d'information imbitable. C'est pour ça qu'à mon avis, se limiter à 1 seul langage pour apprendre la programmation, ce n'est pas une bonne idée.
Je ne pense pas que rewind indique qu'il faille apprendre un seul langage. Dans certaines facs, les 2 premières années sont passées à apprendre l'algo/prog avec un même langage, et la troisième année ils en voient un autre. C'est pas forcément idiot. Cependant, les élèves qui suivent des études scientifiques à la fac doivent bien commencer quelque part. C ou C++ (version light) ne sont pas forcément de mauvais choix. De toute manière, les élèves qui font de la physique devront bien apprendre à manipuler R ou matlab, ou même Fortran (et s'ils ont de la chance, Python+les bonnes bibliothèques). Les élèves qui sont en bio apprendront Python ou Perl s'il font de la génomique/génétique, etc. Ce ne sera pas forcément pendant les 3 premières années de licence, mais ça finira nécessairement par arriver.
Pour un élève en informatique, comme je l'ai dit ailleurs, il est important selon moi que sur trois ans, il ait vu au moins 2 paradigmes de programmation (impératif, objet, fonctionnel), ce qui signifie au moins deux langages, et probablement en pratique 2,5 (genre ils commencent avec C, et embrayent ensuite avec C++ ou Java pour voir comment fonctionne la POO, puis font peut-être du Scheme ou OCaml).
Oui mais ça ne veut rien dire. « De mon temps », on abordait l'arithmétique en spé maths en Terminale S (donc du coup je savais déjà ce qu'était un groupe en arrivant en IUT), mais désormais une partie de l'arithmétique est enseignée en Seconde si j'ai bien compris (ou peut-être même en 3è). Ce qui change d'une décennie à l'autre, c'est dans quel ordre on voit les sujets en maths.
Hum. Autant je suis d'accord pour dire que la plupart des gens ont Fortran 66 ou Fortran 77 en tête lorsqu'ils parlent du langage, autant mon expérience (limitée, je l'admets) a été que oui, les codes qu'on me donnait à optimiser étaient faits en F77 ou F90. Pas de F95, et certainement pas F03 (F08 ne compte pas, vu qu'à l'époque j'étais en 2è année de thèse :)).
Je suis certain que tout un tas de gens utilisent F95 ou même F03 dans les milieux du calcul scientifique, mais je n'en entendais pas parler (j'ai bossé avec des gens du CEA, de Dassault Aviation, et des boites allemandes). Par contre c'est sans doute lié à ce que je devais optimiser : les primitives de calcul en algèbre linéaire, des solveurs itératifs, etc.
En terme d'expérience pratique oui, bien sûr. Mais la programmation n'est qu'une partie du cursus. Nous faisons énormément de génie logiciel aussi, et en règle générale d'analyse et conception de systèmes d'info. La programmation n'est qu'une portion (pas négligeable, mais pas majoritaire non plus — la plupart du temps le génie logiciel a un plus fort coefficient que les UV de programmation/algo pures) du programme.
Ensuite, la plupart des gens qui arrivent en école d'ingénieur ont quand même fait un minimum d'algorithmique (à mon époque, les prépas MPSI faisaient soit du Caml light, soit du Pascal, et la prépa intégrée de mon école permettait aux étudiants de suivre une intro à l'algorithmique). Note : ayant fait un IUT, nous étions (à raison!) interdits d'UV de structures de données (car nous avions déjà vu 90%).
Maintenant je peux te dire comment j'ai vécu la chose : je venais d'un monde purement impératif (C, C++, Java, Visual Basic/ASP, etc.), et là on me dit que la récursion c'est cool. Alors que, lorsque tu viens du monde du C, au contraire, t'as pas envie de faire de la récursion si tu peux l'empêcher, car tu vas dupliquer les variables, etc. Donc techniquement, il a fallu que j'arrive à me retourner le cerveau pour changer complètement mes habitudes, là où les autres de DEUG/prépa étaient relativement « vierges », voire avaient déjà vu des langages comme Scheme ou OCaml (bon ceux-là n'avaient pas de problème avec Lisp en général ;-)).
Enfin, autant les langages comme OCaml, Scala, ou Haskell ont réellement une notation proche de ce que je ferais en maths, autant la syntaxe de Lisp c'est quasiment purement du lambda calcul, qui certes reste un domaine des maths, mais quand même, il est super restreint. J'ai fini par m'y faire à l'époque, et quelque part je trouvais ça rigolo de penser en récursif, mais très clairement, ça n'est pas très bien passé avec les gens qui avaient moins d'expérience pratique avec la programmation.
Pour moi, c'est le Lisp.
[…] Ca ressemble à des maths.
Pour des gens qui ont une formation scientifique, ça ne pose pas de problème. C'est une notation en plus.
Perdu ! Lorsque j'étais en école d'ingénieur, beaucoup de gens en génie info avaient pris « structures de données » et « introduction à l'intelligence artificielle » comme cours de base en premier semestre. Parmi ces gens, beaucoup venaient de la prépa intégrée de l'école, et avaient clairement fait bien plus de maths que moi. Une bonne partie avait aussi suivi une UV d'initiation à l'algorithmique (en Pascal je crois). Bref. Les gens comme moi qui venaient d'IUT avaient clairement un avantage sur les gens qui n'avaient fait « que » des maths lorsqu'il s'est s'agit d'apprendre à programmer en Lisp. Pourtant ils apprenaient l'algo à part (et les TP de l'UV d'algo étaient en C, certes, mais ils n'ont commencé que tard d'une part, et ensuite les élèves voyaient C et Lisp de front, donc ils n'étaient pas pollués par la syntaxe de C à ce moment).
Encore une fois : le langage importe peu, tant que l'équipe enseignante fait correctement son boulot. De toute manière pour les premiers cours d'algo/prog, les profs vont utiliser des sous-ensembles du langage choisi, quel qu'il soit.
Le C n'est pas un problème si le cursus de l'étudiant est de faire de l'informatique. Par contre, il est important d'y aller progressivement. De plus, l'algorithmique, ce n'est pas simplement faire des tris avec données déjà allouées pour toi en mémoire. Au contraire, c'est admettre qu'il y a un besoin de pouvoir créer (et potentiellement détruire) de nouvelles données dynamiquement. L'exemple le plus parlant est la liste chaînée non-bornée. Les bases de l'algo s'apprennent en recréant les structures de données fondamentales et les méthodes pour les traverser et les modifier. Apprendre l'algo (pour un élève en informatique) sans parler des problèmes d'allocation dynamique à un moment donné, c'est quand même gênant (mais ça existe, je connais des élèves qui ont dû apprendre à coder en C++ seulement une fois arrivés au niveau master/doctorat).
Sans doute parce que je n'avais pas abordé les anneaux, groupes et corps avant la fin de ma 1è année d'IUT, et que (par exemple) les IUT génie informatique acceptent aussi les candidatures venant de sections sciences économiques et sociales (à raison).
Selon moi, utiliser la notation hongroise dans le contexte de langages à typage dynamique et faible, c'est une façon de définir une autre forme d'interface : pour reprendre un exemple que j'avais donné en Perl, si j'ai un truc du genre :
my$i_var=10;$i_var+=$valeur_flottante;
… Alors je m'attends à ce que la prochaine fois que je cherche à lire $i_var, j'aie bien fait attention à le lire en tant qu'entier :
un_petit_calcul(int($i_var));
Évidemment mon exemple est trivial, mais comme l'explique groumly ailleurs, l'idée c'est quand même aussi d'ajouter une certaine sémantique qui ne peut être capturée par le compilateur. Dans le cas de langages fortement typés, préfixer par i_, f_, etc. ne sert à rien (le compilateur a déjà les infos pour te gueuler dessus). Dans des cas plus complexes, du genre :
sub construire_type1{return{Champ1=>valeur1(),Champ2=>valeur2(),...};}sub construire_type2{return{AutreChamp1=>valeur1(),AutreChamp2=>valeur2(),...};}my$foo=construire_type1();my$bar=construire_type2();# du temps passe...$foo=$bar;# MAIS C'EST PAS BIEN ! C'EST PAS LES MÊMES TYPES ! :(
sub construire_type1{return{Champ1=>valeur1(),Champ2=>valeur2(),...};}sub construire_type2{return{AutreChamp1=>valeur1(),AutreChamp2=>valeur2(),...};}my$t1_foo=construire_type1();my$t2_bar=construire_type2();# du temps passe...$t1_foo=$t2_bar;# MAIS C'EST PAS BIEN ! C'EST PAS LES MÊMES TYPES ! Mais bon au moins c'est plus visible
Ça reste un exemple abstrait, et bien entendu un bon choix pour nommer les variables va très certainement aider à ne pas se planter, avec ou sans préfixes. Mais parfois il est facile de faire des bourdes pour des types qui sont très proches, parce qu'on a mal lu la doc, etc. Et dans un langage dynamique, ça a tendance à avoir des effets plutôt très indésirables (genre une partie des champs est commune à deux types, et au début, tout à l'air de fonctionner, et ensuite des bugs apparaissent « silencieusement » …)
[à propos des allocations dynamiques] Sauf que ce n'est presque plus le cas depuis C++11 et ce ne sera plus du tout le cas dès C++14.
C'est faux. Le monde n'arrêtera pas d'utiliser new/delete juste parce qu'une nouvelle norme sort. J'ai appris le C alors que ça faisait déjà 3 ans que C99 était sorti. Tu penses bien qu'on m'a appris le C89, et que j'ai dû me mettre à jour tout seul. Il faut gérer l'existant (i.e. le maintenir) bien plus qu'on ne crée de nouveaux programmes.
[à propos de code C mélangé à du code C++ par un élève] Ça c'est bien idiot et ça montre bien que ce qui est noté ce n'est pas la réflexion. On parle d'apprendre à gérer correctement la mémoire. Ce qu'il faut c'est résoudre la question de l'allocation et de la libération. Si l'étudiant utilise malloc/free n'est pas un problème tant que c'est cohérent dans son programme.
Je ne vois pas en quoi c'est idiot. Qu'un élève trouve de l'inspiration dans du code ailleurs (quel que soit le langage), soit. Maintenant, l'allocation dynamique explicite en C++ se fait par new et delete/delete [], et pas par malloc/free. Si tu mélanges les deux, ce n'est pas simplement un mauvais style de programmation : tu risques aussi potentiellement de mettre en branle une mécanique complexe avec possiblement deux gestionnaires mémoire. Que new/delete se servent la plupart du temps de malloc/free en sous-main n'est pas requis par la norme à ma connaissance, et ne devrait pas être supposé. Donc je persiste, un étudiant qui n'est pas foutu d'adapter un algo « pur C » en utilisant les new/delete qui vont bien sera pénalisé.
[^] # Re: Une communauté ?
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 4.
C'est dommage, tu as cité une partie de mon texte qui tient sur un petit paragraphe, comme si je n'avais pas consacré les ⅔ du message complet à expliquer à quel point je me pose des limites malgré tout. En fait, j'ai l'impression que tu n'as lu que la partie qui t'intéressait pour pouvoir « m'incriminer » au sujet d'être direct.
[^] # Re: Une communauté ?
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 3.
Non mais c'est une vraie question en fait : puisqu'il y a de nombreuses communautés plus conviviales (c'est lui qui nous le dit !) et que contrairement à la France, il n'y a pas de risque de se faire tuer, d'avoir une vie moins bien, etc., et puisque grosso modo ce journal était presqu'entièrement à charge, j'en conclus que LinuxFR ne lui convient pas. Donc si ce n'est pas le cas, j'aimerais qu'il nous dise aussi ce qu'il aime bien ici qu'il ne trouve pas ailleurs.
Perso, c'est justement le fait que tout un tas de gens sont soit plutôt « experts » dans certains domaines techniques, soit qu'ils ont des opinions intéressantes (même si parfois très tranchées), soit les deux qui me fait rester ici. Et justement, contrairement à pas mal de gens sur reddit, slashdot, etc., je trouve que le niveau des commentaires en termes d'argumentation, etc., est plus élevé que la moyenne, même pour des sujets trollifères (il y a des exceptions évidemment).
[^] # Re: Une communauté ?
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 10.
Non mais ça va les chevilles (Là oui, on peut parler d'être direct et brutal, si tu veux) ? Parce que tu (et tes potes du site du zéro, site qui par définition s'intéresse surtout à des débutants, donc) as décidé que linuxfr n'était pas suffisamment « convivial » et « ouvert » et « trop insultant » ou « brutal » (oui, je mets tout entre guillemets parce que visiblement nous n'avons pas la même définition de ce que « insultant » signifie), tu crois que nous devrions tous, nous, les contributeurs du site (et encore une fois, par « contributeurs », je veux dire « les utilisateurs réguliers, y compris les plus silencieux qui ne postent pas trop ») nous aplatir en excuses et faire tout pour satisfaire ta vision de la convivialité ? Tu sais, c'est très simple hein. Si tu veux savoir si LinuxFR pourrait bénéficier d'une meilleure ambiance en règle générale, il existe un outil sur le site lui-même : les sondages. Par exemple :
Voilà. Tu peux même inviter les connaissances qui ont fréquenté le site plus que pour 2 dépêches1 à se connecter et voter.
Bah oui, parce que des gens qui n'ont pas fait l'effort de rester un peu plus n'ont à mon sens pas réellement une opinion qui tienne la route : ça se trouve ils ont eu affaire aux même contributeurs trop agressifs deux fois de suite et du coup ça ne compte pas vraiment selon moi. ↩
[^] # Re: Une communauté ?
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 3.
À propos de « direct vs. agressif » : tu as tronqué la phrase qui suivait, et qui disait en substance que, comme tout approche rhétorique, il faut éviter les abus (càd : mon exemple qui où quelqu'un descend systématiquement les arguments de son interlocuteur en disant qu'ils sont nuls, et qui peut être pris comme voulant dire que l'interlocuteur est nul lui-même). Pour moi être direct/brutal marche d'autant mieux que tu as des arguments pour soutenir cette affirmation. Donc si je dis « Ce que tu dis est stupide. », évidemment, j'exprime le fait que je ne suis pas d'accord avec toi de façon impolie et sans rien apporter à la discussion (cela dit, penser que quelque chose est stupide, et pas juste incorrect, justifierait justement d'utiliser le moinssage dans ce cas). Par contre, si je dis « Ce que tu dis est stupide : », c'est brutal, mais je vois deux possibilités :
En règle générale, je suis plutôt direct, mais j'essaie d'éviter de dire qu'un argument est complètement con/débile/stupide, sauf quand mon interlocuteur vient de s'exprimer pendant 10 messages d'affilée, que plusieurs interlocuteurs lui ont montré qu'il avait tort de plusieurs façons différentes, et qu'il persiste en cherchant des arguments qui commencent sérieusement à puer de mauvaise foi.
Ceci étant dit : être direct, sans forcément être « poli », mais sans traiter les arguments de quelqu'un d'autre de stupide, c'est tout à fait faisable. Cependant, je peux être très cassant sans forcément utiliser un « gros mot ». Je suppose qu'on pourrait appeler cela être passif-agressif, mais au bout d'un moment, il faut faire un choix sur quoi on doit consacrer du temps. Par exemple : je consacre du temps à rédiger des réponses à tes posts. :-) Mais parce qu'aussi j'ai l'impression qu'un dialogue est possible. Je ne vais pas forcément faire le même effort avec quelqu'un d'autre.
Oui mais non. Je peux être très direct et parfois même condescendant (à mon grand regret, car je m'en aperçois généralement après coup). Mais globalement comme je peux faire passer de l'information beaucoup plus vite qu'à l'écrit, j'ai tendance à prendre plus de précautions oratoires. Alors que sur LinuxFR par exemple, je vais être sans doute plus brut, parce que je n'ai pas une soirée complète à ma disposition pour discuter de tout ça (en tout cas, pas tous les soirs :-P). Et — surprise, surprise ! — je ne suis pas très sûr de moi, sauf pour des sujets très précis, et où je peux donc… fournir les sources. Ça n'empêche pas que je vais être direct pour autant.
Là par exemple, je trouve que même si le sujet est intéressant (et a dégénéré en belles flame wars sur les journaux de LinuxFR de par le passé), ceci n'a pas grand chose à voir avec le sujet qui nous préoccupe (il est lié, c'est indéniable, mais c'est malgré tout une diversion par rapport au sujet original).
[^] # Re: Notations
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 5.
Je n'ai à cliquer sur -42 qu'une fois de temps en temps, quand mon cookie linuxfr arrive à expiration, soit moins de 5 fois par an…
[^] # Re: Réponse
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 5.
J'avais oublié de citer la phrase qui m'a fait répondre ce bijou d'argumentation :
Ça m'a fait sourire, d'autant plus que je n'ai pas de « commentaires pliés » (je navigue à -42), et que je moinsse très rarement (et quand je le fais, c'est principalement parce que la personne en vient à des arguments de type ad hominem ou ad personam. Bref, quand l'argumentation s'écarte du sujet et s'attaque aux personnes : à moins d'être vraiment complètement hors sujet, en général je ne moinsse pas des posts qui s'écartent un peu du sujet mais qui restent respectueux de leurs interlocuteurs.
[^] # Re: Une communauté ?
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 6.
J'attendais que quelqu'un cite Reddit dans cette conversation. J'aime bien Reddit, j'y passe un certain temps chaque semaine. Mais c'est typiquement le site qui recueille le pire et le meilleur du net (sans descendre jusqu'à du /b/ sur 4chan) : /r/funny qui est très généraliste n'a clairement pas la même fréquentation en termes de personnes que /r/ocaml. Et le premier est bien plus généraliste que le deuxième, et rassemble nécessairement plus de monde, car moins spécialisé (oui, je fais une redondance dans cette phrase car je pense qu'il faut insister).
Linuxfr.org est un site globalement consacré à l'informatique libre pour les nouvelles. Ça en fait quelque chose de très généraliste dans le domaine de l'info malgré tout. Les contributeurs du site (je parle des utilisateurs en général) sont pour beaucoup des gens dont le métier est lié à l'info. Le niveau, malgré ce que certains pensent ici, est assez haut au final, comparé à des sites parlant d'informatique plus généraliste.
Je ne connais pas /r/ocaml, mais je suppose que tout comme sur Usenet auparavant, il y a une charte, et que les discussions hors-sujet ne sont pas acceptées. Lorsque j'allais sur fr.comp.lang.c, on savait que le newsgroup n'était pas modéré, mais malgré tout, globalement les questions hors-charte1 étaient soit ignorées, soit on y répondait en indiquant qu'on n'allait pas répondre (« ici on parle de C ANSI/ISO, pas de C POSIX », ou « C'est une question de C++ et pas de C. Tu ferais mieux d'aller demande sur fclc++ »). Même pour les questions en charte, certains pouvaient faire preuve d'une certaine condescendance dans leurs réponses. Malgré tout, ces gens condescendants aidaient beaucoup, et donc consacraient une grande partie de leur temps à répondre à des gens qui connaissaient moins le langage qu'eux. Comme ces gens étaient très actifs, ils ne se gênaient pas pour répondre de façon assez directe quand la réponse était déjà dans la FAQ (un équivalent de « RTFM » quoi). D'autres étaient plus aimables dans leurs réponses. Dans tous les cas, comme le newsgroup était extrêmement spécialisé, je trouvais l'ambiance parfaitement supportable. Lorsque j'allais sur fr.comp.os.linux.debats, je savais que j'allais atterrir dans un nid à troll. J'y ai participé, et c'était un joyeux mélange de discussions relatives à l'environnement des LL, et de discussions politiques et économiques très souvent façon brèves de comptoir (un peu comme les journaux de LinuxFR en fait).
Il faut éviter de confondre agressivité (active ou passive) et le fait d'être direct. C'est un peu la différence entre dire qu'un argument est nul (dans le sens : dénué de sens ou de substance), et dire que quelqu'un est nul. Il faut faire attention au contexte dans lequel c'est dit évidemment, car il est facile d'abuser de cette subtilité : il suffirait de dire pour chaque argument qu'il est nul, sans dire que l'interlocuteur l'est, mais tout le monde aurait compris ce qu'on pense.
Tu as bien de la chance. Sur IRC, j'ai le droit à tout : des cons, des mecs qui se veulent sarcastiques et drôles, mais sont juste des connards, mais aussi des gens qui veulent vraiment aider, et qui prennent le temps. Ou bien, pour les sites moins orientés technique, j'ai de tout : des mecs qui sont lourds, des mecs qui sont intéressants, etc.
Bref, encore une fois, plus la communauté est centrée sur un sujet précis, plus il y a de chances que les gens soient tous « OK », surtout s'il y a des règles strictes pour empêcher les dérives.
fclc avait une charte très stricte : uniquement des conversations relatives au C ISO, donc parler de C POSIX ou C sous Windows était hors-charte, même si parfois « toléré ». ↩
[^] # Re: Réponse
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à -5.
Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca.
Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca Caca.
Bonne lecture.
[^] # Re: Réponse
Posté par lasher . En réponse au journal Pourquoi LinuxFr sent-il le vitriol?. Évalué à 4.
Pas seulement. Je suis arrivé sur le site fin 2002. À l'époque je commençais mes études en école d'ingénieur, et je connaissais Linux et les BSD depuis ~3 ans. J'avais pour ainsi dire tout à apprendre. Mais je m'aperçois aussi que tout un tas de gens qui finissaient à l'époque leurs études (école d'ingé/Master ou doctorat en majorité, avec quelques uns qui étaient déjà pros et quelques autodidactes) sont restés sur le site (moi y compris). Et du coup, je pense que beaucoup, beaucoup de gens ont énormément gagné en expérience, et que forcément il y a moins à apprendre : après tout, tout un tas de sujets sont ressassés (« Linux est-il prêt pour le Desktop ? »; « Ubuntu : une alternative bidon à Debian ? »; etc. — les sujets que j'ai choisis sont trollifères, je l'admets).
Le problème de « l'apprentissage » dont parle Ontologia est aussi, comme il le dit implicitement, que certains aspects des LL ou des systèmes UNIX intéressent moins à mesure qu'on se spécialise (ou en tout cas pas assez pour que j'y consacre le temps nécessaire pour suivre l'activité) : je suis passé de « je vais devenir sysadmin ! » à « non en fait, j'aime trop coder, ça me manque ! » à « Bon en fait, la recherche liée aux aspects bas-niveau de l'info, c'est ce qu'il me faut ! » Même si je suis toujours intéressé par les news sur les nouvelles versions du noyaux Linux, j'avoue que je suis moins passionné par cet aspect. Lorsque je croyais que j'allais finir sysadmin, j'étais bien plus passionné par ce sujet.
[^] # Re: L'ornithorynque
Posté par lasher . En réponse au journal Journal-nimage rapidoce en deuspi tavu. Évalué à 2.
Ah mais en fait je viens de comprendre. Tu viens de faire une review de la dernière version de Darwin OS. J'ai bon ?
[^] # Re: No Office
Posté par lasher . En réponse à la dépêche LibreOffice 4.3 est sorti. Évalué à 4.
Oui, mais une appli mal codée non voulue et qui me siphonne ma batterie, c'est quand même un malware, à défaut d'être un « vrai » virus.
[^] # Re: No Office
Posté par lasher . En réponse à la dépêche LibreOffice 4.3 est sorti. Évalué à 5.
En l'occurrence, comme Android est plus ou moins comme un Windows 95/98 sur beaucoup de points, je pense que pBpG n'est pas complètement dans le faux. Grosso modo : utilisateur = admin, avec juste un truc du genre « pour installer cette application vous devez l'autoriser à avoir les droits suivants: [liste de 10000 droits, dont géolocalisation, accès à tout un tas d'apps, etc.] ». Rien qu'hier, avec mon vieil Android 2.4, je cherchais un truc sur Google, et le premier lien va vers un site qui, avec du recul, était bien douteux. J'ai pas trop fait gaffe, et j'ai cliqué. Bon, en tant qu'infoteux un minimum parano, le simple fait qu'au lieu d'aller jouer la vidéo promise, le soft commence à télécharger un fichier exécutable m'aurait mis la puce à l'oreille. Du coup, le fait que l'anti-virus installé par défaut sur mon smartphone ait « détecté » que le fichier en question était un virus n'était pas spécialement une aide, parce que mon métier est informaticien.
Mais si un infoteux qui baisse sa garde ne fait « que » télécharger par inadvertance un binaire sans l'exécuter, que penses-tu qu'il arriverait avec un utilisateur lambda encore moins vigilant, qui veut voir sa vidéo de <insert stuff here: porn, lolcat, etc.> ?
[^] # Re: No Office
Posté par lasher . En réponse à la dépêche LibreOffice 4.3 est sorti. Évalué à 4.
Au moins aux US, lorsque tu achètes un smartphone Android avec un opérateur mobile, il est normal qu'un antivirus soit installé par défaut.
[^] # Re: No Office
Posté par lasher . En réponse à la dépêche LibreOffice 4.3 est sorti. Évalué à 1.
Bon, il faut bien avouer que MS a compris que copier OOo/LO et la syntaxe Latex pour les maths n'était pas une mauvaise idée. Du coup la dernière fois que j'ai essayé, ça marchait plutôt bien (Office 2010).
[^] # Re: No Office
Posté par lasher . En réponse à la dépêche LibreOffice 4.3 est sorti. Évalué à 2.
Euh, j'ai dû louper quelque chose, tu peux me filer un lien ? J'ai cherché « Barnes and Noble Microsoft » mais tout ce que j'ai pu trouver c'était que MS avait investi dans le Nook.
[^] # Re: No Office
Posté par lasher . En réponse à la dépêche LibreOffice 4.3 est sorti. Évalué à 2.
Je suis globalement d'accord avec toi, mais pour les crapwares, même si sans doute ça arriverait, le fait que la plupart des softs soient libres sous Linux « freinerait » un peu les choses je pense. Par contre j'imagine bien Steam être préinstallé avec une distribution commerciale, avec Opera et je ne sais pas quoi…
Bon après, je suis peut-être naïf. :)
[^] # Re: Pascal...
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.
Pas vraiment. Les problèmes d'arrondis ne deviennent une gêne que si tu as besoin d'afficher plus de 2 décimales avec
printf
(genreprintf("Temperature: %.2f\n", temperature);
). Dans ce cas, tu n'as pas besoin d'embêter les élèves avec les histoires de « on ne compare pas deux nombres flottants par l'égalité » et autres trucs importants pour l'analyse numérique, mais pas tellement pour une initiation à la programmation.Je ne pense pas que rewind indique qu'il faille apprendre un seul langage. Dans certaines facs, les 2 premières années sont passées à apprendre l'algo/prog avec un même langage, et la troisième année ils en voient un autre. C'est pas forcément idiot. Cependant, les élèves qui suivent des études scientifiques à la fac doivent bien commencer quelque part. C ou C++ (version light) ne sont pas forcément de mauvais choix. De toute manière, les élèves qui font de la physique devront bien apprendre à manipuler R ou matlab, ou même Fortran (et s'ils ont de la chance, Python+les bonnes bibliothèques). Les élèves qui sont en bio apprendront Python ou Perl s'il font de la génomique/génétique, etc. Ce ne sera pas forcément pendant les 3 premières années de licence, mais ça finira nécessairement par arriver.
Pour un élève en informatique, comme je l'ai dit ailleurs, il est important selon moi que sur trois ans, il ait vu au moins 2 paradigmes de programmation (impératif, objet, fonctionnel), ce qui signifie au moins deux langages, et probablement en pratique 2,5 (genre ils commencent avec C, et embrayent ensuite avec C++ ou Java pour voir comment fonctionne la POO, puis font peut-être du Scheme ou OCaml).
[^] # Re: Pascal...
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.
Oui mais ça ne veut rien dire. « De mon temps », on abordait l'arithmétique en spé maths en Terminale S (donc du coup je savais déjà ce qu'était un groupe en arrivant en IUT), mais désormais une partie de l'arithmétique est enseignée en Seconde si j'ai bien compris (ou peut-être même en 3è). Ce qui change d'une décennie à l'autre, c'est dans quel ordre on voit les sujets en maths.
[^] # Re: Fortran 2008
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 3.
Hum. Autant je suis d'accord pour dire que la plupart des gens ont Fortran 66 ou Fortran 77 en tête lorsqu'ils parlent du langage, autant mon expérience (limitée, je l'admets) a été que oui, les codes qu'on me donnait à optimiser étaient faits en F77 ou F90. Pas de F95, et certainement pas F03 (F08 ne compte pas, vu qu'à l'époque j'étais en 2è année de thèse :)).
Je suis certain que tout un tas de gens utilisent F95 ou même F03 dans les milieux du calcul scientifique, mais je n'en entendais pas parler (j'ai bossé avec des gens du CEA, de Dassault Aviation, et des boites allemandes). Par contre c'est sans doute lié à ce que je devais optimiser : les primitives de calcul en algèbre linéaire, des solveurs itératifs, etc.
[^] # Re: Pascal...
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.
En terme d'expérience pratique oui, bien sûr. Mais la programmation n'est qu'une partie du cursus. Nous faisons énormément de génie logiciel aussi, et en règle générale d'analyse et conception de systèmes d'info. La programmation n'est qu'une portion (pas négligeable, mais pas majoritaire non plus — la plupart du temps le génie logiciel a un plus fort coefficient que les UV de programmation/algo pures) du programme.
Ensuite, la plupart des gens qui arrivent en école d'ingénieur ont quand même fait un minimum d'algorithmique (à mon époque, les prépas MPSI faisaient soit du Caml light, soit du Pascal, et la prépa intégrée de mon école permettait aux étudiants de suivre une intro à l'algorithmique). Note : ayant fait un IUT, nous étions (à raison!) interdits d'UV de structures de données (car nous avions déjà vu 90%).
Maintenant je peux te dire comment j'ai vécu la chose : je venais d'un monde purement impératif (C, C++, Java, Visual Basic/ASP, etc.), et là on me dit que la récursion c'est cool. Alors que, lorsque tu viens du monde du C, au contraire, t'as pas envie de faire de la récursion si tu peux l'empêcher, car tu vas dupliquer les variables, etc. Donc techniquement, il a fallu que j'arrive à me retourner le cerveau pour changer complètement mes habitudes, là où les autres de DEUG/prépa étaient relativement « vierges », voire avaient déjà vu des langages comme Scheme ou OCaml (bon ceux-là n'avaient pas de problème avec Lisp en général ;-)).
Enfin, autant les langages comme OCaml, Scala, ou Haskell ont réellement une notation proche de ce que je ferais en maths, autant la syntaxe de Lisp c'est quasiment purement du lambda calcul, qui certes reste un domaine des maths, mais quand même, il est super restreint. J'ai fini par m'y faire à l'époque, et quelque part je trouvais ça rigolo de penser en récursif, mais très clairement, ça n'est pas très bien passé avec les gens qui avaient moins d'expérience pratique avec la programmation.
[^] # Re: Pascal...
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 4.
Perdu ! Lorsque j'étais en école d'ingénieur, beaucoup de gens en génie info avaient pris « structures de données » et « introduction à l'intelligence artificielle » comme cours de base en premier semestre. Parmi ces gens, beaucoup venaient de la prépa intégrée de l'école, et avaient clairement fait bien plus de maths que moi. Une bonne partie avait aussi suivi une UV d'initiation à l'algorithmique (en Pascal je crois). Bref. Les gens comme moi qui venaient d'IUT avaient clairement un avantage sur les gens qui n'avaient fait « que » des maths lorsqu'il s'est s'agit d'apprendre à programmer en Lisp. Pourtant ils apprenaient l'algo à part (et les TP de l'UV d'algo étaient en C, certes, mais ils n'ont commencé que tard d'une part, et ensuite les élèves voyaient C et Lisp de front, donc ils n'étaient pas pollués par la syntaxe de C à ce moment).
[^] # Re: L'assembleur ou le Scheme
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 4.
Encore une fois : le langage importe peu, tant que l'équipe enseignante fait correctement son boulot. De toute manière pour les premiers cours d'algo/prog, les profs vont utiliser des sous-ensembles du langage choisi, quel qu'il soit.
Le C n'est pas un problème si le cursus de l'étudiant est de faire de l'informatique. Par contre, il est important d'y aller progressivement. De plus, l'algorithmique, ce n'est pas simplement faire des tris avec données déjà allouées pour toi en mémoire. Au contraire, c'est admettre qu'il y a un besoin de pouvoir créer (et potentiellement détruire) de nouvelles données dynamiquement. L'exemple le plus parlant est la liste chaînée non-bornée. Les bases de l'algo s'apprennent en recréant les structures de données fondamentales et les méthodes pour les traverser et les modifier. Apprendre l'algo (pour un élève en informatique) sans parler des problèmes d'allocation dynamique à un moment donné, c'est quand même gênant (mais ça existe, je connais des élèves qui ont dû apprendre à coder en C++ seulement une fois arrivés au niveau master/doctorat).
[^] # Re: Pascal...
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 3.
Sans doute parce que je n'avais pas abordé les anneaux, groupes et corps avant la fin de ma 1è année d'IUT, et que (par exemple) les IUT génie informatique acceptent aussi les candidatures venant de sections sciences économiques et sociales (à raison).
[^] # Re: Pascal...
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.
Selon moi, utiliser la notation hongroise dans le contexte de langages à typage dynamique et faible, c'est une façon de définir une autre forme d'interface : pour reprendre un exemple que j'avais donné en Perl, si j'ai un truc du genre :
… Alors je m'attends à ce que la prochaine fois que je cherche à lire
$i_var
, j'aie bien fait attention à le lire en tant qu'entier :Évidemment mon exemple est trivial, mais comme l'explique groumly ailleurs, l'idée c'est quand même aussi d'ajouter une certaine sémantique qui ne peut être capturée par le compilateur. Dans le cas de langages fortement typés, préfixer par
i_
,f_
, etc. ne sert à rien (le compilateur a déjà les infos pour te gueuler dessus). Dans des cas plus complexes, du genre :Ça reste un exemple abstrait, et bien entendu un bon choix pour nommer les variables va très certainement aider à ne pas se planter, avec ou sans préfixes. Mais parfois il est facile de faire des bourdes pour des types qui sont très proches, parce qu'on a mal lu la doc, etc. Et dans un langage dynamique, ça a tendance à avoir des effets plutôt très indésirables (genre une partie des champs est commune à deux types, et au début, tout à l'air de fonctionner, et ensuite des bugs apparaissent « silencieusement » …)
[^] # Re: Pas de "bonne" réponse
Posté par lasher . En réponse au journal Python comme premier langage de programmation ?. Évalué à 4.
C'est faux. Le monde n'arrêtera pas d'utiliser
new
/delete
juste parce qu'une nouvelle norme sort. J'ai appris le C alors que ça faisait déjà 3 ans que C99 était sorti. Tu penses bien qu'on m'a appris le C89, et que j'ai dû me mettre à jour tout seul. Il faut gérer l'existant (i.e. le maintenir) bien plus qu'on ne crée de nouveaux programmes.Je ne vois pas en quoi c'est idiot. Qu'un élève trouve de l'inspiration dans du code ailleurs (quel que soit le langage), soit. Maintenant, l'allocation dynamique explicite en C++ se fait par
new
etdelete
/delete []
, et pas parmalloc
/free
. Si tu mélanges les deux, ce n'est pas simplement un mauvais style de programmation : tu risques aussi potentiellement de mettre en branle une mécanique complexe avec possiblement deux gestionnaires mémoire. Quenew
/delete
se servent la plupart du temps demalloc
/free
en sous-main n'est pas requis par la norme à ma connaissance, et ne devrait pas être supposé. Donc je persiste, un étudiant qui n'est pas foutu d'adapter un algo « pur C » en utilisant lesnew
/delete
qui vont bien sera pénalisé.