darkleon a écrit 376 commentaires

  • [^] # Re: langue

    Posté par  (site web personnel) . En réponse à la dépêche Des alternatives à grep, ls et find. Évalué à 2. Dernière modification le 22 mars 2018 à 20:37.

    Oups, je me corrige sur le calcul des 100 greps : 156 ko x 100 = 15,25 Mo + 2,7 Mo <~ 18 Mo
    L'ordre de grandeur de comparaison liason statique/dynamique n'est pas bouleversé :-)

  • [^] # Re: langue

    Posté par  (site web personnel) . En réponse à la dépêche Des alternatives à grep, ls et find. Évalué à 5.

    Ok la comparaison liaison statique et liaison dynamique est encore plus injuste si on multiplie les processus.
    100 gop = 390 mo
    100 grep = 11 mo + 2,7 mo
    En plus ce sont des bibliothèques de base, donc quasiment tous les processus os ont du les ouvrir.

    Pour le clin d'oeil des cartes perforées, je suis très content d'avoir du matériel moderne sur mon bureau. Mais force est de constater qu'on fait pédaler toute cette puissance dans la choucroute.

    On ne va pas acheter une baguette à la boulangerie du coin avec un 38 tonnes.

  • [^] # Re: langue

    Posté par  (site web personnel) . En réponse à la dépêche Des alternatives à grep, ls et find. Évalué à 2.

    Pas plus que le % de couverture de code par les tests.
    En plus, quand je pensais code mort, je pensais plutôt a des fonctions inutilisées d'une bibliothèque (ou carrément d'une bibliothèque linké alors qu'aucune méthode n'est utilisée).

    Plutôt que des bouts de code inaccessible (un "if" toujours à false par exemple) qui tombe dans le "problème de l'arrêt" qui est indécidable et donc aucune méthode ne sera parfaite pour éliminer ce genre de code mort.

    Si un programme "Hello World" qui ne demande qu'un "printf" se retrouve lié statiquement avec une bibliothèque de plusieurs Mo, pour le coup, c'est du code mort facilement éliminable en liant uniquemnt "printf" et ses fonctions dépendantes.

  • [^] # Re: langue

    Posté par  (site web personnel) . En réponse à la dépêche Des alternatives à grep, ls et find. Évalué à 1.

    C'est quand même dommage dans un monde ou on automatise tout (intégration continue, usine logicielle) que la compilation finale pour "RELEASE" ne se fasse pas avec la suppression de tout le poids mort (au moins le code mort, voire les informations de debug).

    Et puis même si on a de super SSD et de la RAM, ça fait une différence de temps entre charger, trouver le point d'entrée et exécuter 100ko et 4Mo.

  • [^] # Re: langue

    Posté par  (site web personnel) . En réponse à la dépêche Des alternatives à grep, ls et find. Évalué à 8. Dernière modification le 22 mars 2018 à 14:56.

    gops fait 3,9 Mo chez moi

    N'empêche que les outils deviennent un peu trop obèses à mon goût, quand on parle de plusieurs méga-octets. J'ai l'impression que le rapport signal/bruit devient ridicule.
    gops qui fait 3.9Mo, c'est seulement 250 fois plus que le zx81-16k ou 4x plus que l'Amiga 500 (ou atari 520 st, ou 286 ou mac, ou ce que vous aviez à l'époque avec 1Mo …) ou 12% de la RAM de mon premier PC pentium, et tout ça pour lister des process ! XXXXXXXXXX

    Quelques exemples en ligne de commande C (et encore si on compare au zx81, c'est déjà abuser, vu que ce sont des process qui ne font que des opérations mémoire, I/O et console en flux).

    Sur une RHEL 7.2 "de base"
    ls -lh /usr/bin/ps
    -rwxr-xr-x. 1 root root 98K Aug 2 2017 /usr/bin/ps
    ls -lh /usr/bin/top
    -rwxr-xr-x. 1 root root 105K Aug 2 2017 /usr/bin/top
    ls -lh /usr/bin/htop
    -rwxr-xr-x. 1 root root 161K Jul 24 2016 /usr/bin/htop
    ls -lh /usr/bin/ls
    -rwxr-xr-x. 1 root root 115K Sep 7 2016 /usr/bin/ls
    ls -lh /usr/bin/grep
    -rwxr-xr-x. 1 root root 156K May 27 2017 /usr/bin/grep
    ls -lh /usr/bin/find
    -rwxr-xr-x. 1 root root 195K Jun 1 2015 /usr/bin/find

    Une comparaison avec un autre domaine, 4Mo, c'est la taille du Roman de Victor Hugo les misérables sur le projet Gutenberg, + de 500.000 mots et 2000 pages.
    M'étonnerait que GOP face 2000 écrans 80x25 en code.
    (exemple inspiré de cet article : http://idlewords.com/talks/website_obesity.htm )

    XXXXXXXXXX Je suis très content d'avoir 8Go de Ram chez moi et au boulot, ainsi que des SSD performants et une résolution graphique HD (pas encore 4K :-) ), j'apprécie grandement l'évolution des performances brutes du matériel.

    Mais bon, quand on met en perspective, 4Mo à l'époque des 16bits, c'était de la mémoire de "workstation" (ça serait 16-32Go aujourd'hui) et des films d'animations 3D ont été réalisés sur ce genre de matériel, et maintenant, ça serait juste suffisant pour lister des process ?

    Après je fais le constat comme beaucoup de gens (cf article website_obesity) et je le déplores, mais le "Time To Market" fait qu'on surconsomme les ressources hardware (et les applications ne sont ni mieux, ni plus performantes, ni plus rapides à développer, juste avec plus de vocabulaire pipo-bimbo marketing pour vendre du service/support).

  • # Impossible de choisir pour un vrai fan de SF

    Posté par  (site web personnel) . En réponse au sondage Votre univers SF / Space opéra préféré. Évalué à 1.

    J'ai mis "autre" parce que j'aime tout ce qui a été cité dans le fil de discussion.
    Quand on aime, on ne compte pas, mais j'ai un coeff [0,1] de kitsch selon les séries :-)

    Quand à 2001, c'est ce film qui a crée le terme "Space Opera" dans le sens œuvre musicale avec des scénes.
    Ce sont plutôt des Space Saga qui sont proposées.

  • [^] # Re: But

    Posté par  (site web personnel) . En réponse à la dépêche Projet Lumberjack. Évalué à 1. Dernière modification le 08 mars 2012 à 16:14.

    @sifu
    Techniquement, je suis d'accord avec toi, la manipulation de fichiers XML, c'est lourd et inefficace.

    Qui des outils de filtres directement sur cette DTD/XMLSchéma spécifique, parce que se palucher un fichier XSLT pour faire un "grep INFO", ça va un peut me casser les pieds.

    Et tous les outils graphiques d'analyse de ces logs vont passer par DOM ou XPath, si les logs sont trop gros, ils ne seront plus possibles de les ouvrir (je sais logrotate toutça, mais c'est un paramètre en amont de la production des logs, je fais comment si les logs ont été mal paramétrés).

    Heureusement, le format XML choisit est assez simple et permettrait l'utilisation de SAX pour le traitement en "flux".
    En fait, c'est la balise racine qui nous emm..de, comme elle crée un conteneur autour des événements, il faut tout charger.

    Il faudrait un format 1/2 XML, pas de balise racine, mais uniquement une succession de blocs pour un événement formaté, mais rien n'est prévu dans ce sens par XML ou SGML, ce qui fait que ce ne sont pas les formats plus adaptés.

    Et comme dit un autre message plus bas, le format XML est très fragile quand on insère un XML dans un autre XML, je peux vous dire que dés qu'on commence à taquiner du [CDATA[ ]] ou qu'on applique plusieurs XSLT à la suite, je ne vous dis pas les résultats sur les & transformés en & amp; et autres joyeusetés (déjà je n'ai pas réussi à écrire la syntaxe exacte CDATA dans la saisie de post, et je ne peux pas écrire & amp; collé).
    Les transformations ne sont pas consistantes, on ne peut pas protéger une balise contre l'extension par rapport à un autre. C'est un joyeux merdier.

    Formater les logs pour les rendre résilients aux conneries : OUI (mais comment, la chasse au troll est lancée)
    Utiliser le XML qui par définition est résilient aux conneries (sauf autre langage ..ML inséré dans une balise): mouais, y a du mieux par rapport au vieux système, mais on perd beaucoup trop en KISS (outils de filtrages spécialisés à ajouter à l'OS ou paluchage XSLT)

  • [^] # Re: L'anglais n'est pas la seule langue mise en avant par « nos dirigeants »

    Posté par  (site web personnel) . En réponse à la dépêche Est‐il démocratique, adapté et rentable que l’anglais soit la langue internationale ?. Évalué à 1.

    Ou tout simplement parce que la France a un droit de véto au conseil de sécurité et ça lui permet de demander des choses personnalisées/extravagantes (+ une bonne partie de population francophone dans le monde).

  • [^] # Re: Recouvrement

    Posté par  (site web personnel) . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à -1.

    On est d'accord sur
    - On ne peut pas présager de la génération de code assembleur de son programme de "haut-niveau"
    - Il faut bien avoir un verrou un jour ou l'autre.

    A part déléguer cette partie à une fonction de OS qui peut avoir du joli code assembleur pour tes verrous mitonnés à la mimine, on tourne en rond si on veut des performances ^^

  • [^] # Re: Recouvrement

    Posté par  (site web personnel) . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 0.

    En fait tu crée un thread de modification de mémoire qui s'appuie sur une queue spécifiant quelle variable et de combien tu veux la modifier.
    Certes tu ne pourra pas avoir d'accès concurrentiels à ce thread, chaque demande de modification devra attendre que la fonction d'ajout d'un élément à la pile se libère.
    Mais au moins, il n'y a pas d'accès concurrentiels sur la valeur elle même.

    Où alors on part dans l'assembleur avec les instructions CAS et assimilées, je ne vois pas comment rendre un CAS transparent (dépendant de l'architecture du processeur) dans un langage de haut niveau.

  • [^] # Re: Recouvrement

    Posté par  (site web personnel) . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 0.

    Il faudrait demander à un spécialiste de l'assembleur, mais il me semble que l'instruction finira de s'executer même si une interruption est déclenchée.

    Mais ça pourrait ne pas empêcher l'entrelacement des accès mémoires avec plusieurs processeurs, encore que sur les procs modernes, il y a un contrôleur mémoire pour plusieurs core, donc ça devrait marcher.

  • [^] # Re: Recouvrement

    Posté par  (site web personnel) . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à -1.

    En assembleur x86, il y a un mode pour travailler directement sur la mémoire sans passer par les registres, en cherchant sur "le ternet" j'ai trouvé cet exemple
    add BYTE PTR [var], 10 — add 10 to the single byte stored at memory address var

    Mais bon, si le compilateur C optimise comme un pied, tu te retrouveras avec plusieurs instructions.

    Il me semble que le 68k a des instructions équivalentes.

    Par contre les premiers risc "pur" doivent charger la valeur dans un registre, faire l'opération, puis renvoyer la nouvelle valeur en mémoire, ce que tu décris.

    ça peut marcher, mais comme les compilateurs C n'apportent aucune garantie sur la séquence d'instructions assembleurs générée, seulement que cela fera bien ce qui est décrit.
    Par exemple sur HP/UX en ~95, j'avais voulu tester le nombre d'instructions qu'il pouvait executer en // (c'était la mode des architectures superscalaire).
    J'ai juste fait une boucle qui incrémentait 5 variables (ça sert à rien, mais a 100mhz, j'avais 500 mips ^^).
    Et pourtant en -04, j'avais 7 lignes d'instructions, et sans optimisation une trentaine de ligne. Ce qui m'avait marqué en -O4, c'est que le test de boucle était écrit avant la dernière incrémentation, le compilateur de HP était capable de réordonner les instructions pour maximiser l'utilisation du pipeline et de la latence de décodage et d'execution. Mais les 2 versions me renvoyaient les mêmes résultat à la fin.

  • [^] # Re: Recouvrement

    Posté par  (site web personnel) . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 0.

    J'aime bien, mais ça va dépendre du code assembleur généré par ton compilateur et de ton CPU.

    En plus sur du multiproc, avec les latences mémoires, le temps que le proc n°1 lise la variable fasse la soustraction et la latence pour réecrire la valeur, il n'est pas dit que le proc n°2 ne fasse pas un accès interlacé entre temps.

  • # Et si un thread se fait toujours voler l'accès mémoire ?

    Posté par  (site web personnel) . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 1.

    Imaginons X thread qui doivent modifier la même variable.
    Imaginons que le premier thread mette trop de temps à faire ses calculs, selon la règle du premier qui comit gagne, le second vole son tour, le premier thread relance sa routine, et paf le 3éme thread lui vole son tour, ad libitum...
    Si le programme tourne 24/24 en faisant une rotation sur ses X threads, on se retrouve avec l'équivalent d'un dead lock, non ?
    Maintenant, si on sait que les X thread mettront un temps fini, ils finiront par "attraper le train", mais on pourrait se retrouver avec des threads qui font le traitement X-1 fois (voir +oo dans le cas d'un service 24/24).

    Autrement ça à l'air génial comme technique, mais il y a toujours un mais...

  • [^] # Re: Recouvrement

    Posté par  (site web personnel) . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 1.

    Mais d'ans l'exemple de la banque on calcule un delta€, on pourrait avoir un troisième thread "pile" dont la seule fonction est de prendre un delta€ et de faire l'opération avec le montant.
    Du coup, quelque soit l'ordre d'execution du delta1(ajout) et delta2(retrait), ils seront appliqués de manière séquencielle.
    Et pour vérifier que le montant est "stabilisé", il suffit de vérifier que la pile sur ce montant est vide.
    Bon pour cet exemple c'est simple ^^ (où alors je n'ai rien compris, ce qui est "probabilistiquement" possible ^^)

  • # Plus puissant (i3->i7), toujours fanless, mais un peu plus cher

    Posté par  (site web personnel) . En réponse à la dépêche le Linutop 4, nouveau PC sans ventilateur. Évalué à 2.

    J'ai acheté récemment un boitier tranquilpc iXl (fanless avec un gros radiateur d'ampli)que j'ai fait équiper d'un corei3@2,5ghz 35W TDP (possibilité de i5 et i7, mais j'ai pas osé niveau température), j'en ai eu pour 600€ frais de ports et taxes de douanes comprises.
    www.tranquilpc.co.uk
    http://www.tranquilpcshop.co.uk

    J'ai ajouté séparément 8Gio de Ram et un SSD 64Gio (si vous en avez un, ne faites pas la même erreur que moi, la plaque du dessus que l'on doit enlever pour accéder aux composants est fixée au radiateur par 3 vis planquées entre les ailettes du radiateur, il y a 2 autres vis sous le boitier aussi, mais celle là elles sont visible, j'ai faillit arracher le caloduc en me trompant).

    Avant ça, j'utilisais un giada N10 slim, très joli design, mais un atom même double coeur, ce n'est pas assez puissant avec les OS de 2011 (sauf pour la vidéo, le nvidia ion me décompressant les vidéos en hardware sous linux). Et puis surtout, les petits ventilateurs de cgfx suraigüe, c'est insupportable.

    Franchement, maintenant que je n'ai plus une pièce mécanique, je constate l'absence de bruit !!!!!! Enfin !!!!! (j'ai eu des ordinateurs fanless de 81 à 94, enfin je retourne au fanless).

    Honnêtement, ça devrait dans la réglementation de l'ergonomie au travail de n'avoir que des postes de travail fanless, la différence de bruit dans une salle serait énorme (style quand on part après les autres et qu'on éteint toutes les machines).

  • [^] # Re: Questions naïves

    Posté par  (site web personnel) . En réponse à la dépêche IPv4 est mort, vive IPv6 !. Évalué à -1.

    T'as du 'achement te renseigner avant de poser la question :)
    Effectivement, mais pourquoi lire ce p%*$@n de manuel quand on peut lancer un troll poilu pour avoir une réponse plus rapide et plus argumentée que google :-D
  • [^] # Re: Questions naïves

    Posté par  (site web personnel) . En réponse à la dépêche IPv4 est mort, vive IPv6 !. Évalué à -1.


    Il va peut-être falloir apprendre que retenir une adresse IP c'est du masochisme. Est ce que vous retenez des adresses MAC, des hash MD5, SHA256, des UUID et des MessageID ? Non ? Et alors ? Pourquoi retenir des adresses IP ? Surtout qu'on à inventé un petit protocole appelé DNS pour éviter ça.


    Pour les adresses IP, c'est bien pratique quand tu n'as pas déclaré de nom de domaine ou dans un intranet pour tester les connexions avant de les enregistrer dans le DNS, ou pour vérifier que le problème ne vient pas du DNS justement.
    Généralement dans un intranet, tu as les 2/3 premiers octets qui sont toujours les mêmes, donc pour retenir une machine, tu ne retiens que le dernier octet (oui, parce que nos normes de nomages sont encore plus compliqués que retenir une adresse IP).

    La différence avec les exemples cités, c'est qu'ils sont tous générés automatiquement, alors que l'IP est choisie (quand on a un sous réseau à soit).
  • [^] # Re: Questions naïves

    Posté par  (site web personnel) . En réponse à la dépêche IPv4 est mort, vive IPv6 !. Évalué à -4.

    Et autre chose, c'est quoi fondamentalement le problème d'utiliser 128 bits ? Qu'est-ce qui te dérange là-dedans ?

    Premièrement et surtout
    C'est franchement une norme pour les ordinateurs et pas pour les cerveaux humains, 8 paquets de 4 chiffre hexa, on est au delà de la mémoire moyenne d'un humain moyen (qui retient 5 à 7 groupes d'information par grand beau et vent arrière).

    Deuxièmement
    2^64 ~ 1,85E19 adresses (dix milliards de milliards, ce qui fait des centaines de millions d'adresses pour chaque humain vivant).

    2^128 ~3,4E38 adresses (centaines de milliards de milliard de milliards de milliard), c'est du foutage de gueule, sauf à avoir une densité très faible dans la répartition des adresses, ce qui va être le cas vu leurs plans de diviser en 64bits de poids fort et 64 bits de poids faible.

    Avec 2^64 bits, c'est 4milliards fois plus d'adresse que 2^32bits, on avait largement la place de tenir jusqu'à ce qu'on communique entre planète lorsqu'on aura colonisé la galaxie, et au vu des technologies de communication et de transport sub-luminiques actuelles, c'est à dire jamais.

    Donc ce que je reproche au 128bits, c'est que c'est "hypergiga overkill" et anti-mémorisation, histoire d'être absolument sûr de devoir passer par un DNS pour communiquer entre ordinateurs et avoir un point de contrôle du réseau.
    En diminuant un poil les plages réseau/sous réseau/hôte, on pouvait obtenir la même souplesse en 64bits.

    Je suis quasiment certain que la quantité totale de RAM sur tous les ordinateurs (embarqués+ordi+consoles+box+téléphone+pda+supercalculateur) de la planète ne dépasses pas 2^64 bits.
  • # Questions naïves

    Posté par  (site web personnel) . En réponse à la dépêche IPv4 est mort, vive IPv6 !. Évalué à -2.

    Premièrement sur la compatibilité IPv4/IPv6, ça aurait été trop dur dans la norme IPv6 de dire que les 2^32 adresses possibles sont en fait IPv4 ??? (ou un autre préfixe)
    Exemple: 192.64.192.64 devient 0000:0000:0000:0000:0000:0000:C040:C040

    C'est franchement une norme pour les ordinateurs et pas pour les cerveaux humains, 8 paquets de 4 chiffre hexa, on est au delà de la mémoire moyenne d'un humain moyen (qui retient 5 à 7 groupes d'information par grand beau et vent arrière).

    64 bits auraient été beaucoup plus raisonnable, 4 paquets de 4 chiffres hexadécimaux, ça se rapprochait des 4 octets de l'IPv4 pour la mémoire.

    Je ne suis pas du tout convaincu par l'explication du h ratio pour démontrer qu'on avait ABSOLUMENT besoin de 128bits.
    Surtout qu'on gaspille de manière stupide les 64 bits de poids faibles.
    Je vois mal un FAI/organisation/particulier avoir besoin de 2^64 adresses.
    Alors que faire un ratio 40 bits/24bits, ça laissait plein de réserve, 2^40 adresses pour les pour les réseaux * 2^24 sous réseaux.
    Au boulot, on avait /12 adresses, et on ne les a jamais mais alors jamais saturées et on s'est étalés comme des malades. D'ailleurs on a été réduit à /11 adresses au renouvellement du contrat (récupération des plages non utilisées).
    Avec 2^40 bits de poids forts, ça nous laisse ~1100 milliards de sous réseaux de 16 millions de machines.
    Au pire si on a besoin de plus de 16 millions de machines on prend 2 sous réseaux!!

    64bits utilisés de manières plus compressés aurait été largement suffisant, 128bits, c'est pour faire internet dans la galaxie avec toutes les races alien de star trek et star wars réunis.
  • [^] # Re: GPL encore

    Posté par  (site web personnel) . En réponse à la dépêche Les problèmes de licence de WebM résolus. Évalué à 4.

    un fork non libre n’est pas une fuite : l’original est toujours là.

    Qui entretien l'original ?
    Si c'est l'auteur original qui crée un fork pour en faire une activité commerciale, toutes les corrections ne seront pas forcément basculées sur la version libre.

    On sait tous qu'un projet ne vit que par le nombre de ses contributeurs, si une partie ne veut plus jouer le jeu, ça baisse mécaniquement la qualité de l'ensemble.

    Si on met en rapport avec l'article qui montre que plus on partage la connaissance, plus on accélère l'acquisition de connaissances et la résolution des problèmes.

    Donc pragmatiquement et éthiquement, la GPL est la licence la plus adaptée si on veut que l'informatique progresse.

    Si on a toujours l'idée de commerce derrière la tête, il faut faire du BSD (soit pour faire adopter ses standards, soit pour être racheté plus tard), même si à la base, la BSD est plus libre, elle est plus "abusable" aussi.

    Sorti de là, c'est trollesque puisque ces licences n'ont pas le même but, commerce Vs idéaux.
  • [^] # Re: Microsoft va-t-il LIBÉRER .net ?

    Posté par  (site web personnel) . En réponse à la dépêche Tomboy vs Gnote. Évalué à 2.

    d'autant plus que tes exemples, Python, pour comparer à LINQ, voilà quoi. C'est pas possible de l'envisager dans Python, par nature : Python est un langage dynamique.

    Euh a priori (en dehors des perfs [qui vont s'écrouler]) tu peux toujours ajouter une surcouche dans un un langage dynamique pour faire de l'inférence de type même si ce n'est pas un mécanisme par défaut.
    Python supportant les pointeurs sur les fonctions et les expression lambda et les types anonymes, ces points là ne sont pas des contre indications non plus.

    Apparement, il y a dejà des briques qui permettent de le faire le même genre de truc en Python, ce n'est peut êre pas aussi "policé" que LINQ, mais il n'y a pas de contre indication technique pour le faire.
    http://www.aminus.org/blogs/index.php/2008/04/22/linq-in-pyt(...)
    http://sayspy.blogspot.com/2006/02/why-python-doesnt-need-so(...)

    Je ne dis pas ça pour argumenter mais pour comprendre si j'ai loupé un truc au passage sur les concepts des langages.

    Lambda expression
    Pareil, pas de vérification de contrat de signatures sur les types (philosophie non java).
    ??? Tu peux expliquer ???


    Tant qu'à faire, je répond à cette question aussi.
    La philosophie JAVA est d'être le plus descriptif possible pour éviter les erreurs d'interprétations par un humain du code.

    Comme une fonction lambda est une fonction inline, si je reprends la déclaration C#
    del myDelegate = x => x * x;
    Note que ton expression marchera pour les types numériques de base. Si tu crée ta classe de nombres complexes, il faudra surcharger l'opérateur "*" pour que ce code marche.

    Si tu te limite à un type, tu devra déclarer obligatoirement les types dans ta fonction qui sera déclarée dans une classe:
    int mul(int x)
    double mul(double x)
    sachant que les deux fonctions pour java sont totalement dichotomiques, elles ne prennent pas les mêmes paramètres (signature de fonction différente)

    Tu ne peux pas avoir de type anonyme dans la déclaration d'une fonction dans JAVA. Il faut déclarer tous les types des variables en entrée ou en sortie.
    Au mieux, ça sera si tu ne veux pas limiter la hiérarchie d'objets.
    Object carre(Object x) {...};
    et il faudra faire de l'introspection sur x pour connaître la bonne fonction a appeler, ça sera fait au runtime, et ne pourra pas être "précalculé" à la compilation.

    Bref 5 pages de codage avec une syntaxe illisible au lieu d'une ligne, tu auras un mécanisme carrément moins performant, donc ça supprime tout l'intérêt de vouloir avoir des fonctions anonyme à type anonymes en JAVA.
  • [^] # Re: Microsoft va-t-il LIBÉRER .net ?

    Posté par  (site web personnel) . En réponse à la dépêche Tomboy vs Gnote. Évalué à 2.

    Même si on a un peu trollé, ça m'a obligé d'aller voir d'un peu plus près la doc MS sur les points forts de C# que tu nommais.

    Puis aller chercher les contre argumentations et les "work around" en java.

    ça donne toujours des idées, et je serais un peu moins ignare.

    Rien que pour cela, j'ai apprécié l'échange.
  • [^] # Re: Microsoft va-t-il LIBÉRER .net ?

    Posté par  (site web personnel) . En réponse à la dépêche Tomboy vs Gnote. Évalué à 2.

    Quand je lis ce genre de truc, je passe en
    mode avocat du diable

    Apparament, le clavier était blo

    -->[]
  • [^] # Re: Microsoft va-t-il LIBÉRER .net ?

    Posté par  (site web personnel) . En réponse à la dépêche Tomboy vs Gnote. Évalué à 3.

    Ok, tu es plussé, tu as plus raison que moi :-)
    La génèse:
    http://www.experiencefestival.com/a/microsoft%20.net%20-%20h(...)

    En fait c'est un labo MS qui avait fait des proto en J++ car le langage leur permettait de développer plus rapidement, du coup, ils en ont fait un autre estampillé MS only, .NET

    Ils avaient quand même bien fait la promo WORA (write once run anywhere) à l'époque, il parlait de migrer Office en .NET rapidement pour le déployer facilment sur plusieurs OS.