lasher a écrit 2732 commentaires

  • [^] # Re: Éducation

    Posté par  . En réponse au journal Formation continue (ou pas). Évalué à 2.

    Je confirme, ces bouquins sont bons, du moment qu'on fait l'effort de faire (sérieusement¹) les exercices.
    [1] Je veux dire, il ne faut pas regarder les solutions trop vite. :)

  • [^] # Re: Mesures sociales ? Pas vraiment !

    Posté par  . En réponse au journal Quelques mesures sociales.... Évalué à 3.

    Pétain n'était pas plus légitime qu'un pantin mis de force par une puissance étrangère après avoir envahi un pays.

    Tu veux rire ? Jusque là, j'ai suivi tes interventions sans rien dire parce que, même si je ne suis pas d'accord avec toi, tu argumentes (savoir si les arguments sont bons, fournissent une information complète, etc., c'est une autre histoire).

    Mais dire que Pétain n'avait aucune légitimité, c'est récrire l'histoire. Il avait une parfaite légitimité selon le régime de la IVè République.

    Quant au reste de ta diatribe, elle est gerbante. Dire que ce qu'il a fait, aussi gerbant soit-il, c'était « pour son pays » me rend malade.

  • [^] # Re: I don't want to live on this planet anymore

    Posté par  . En réponse au journal Quelques mesures sociales.... Évalué à 2.

    Là encore [0], tu estimes que les gens doivent absolument connaitre tout dans les moindres détails avant de prendre une décision. Perso, si je commence des études dans une école, que ça se fait sur trois ans, et que je dois passer un semestre à l’étranger (donc entre 4 et 6 mois), et surtout si ça se fait à la fin des études (genre premier semestre, troisième année), je ne vais pas forcement penser à regarder les prix des mutuelles avant de m'inscrire pour ces études (surtout si elles me plaisent).

    Je ne dis pas non plus qu'il ne faut pas réfléchir à ses choix, mais demander a tout le monde de réfléchir en permanence et sur plusieurs années aux conséquences de ses actes ne me semble pas raisonnable. S'il est évident que le choix aura un impact profond sur ma vie future (ou celle d'autres gens), oui il faut mesurer immédiatement les conséquences. Mais si de prime abord il ne semble pas y avoir de contraintes évidentes, il n'est pas "naturel" de le faire -- surtout si on est étudiant [1]. Ce qui a fait que je n'ai pas trop trop déconné au niveau de mes choix c'est que j'avais des parents qui connaissaient très bien les rouages de beaucoup, beaucoup d'administrations. C'est bien plus mon expérience après avoir interagi avec celles-ci qui m'a permis de comprendre la portée de mes choix. Se renseigner, savoir reconnaître ce qui va poser problème dans un futur plus ou moins lointain, etc., cela s'apprend, et la plupart du temps c'est l’expérience qui parle (la sienne, ou celle de proches qui savent) quand on évite des problèmes.

    [0] "Encore", car tu tiens souvent un discours à la limite du "sartrien" concernant la responsabilité individuelle (la foule est une somme d'individus animés de leur volonté propre, etc). :-)
    [1] Comme je le dis plus loin dans mon texte, la plupart du temps un étudiant a tout simplement moins d’expérience pour savoir ce qu'il faut se demander avant de prendre une décision qui semble au départ anodine (financièrement parlant par exemple), et qui finalement ne l'est pas.

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 2.

    Perso je n'ai pas besoin de juger: pour ne payer que 180€ de loyer¹, tu te retrouves déjà dans un cas bien particulier. La plupart des gens ne peuvent pas trouver un loyer aussi bas. Et je répète : pauvre ≠ misère. Avoir l'eau courante, un toit, et de quoi manger, c'est bien, c'est le minimum pour vivre correctement.

    [1] soit dit en passant, il y a 7 ans, pour ma chambre d'étudiant de 9m² je payais 150€/mois, et c'était un logement donné sur critères financiers. Je me demande quelle convention te permet d'avoir un loyer aussi bas (même au milieu de nulle part). C'est une vraie question.

  • [^] # Re: Et pas un mot dans la presse

    Posté par  . En réponse à la dépêche Dennis Ritchie, un père d’UNIX, nous a quittés. Évalué à 3.

    Déjà, faut-il rappeler les compilateurs C produisent de l'assembleur avant de compiler en langage machine ?

    La plupart le font mais ce n'est pas obligatoire du tout. En fait, la plupart des compilos C/C++/Fortran qui font de la compilation inter-procédurale produisent des « pseudo-fichiers objets » qui ont une forme de fichiers objets annotés pour indiquer où inliner, etc.

    Un des sous-projets actuels de LLVM est de passer directement de leur représentation intermédiaire à un (ensemble de) fichier(s) objet par ex.

    Sinon, je suis d'accord avec le reste de ton post. :)

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 1.

    Non, pas l'UTBM. Et bien entendu, oui, très souvent on a le droit aux documents. En pratique, c'est souvent un piège, puisque le temps passé à regarder les documents aurait pu être gagné si les infos avaient été déjà en cache.

    La grosse différence que j'ai vue quand j'ai effectué mon M2R, ça a été que j'ai eu énormément d'articles de recherche à présenter, en faisant comme si j'avais écrit le papier. Ça m'a forcé à lire les références de chaque papier, elles-mêmes faisant référence à d'autres papiers, etc. Au final, j'ai bossé (et assimilé) bien plus de cette façon, car même s'il s'agissait d'un cadre « théorique », il fallait « faire » quelque chose. Bref, une méthode d'apprentissage qui marche bien mieux avec moi est celle de me demander d'expliquer ce qu'est un concept en détails pendant 20 minutes devant tout le monde⁰.

    Bref mon propos n'est pas de dire que « le par cœur c'est débile » (il y a des trucs qu'on ne peut pas éviter d'apprendre par cœur¹). Juste que les méthodes d'évaluations qui passent nécessairement par des notes ne sont pas forcément les meilleures, et en tout cas pas forcément adaptées à tout le monde. Tiens, tu parlais de l'UTBM. Il n'y a pas si longtemps, dans les UT (au moins à l'UTC), il n'y avait que trois « notes » pour une UV donnée : « mention », « passe », « échec »². Une notation plus fine a été introduite non pas parce qu'il était considéré que la notation précédente était mauvaise, mais pour pouvoir contribuer à l'effort « LMD » avec les crédits européens (et donc des notes qui vont de A à F). Beaucoup d'étudiants ont gueulé à l'époque, parce qu'une des raisons qu'ils avaient eu de venir dans cette école était la volonté affichée de ne pas vouloir classer les élèves³.

    Bref. Dire que « les écoles libres » ça ne fonctionne pas, je pense que c'est une ânerie. Imposer un modèle unique pour tous, ça sépare nécessairement ceux qui arrivent à se « fondre » dans le moule (et malgré mes résultats médiocres en sciences, j'étais tout de même un bon élève au final, par exemple) des autres. Ces « autres » n'ont alors presque plus de recours (au mieux ils ont le CNAM). Je trouve ça très bien qu'il existe des alternatives aux circuits classiques.

    [0] J'ai parfaitement conscience du fait que ce qui rend possible ce genre de méthodes, c'est le fait qu'en M2R, on a entre 5 et 15 élèves par classe à tout casser (à de rares exceptions près).
    [1] Tout simplement parce que c'est trop chiant / ça prend trop de temps de devoir redémontrer/retrouver un résultat mathématique à chaque fois qu'on en a besoin, par exemple.
    [2] Pour être parfaitement honnête, il y avait toujours des notes, « en interne », consultables par les étudiants.
    [3] Là encore, soyons clairs : les profs d'une UV donnée avaient bien des notes et des classements; simplement ils n'étaient pas publiquement consultables. De plus, il existait bien une forme de classement quand il existait plus d'élèves postulants pour faire un semestre à l'étranger dans une fac partenaire que de places : celui qui avait validé le plus d'UV à « niveau égal » était favorisé.

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 3.

    Ouah... Désolé, cette phrase ne passe pas. 800€/mois pour vivre en France, il y a de quoi faire! Alors par contre, ce sera pas vivre au centre de Paris ni avoir de voiture et les derniers vêtements à la mode, mais il y a plein d'endroits en France où ça va très bien. On ne peut pas tout avoir.

    Relis mon exemple : la personne dont je parle vit au « fin fond » du Loiret. Certes, elle a de gros soucis psychologiques/psychiatriques (qui n'aident pas), mais il y a une raison pour laquelle cette personne est sous tutelle.

    Alors en pratique, oui bien sûr on peut « vivre » avec 800€/mois. Mais j'aimerais qu'on m'explique pour alors le SMIC est à ~1000€ nets, si 800€ c'est suffisant.

    Avec 800€ / mois, tes économies sont ridicules (il n'y en a presque pas). En cas de coup dur, tout fout le camp.

    Et je ne parle pas d'un parisien, il faut arrêter de dévier. J'affirme que oui, même avec un toit, 800€ en France, c'est pas grand chose, et qu'il y a de très fortes chances que ce soit « suffisant » pour être pauvre. Le prix de la bouffe est sans doute OK, sauf qu'il faut très certainement aller dans un supermarché. Avec quelle voiture ? Comment tu paies le prix de l'essence ?

    En fait, je commence à en avoir marre de tous ces gens qui continuent d'expliquer à tout va que les pauvres « l'ont choisi¹ » et que s'ils faisaient des choix plus judicieux, ils pourraient être auto-suffisants — avec de la bouffe de merde, un boulot de merde, et un appart ou une maison de merde, certes, mais auto-suffisants quand même. Les personnes qui avancent ce genre d'arguments oublient généralement que la majorité des gens que je qualifie de pauvres sont aussi des gens qui ont une éducation qui laisse à désirer, et qui donc n'ont pas été formés à la recherche d'information. Ils ne savent même pas par où commencer à chercher. Parfois (souvent ?) ils n'imaginent même pas qu'il existe des tas d'aides pour des gens dans leur situation. Et quand finalement ils l'apprennent, c'est trop tard, et il faudra s'y reprendre l'an prochain (enfin s'ils n'oublient pas entre temps).

    [1] Ils n'ont pas choisi d'être pauvres bien entendu, mais ils « choisissent » de le rester. Quels cons ces pauvres ! Alors qu'il suffirait qu'ils se privent un peu plus pour pouvoir mettre de l'argent de côté et avoir une Rollex avant 50 ans… (je sais, je sais, j'exagère)

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 0.

    Et la partie où je dis « pauvreté ≠ misère », tu l'as lue aussi ? :) Ce que je dis c'est que même avec un toit, une personne qui a ~800 €/mois pour vivre, c'est une personne pauvre en France. C'est une personne qui survit à peine. Donc quand tu dis « quand t'as un PC et Internet, t'es pas pauvre » oui, ça me fait bondir.

  • [^] # Re: A quand l'arrêt de la vente à découvert

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 3.

    Machin dit plus bas que internet est equivalent au telephone ya 15 ans,

    Machin te dit merde.

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 0.

    Pour info, en Allemagne, un chauffeur de taxi sans diplôme fut chancelier. Juste le peuple est une peu différent, et vote différemment.

    C'était quand ? Parce que pour info, en France Bérégovoy était issu de la classe ouvrière et a été Premier Ministre. Je crois bien que c'est le dernier homme politique en France à avoir eu un poste très important de ce genre (très important pour moi : ministère de l'agriculture, des finances, de l'intérieur, des affaires étrangères, etc.).

    Les autres, si je ne me trompe pas, sont plus ou moins tous énarques, et ont au moins fait Sciences Po.

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 2.

    Ils ont acheté parce qu’ils considéraient que le prix proposé était honnête.

    Ben voyons. Quand on est « pauvre » (ou en tout cas pas bien riche), on paie ce qu'on peut pour se payer à manger, de quoi se vêtir, payer l'électricité, etc. Et ça, tu peux tenter de faire plein d'économies, mais si ta baguette te coûte 85 cts, ben elle te coûte ce prix, et c'est marre¹. Pour peu que ton boulot soit un peu loin, il faut payer les transports en commun ou bien entretenir son moyen de locomotion.

    et aussi que parfois c'est la chance

    So what ?
    Un monde sans hasard serait très triste. Je préfère d’ailleurs quelqu’un qui devient riche par hasard que quelqu’un qui devient pauvre par hasard.

    La redistribution des richesses est la aussi justement parce que, pour un « riche par hasard » (loto, mec qui crée sa boite pour un service qui finalement s'avère très lucratif, etc.), il y a sans doute (au pif) 10-100 « pauvres par hasard » (plan social, idée qui aurait du être lucrative, etc.).

    Selon les critères totalement débiles de l’INSEE, je suis un pauvre (mais oui, un pauvre avec un PC et internet ! allo ? non ? voyez toujours pas le problème de vos définitions ?)

    Là par contre, cette réflexion me donne envie de gerber [2]. Remplace « connexion Internet » par « téléphone » deux secondes. Rappelle-toi combien coûtait un abonnement pour une ligne fixe à FT il y a 10 ans (c'est pas si lointain). Regarde le prix d'un abonnement ADSL de nos jours. Tu vois pas un problème là ? Il y a 30 ans, des gens pauvres mais qui avaient quand même le téléphone, ça courait les rues. Ce qui me rend malade avec ce genre de commentaire, c'est que tu ne te rends pas compte que désormais, il est relativement facile de récupérer (gratuitement ou à très petit prix) un PC. Il sera merdique, la navigation web avec flash ou javascript (quasi-obligatoire de nos jours) rendra le tout sans doute super lent... Mais la connexion existera. Et cette personne pauvre pourra sans doute se permettre d'appeler sa famille sans rien payer de plus que son abonnement au net.

    Et là, bien entendu je te sors un cas que je connais relativement bien. Une personne, pas bien futée, pas très bien éduquée, qui, il y a quelques années, a fait un dépression (une vraie, pas une grosse déprime hein), et qui est sous tutelle. Elle a un revenu quasi-inexistant (~800€/mois je pense), ne peut s'autoriser absolument aucun plaisir. Nous (ma famille) lui avons offert le PC qui lui sert à se connecter au net. Elle est totalement isolée de tout, et a des ennuis de santé chroniques (qui l'empêchent pour de bon de bosser sur des périodes continues). Bref. Je passerai sur le fait que son ancienne tutrice était une connasse qui ne payait pas les factures en temps et en heures et faisait perdre encore plus de fric à quelqu'un qui était déjà dans le besoin. Elle n'est pas stable mentalement (elle n'est pas folle hein, mais pas très rationnelle non plus ...), n'a presque pas de revenus (heureusement elle est propriétaire), ne voit presque jamais ses enfants (qui vivent en Région Parisienne alors qu'elle vit dans le Loiret). Internet et surtout les appels téléphoniques illimités, c'est quasiment sa seule source de contact avec l'extérieur à l'exception des rares amis qu'elle a. Je te propose d'aller la voir et de lui expliquer qu'elle n'est pas pauvre.

    Des cas comme celui de cette personne, j'en ai « croisé » un certain nombre : quand on a une maman assistante sociale, ça « aide ». Et crois-moi, elle était la première à expliquer à des gens vraiment dans le besoin qu'ils n'avaient pas besoin de Canal+ en abonnement, et que ce serait mieux d'utiliser cet argent pour payer des cahiers & stylos aux gosses. Mais les offres des FAI pour le net sont presque toutes triple-play ou Internet+téléphone illimité. Le net est réellement un moyen pour certains de rester connecté avec des gens qui sinon nous deviendraient étrangers.

    Si ton laïus sur « je suis pas pauvre, regarde en Afrique, y'a plus pauvre que moi », je te rappelle qu'être pauvre ne signifie pas vivre dans la misère (des gens qui ont été ou qui sont pauvres autour de moi, j'en ai rencontré pas mal, à commencer par mon père).

    [1] Oui, je sais, t'es pas obligé d'acheter une baguette tous les jours, surtout si t'es pauvre, il faut se contenter de ce qu'on peut se permettre, bla bla bla… J'y reviens un peu plus tard.
    [2] Ça y est, nous sommes « plus tard ».

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 1.

    C'est exactement ce que font les USA (jusqu'à un certain point) : les mecs embauchés dans les supermarchés pour foutre les achats dans des sacs à la place du client bossent au moins à mi-temps pour un salaire absolument ridicule. Mais bien entendu, ça fait des chômeurs en moins.

  • [^] # Re: Bravo!

    Posté par  . En réponse au journal L'Europe a (enfin) interdit les CDS à nu. Évalué à 0.

    [carrément-hs]
    > Bref, faut arrêter de tout vouloir balancer à terre, les notes ont une raison, on en a à l'école (quoique... En Allemagne, il y a des écoles "libres" sans notes.

    Alors ça, j'attends de voir des sources — et merci de ne pas me sortir des « je vois ceux que j'ai autour de moi », parce qu'en France on a aussi des écoles/collèges/lycées « libres », que les gens que je connais qui en sortent ne sont pas plus cons que les autres (et pas moins capables). Par contre oui, ils ont plus de mal à se « conformer », dans le sens « c'est comme ça, ta gueule et obéis, c'est comme ça que la société fonctionne et si t'es pas content, c'est pareil ». Bref, ils ouvrent plus leur gueule. Au moins ceux que je connais.

    Je te renvoie aussi à la conférence gesticulée de Franck Lepage (que j'ai découvert ici), et qui parle vers la fin de son spectacle de l'université qu'il a fréquentée quand il était étudiant (et après avoir raté son année de Sciences Po), et qui explique que les notes ne sont pas le seul moyen d'évaluer le succès ou l'échec d'un individu...

    [perso]
    J'ai passé mon bac avec mention passable (donc pas de mention). Après avoir fini avec mon IUT (qui ne propose pas de mentions), je suis arrivé en école d'ingé (qui ne propose pas exactement de mentions non plus), où j'ai été un élève moyen/passable/médiocre (rayer la mention inutile). Ma première « vraie » mention, ça a été en master recherche. Tout simplement parce que ça a été quasiment le seul environnement où il ne s'agissait pas simplement de retenir par cœur tout un tas de trucs pour réussir l'exam¹. Bref, tout le monde ne répond pas de la même à l'éducation (et soyons bien clair, je faisais partie des « bons élèves » en collège/lycée, juste que ça m'emmerdait d'apprendre par cœur).

    [1] Oui je sais, en école d'ingé (et même en IUT!) on ne fait pas que ça, mais ça constitue toujours une grande part de la note au final.
    [/perso]

    [/carrément-hs]

  • [^] # Re: Symptôme != effet

    Posté par  . En réponse au journal Sur internet, que trouve t'on? duqu, duqu, duqu!. Évalué à -2.

    pff !

  • [^] # Re: bonne idée... mais

    Posté par  . En réponse au journal Vos papiers !. Évalué à 2.

    Dénonciation ≠ Délation.

  • [^] # Re: Génie

    Posté par  . En réponse à la dépêche Dennis Ritchie, un père d’UNIX, nous a quittés. Évalué à 1.

    Et voilà, c'est ce qui arrive quand on pense avoir posté la veille, et qu'en fait c'était encore en prévisualisation, et qu'on s'en rend compte le lendemain après avoir réellement posté...

  • [^] # Re: Génie

    Posté par  . En réponse à la dépêche Dennis Ritchie, un père d’UNIX, nous a quittés. Évalué à 3.

    strlcat, strlcpy te répondront tous tes amis férus de sécus qui ont eu à se coltiner strlncat et strncpy. ;)

  • [^] # Re: Gentil Googlee

    Posté par  . En réponse au journal Google+ a gagné ?. Évalué à 2.

    on n'entend rien des autres boites comme microsoft ou facebook qui préfère collaborer immédiatement avec les autorités et garder le silence

    Euh, tu veux dire comme Facebook qui a « collaboré » en Tunisie ?

  • [^] # Re: Encore le type Null...

    Posté par  . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 2.

    À ce niveau je n'essaie même plus de chercher un rapport avec les types; juste quel est le rapport entre algèbre et programmes. Et j'ai clairement souvenir avoir vu en cours qu'il y avait une correspondance entre théorie des groupes et théorie des graphes d'une part (donc que l'algèbre peut être utilisée sur des graphes représentant du code par exemple), et qu'une formule algébrique peut être représentée sous forme d'arbre d'autre part — et donc on peut manipuler un AST et lui faire subir tout un tas d'outrages^Wde transformations qui restent équivalentes au programme initial.

    C'est cool de me donner de la lecture cependant. :-)

  • [^] # Re: Encore le type Null...

    Posté par  . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 3.

    Ben visiblement il y a des confs/workshops concernant le sujet: Algebraic methodology and software technology.

    De plus je sais que presque tous les programmes peuvent être exprimés sous forme algébrique (l'algèbre étant définie en fonction du langage). Par exemple XQuery et les autres langages FLWR ont une algèbre bien définie pour exprimer des requêtes (là encore, ce sont des vestiges de mes cours datant d'il y a quelques années — en l'occurrence, de données semi-structurées & XML).

    Ce fichier PDF montre comment les AST sont utilisés pour l'analyse de programmes, du point de vue de l'analyse du flot de données (dataflow analysis). Ce genre de trucs remonte à loin, mais en gros si je peux toucher à un graphe, je peux du coup toucher à la théorie des groupes, et donc je peux d
    définir des relations algébriques entre diverses parties de mon graphe/AST. De façon générale, n'importe quelle relation algébrique peut être représentée sous forme d'arbre. Donc forcément, un AST peut être « traduit » en relation algébrique.

  • [^] # Re: Changement de règles

    Posté par  . En réponse au journal wikipedia: même les bots sont des Zélotes et ne veulent pas de vos contributions. Évalué à 3.

    Et pourquoi pas en référence « Journal TV de telle chaîne, tel jour, telle heure » ? Après tout, c'est une référence valide, non ?

  • [^] # Re: Encore le type Null...

    Posté par  . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 3.

    Oups, j'ai oublié de donner le lien (trouvé sur Wikipedia) : http://www.infoq.com/presentations/gosling-jvm-lang-summit-keynote

  • [^] # Re: Encore le type Null...

    Posté par  . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 3.

    Alors, pour info, je suis en train de regarder une vidéo où Gosling présente les origines de Java. Avant de faire des études, il a programmé et écrit (ou maintenu) plusieurs langages. Entre autres il a maintenu une implémentation de Simula.

    Sa thèse décrit comment considérer l'expression d'un programme sous forme algébrique (repris d'un de ses slides : « Code-as-algebra is awesome! »,: il a bossé sur les Arbres syntaxiques abstraits (AST)) [1]

    Gosling décrit Java comme étant une tentative d'obtenir un langage avec un « "scripting" feel », sans perdre trop en termes de performance. [2] Il parle ensuite d'introduire le loup dans la bergerie, en gardant une syntaxe à-la-C, mais en introduisant les bonnes idées d'autres langages (Lisp,Smalltalk,Simula,etc.). [3]

    Il dit que Java (et la JVM) est quasiment un copier-coller de Simula. [4]

    À propos des types : les types primitifs ont été uniquement introduits à cause des performances (pouvoir faire a = b + c en une instruction de la JVM). Malheureusement il ne parle pas des types mis à part ça.

    [1] 07:30
    [2] 26:30
    [3] 27:00
    [4] 42:00
    [5] 46:00

  • [^] # Re: Respect...

    Posté par  . En réponse à la dépêche Dennis Ritchie, un père d’UNIX, nous a quittés. Évalué à 4.

    Manque de bol, les hiéroglyphes étaient bien phonétiques. Tu confonds avec les idéogrammes.

  • [^] # Re: Encore le type Null...

    Posté par  . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 3.

    Pour commencer, je tiens à préciser que je me suis absolument pas un expert en lambda calcul ni en théorie des types/sûreté des types.

    Le terme "type-safe" peut désigner plusieurs choses.

    D’après mon prof de l’époque (ça commence à faire quelques années maintenant, donc si j'ai commis une imprécision, c'est ma faute, pas la sienne),

    La sûreté des types garantit qu'un programme ne peut jamais être dans un état indéterminé (eg un état "bloqué" ou rendre une valeur incorrecte que le type ne devrait pas permettre) à l’exécution.

    Donc, que celle-ci soit garantie à l’exécution ou à la compilation importe peu : un langage est type-safe s'il garantit cette propriété.

    Un langage comme Python est "type-safe" dans le sens où avant chaque opération, on effectue un test dynamique pour vérifier que l'opérande a bien la forme attendue. Ça évite les erreurs de langages moins méfiants comme C qui segfault rapidement si les types ne correspondent pas (ce que le système de typage, en plus, ne sait pas vérifier, en raison entre autres de l'habitude de transporter tout ce qui doit être générique dans un void *).

    Tout à fait. En ce qui concerne Java, il existe une sûreté des types à "deux niveaux" :

    1. Statique : tant que je reste dans le cadre des types non primitifs (instanciations de classes, donc tout ce qui peut se passer par référence), alors le transtypage n'est autorisé que s'il se passe d'une instance de classe particulière vers une instance plus générique, autorisé par une relation d’héritage (Object étant un ancêtre commun à toutes les classes) [1]. Oui, cela signifie bien que si j’écris quelque chose du genre :

    public class Test {
    
        static void toto(Object o) {
            String s = (String) o;
            System.out.println(s);
        }
        
        public static void main(String[] args) {
            Integer i = new Integer(1);
            String s = "toto";
            toto(s);
            toto(i);
        }
    }
    
    

    Le compilateur me laissera faire.

    1. Dynamique : le fait qu'on puisse transtyper d'un type "générique" vers un type plus précis mais appartenant à une autre sous-branche dans l'arbre d’héritage que celui d'origine fait que le runtime doit pouvoir attraper ce genre d'erreurs de type. Oui, cela a un coût. En même temps, en OCaml, le coût est dans le fait que pour pouvoir utiliser une fonction, il faut que je gère explicitement l’intégralité des types gérés par cette fonction. Faire le produit cartésien des types, c'est pas rigolo tous les jours si je suis cense gerer beaucoup de types dans ma fonction (c'est d'ailleurs pour ça que CDuce a été créé -- enfin, en partie : cf. les papiers dispos sur le site de CDuce à propos du sous-typage sémantique).

    Bien que le système de typage statique de Java soit incorrect, le langage est dynamiquement type-safe grâce au test dynamique qui est effectué à chaque écriture dans un tableau.

    Exactement. Tu dis que le typage statique est incorrect. Je ne suis pas d'accord. Il est conçu ainsi, ça ne le rend pas incorrect. A moins que lorsque tu parles "d'incorrect", tu ne veuille dire "laisse passer des comportements incorrects", auquel cas, oui, pourquoi pas, mais c'est connu, et "rattrapé" par le comportement du runtime.

    Bien sûr, il est difficile pour moi de prouver que James Gosling ne connaissait pas telle ou telle chose, puisque le fait qu'il n'en parle pas ne nous permet pas de savoir s'il le connaissait ou pas. Puisque tu sembles persuadé que Java a été conçu dès le départ avec un modèle théorique "rempli de lambda-calcul", peut-être as-tu eu accès à des documents sur l'histoire de Java qui en parlent ?

    Je n'ai jamais parlé de type-safety totalement statique. Je réagissais principalement au fait qu'Ontologia semblait considérer Java et Dart comme des langages/plate-formes qui n'avait pris aucune considération théorique en compte, ce qui est faux. Bien qu'il soit bien entendu surtout considéré pour une évaluation statique (surtout auprès des gens qui font dans la prog fonctionnelle j'ai l'impression), le lambda calcul n'est pas oblige d’être cantonne a une évaluation statique. Je me trompe ?

    Concernant la thèse de Gosling : j'ai simplement repris l'info depuis Wikipedia. Maintenant, la manipulation algebrique de contraintes, c'est peut-être (sans doute) pas lie a la sûreté des types, mais c'est clairement applicable a la compilation !

    [1] Evidemment, passer par la réflexivité et l'introspection permet de casser la sûreté des types en Java, mais c'est consciemment que le programmeur utilise ces outils.