Ontologia a écrit 2122 commentaires

  • [^] # Re: Article plus technique et plus intéressant par ici

    Posté par  (site web personnel) . En réponse au journal Mes impressions des Microsoft TechDays 2008. Évalué à 2.

    La dernière fois que ça m'est arrivé, on était connecté avec un modem 56k et une installation d'xp original tout juste installée. J'ai du télécharger un antivirus dans l'urgence. Il nous a peu près protégé pendant le téléchargement du service pack 2 qui a pris un temps fou.
    Il y a encore des endroits en France où on a pas l'adsl.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: boulets

    Posté par  (site web personnel) . En réponse au journal France-Inter : Peut on se passer du monopole de Microsoft. Évalué à 3.

    Euh, non je les ai trouvé assez efficace en terme de comm' : il reprenait tout les griefs qui peuvent inquiéter l'utilisateur de base, sans entrer dans l'intégrisme barbu qui fait fuir pas mal de gens.

    Les auditeurs étaient assez synthétique dans l'ensemble.

    Je pense que suite à cette émission, il y en a pas mal qui vont switcher. Va falloir suivre dans les forums de l'émission pour expliquer comment acheter un dvd ubuntu, etc...

    (bon c'est fait j'ai mis le lien http://www.ubuntu-fr.org/telechargement )

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Article plus technique et plus intéressant par ici

    Posté par  (site web personnel) . En réponse au journal Mes impressions des Microsoft TechDays 2008. Évalué à 2.

    Mauvais exemple...
    a) La plupart de leur code est en C/C++, pas Objective C

    Merci de l'info, je savais pas. Cela dit le codeC, c'est la couche Unix, c'est normal.
    Mais il me semble que l'ensemble de l'interface (Cocoa est en Objective C) n'est pas en c++


    b) Comptes le nombre de vulnerabilites dans Mac OS X, bien plus que dans Linux ou Windows.
    Je t'invite a aller regarder http://secunia.com/product/96/?task=advisories_2007 et clicker sur les advisories qu ont dans leur titre "multiple vulnerabilities", tu seras effare par le nombre de bugs qu'ils ont.


    Soit, ces compte rendu de sécurité me fond doucement marrer.
    J'ai un linux et un mac chez moi, et même devant le firewall, j'ai jamais d'antivirus à installer, j'ai jamais eu de problème.
    Le seul que j'ai eu, c'est un squid que j'avais laissé trainé et qui a été utilisé -> fichier de config -> plus de pb.

    Il m'est arrivé plusieurs fois d'installer des XP, une fois un Vista (la personne voulait essayer, et puis moi aussi je voulais voir), si t'as le malheur de le laisser 5 mn sans protection, il est tout de suite cramé. Bon, Vista, un peu moins c'est vrai, mais une fois installé l'antivirus a tout de suite trouvé quelque chose alors que ça faisait 15 mn qu'il était branché sur le net....

    Oui je sais, Windows couvre 95 % des utilisateurs, donc il y a plus de saleté qui traine.
    Mais ce sont des faits.
    Alors comparer celle qui a la plus grosse... moi je suis pragmatique, je juge sur pièce.
    Et sur pièce, de par mon expérience, Windows est une passoire, désolé.
    Un système qui se prend un virus au bout de 5 mn de connexion, chose que j'ai constaté plusieurs fois par moi même, tu me diras ce que tu veux, moi j'appelle ça une passoire.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Mysql c'est mieux

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de PostgreSQL 8.3. Évalué à 2.

    Idem pour moi. Je vais utiliser Postgre quand je vais lui demander des requêtes très complexes, genre des divisions relationnelles ou des imbrications à quatre niveau. J'ai fait tout un système d'extractions de tableau de bord assez complexe avec la base d'une gestion de production, je ne l'aurai jamais confié à Mysql.



    Sinon, pour faire select nom from client where id = 34, là mysql est souvent plus indiqué.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Article plus technique et plus intéressant par ici

    Posté par  (site web personnel) . En réponse au journal Mes impressions des Microsoft TechDays 2008. Évalué à 3.

    Je suis vraiment admiratif devant les techniques de fou utilisée par Microsoft pour transformer leur passoire d'OS en système sécurisé.
    Le plus génial c'est le nouveau vista, noyau séparé, drivers en userland, firewall intégré. sans compter le système de sécurité pour empêcher l'utilisateur de faire nimporte quoi :
    <clic sur word>
    "Ce logiciel risque de provoquer des invulnaribilité dans votre système, êtes vous sur"
    Oui, Non
    <clic sur oui> (passablement énervé déjà)
    "Vous êtes vraiment sur ??"
    Oui, Non

    Kernel panic


    Non sans rire, ce n'est que mon avis, mais si windows est une passoire, c'est un problème de complexité. C'est l'impression que j'ai eu en lisant le code de Windows 2000 qui s'était promené sur le net.
    Microsoft recrute les meilleurs dev (en se les partageant avec google en fait), ya que des cadors. Le problème est que ces brillants ingénieurs savent pas penser simple.
    C'est hyper dur de penser simple contrairement à ce qu'on croit, et surtout quand on est un excellent ingénieur, intellectuellement au dessus du niveau, c'est très facile de penser complexe. Ce que je dis est le fruit de mon expérience personnelle dans le métier.
    Penser simple, c'est savoir axiomatiser, ie. découper un problème en un petit nombre d'axiome simple, aller vers le minismalisme.

    J'ai une théorie, quand je regarde Mac OS X et windows (qui ne sont pas comparables certes) : Apple a eu l'intelligence d'utiliser un langage très intelligent, ObjectiveC.
    Autant C++ est pourri car consitué d'autant de couche sédimentaire que l'administration française, autant ObjectiveC est un petit langage super bien pensé qui a la génialissime idée de mettre toutes les fonctionnalités du type SmallTalk dans une petite VM minuscule quand le code critique au niveau perf est écrit en C.
    Résultat, design de l'archi beaucoup plus propre, moins de complexité => moins de bugs.

    Car il faut le rappeler, plus un code est gros et complexe, plus il a de chance de comporter des anomalies, c'est humain. L'histoire du type chargé de faire les boutons d'arrêt de vista, qui a passé 6 mois à parcourir pleins de commissions devrait inquiéter Microsoft...
    Je me demande quel va être l'impact de C# dans l'équation, ni son importance (en pourcentage dans Vista)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: voyages sncf

    Posté par  (site web personnel) . En réponse au journal Mes impressions des Microsoft TechDays 2008. Évalué à 2.

    Vu que ça risque de faire concurrence à leur (la SNCF) site garni de pub, j'y crois pas trop. Surtout que ça fait pas longtemps que la SNCF ne perd pas trop d'argent...

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Very short list for desert island

    Posté par  (site web personnel) . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 2.

    Je vous conseille les enregistrements de Wladimir Horowitz, surtout ceux de la fin de sa vie.
    Il a enregistré une Balade N°1 absolument magistrale, à telle point que je suis incapable d'en écouter une jouée par un autre pianiste. C'est bien simple, ça m'est insuportable. J'écoute cet enregistrement, une fois l'an, car il est trop parfait pour être écouté trop souvent.

    Son dernier disque, quelques semaines avant sa mort en 1989,"The last recording", est fabuleux de sagesse, il y joue une étude 6 op.25 absolument parfaite de tact, de retenue et d'élégance, qui concentre tout ce qu'était l'idéal "Chopinesque".
    Les commentaires qu'on trouve ici ne sont pas usurpés http://www.ciao.fr/The_Last_Recording__114285
    Cet album est parfait, à écouter absolument.

    Les nocturnes par Samson François sont aussi mangnifique.

    Par ailleurs je conseillerai, outre l'inévitable Requiem de Mozart, les sonates de piano du même jouées par Glenn Gould. Un grand moment.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: "scout" thread ?

    Posté par  (site web personnel) . En réponse au journal Sun Rock : Les détails arrivent. Évalué à 4.

    Regardes le succès des RISC par rapport au x86 (qui est compatible avec une archi de plusieurs dizaine d'année).

    Certes, mais reconait que les compilo sont assez nuls pour le moment... Ca fait combien de temps que GCC sait faire une analyse de flot du pauvre ?
    C'est sure que faire de l'analyse de flot avec un langage comme C, c'est assez utopique

    Oui peux être dans un contexte monotache genre dsp, mais dans un contexte multitâche le compilo ne maîtrise pas du tout ce qui est en cache, quand le flow va être interrompu par un context switch, ...

    Bah justement, c'est là qu'on pourrait utiliser les archi multi-coeur, pour éviter au maximum de faire des contexts switch... Quand on a 8 coeurs, et bientôt le double, voire le quadruple, on a quand même la possibilité d'y penser. Surtout que c'est une tendance qui va s'installer dans les années à venir.

    Et de toutes façon, je peux t'assurer que de manière général, et sans se spécialiser sur un processeur, il y a beaucoup de choses à faire niveau compilation.
    Je me suis amusé, sur du code C à jouer à intervertir certaines instructions commutatives dans des boucles critiques (merci gcov) pour mutualiser les read/write. Ca améliore nettement les performances, et il ya clairement plein de choses de ce genre à faire, tout en restant portable : La plupart des processeurs du marché vont 10 fois plus vite que la mémoire, et gérer ça, ça peut énormément aider..

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: "scout" thread ?

    Posté par  (site web personnel) . En réponse au journal Sun Rock : Les détails arrivent. Évalué à 5.

    Plus je lis de docs, posts, débat, sur ces techniques d'incantations vaudoo sur le code, plus j'ai l'impression qu'on ferait mieux de s'attarder sur le compilateur. Ceux qui me connaissent me voient venir, mais c'est plus général comme problème :

    Parce qu'il faut regarder les choses en face : plus ça va, plus de transistors sont utilisés pour "réécrire" du code mal écrit par le compilateur. Tous ces transistors consomment, et n'exécute pas du code, et mis ensemble permettrait surement de faire un coeur de plus, un dsp, du cache supplémentaire, que sais-je....

    Un bon compilateur, du moment qu'il sache avec exactitude quel processeur cible il doit attaquer, est capable de préparer le out-of-order lui même.

    Alors après, comment gérer le multitâche, la gestion d'état de celui-ci ? Je ne sais pas jusqu'où le compilateur peut aller, mais surement beaucoup plus loin qu'actuellement.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Tentative d'explication

    Posté par  (site web personnel) . En réponse au journal Spécialiste de l'informatique banquaire.... Évalué à 3.

    Le courtier se contente de mettre en relation acheteur et vendeur.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Tentative d'explication

    Posté par  (site web personnel) . En réponse au journal Spécialiste de l'informatique banquaire.... Évalué à 6.

    Ahhh, c'était donc bien toi : http://duoandco.blogspot.com/2008/01/la-vrit-sur-la-socit-gn(...)

    Je me disais qu'il n'yen avais pas 36, des LézardBreton ;-)

    Au passage, je vous conseille cette source très informée. On comprend pas tout, mais beaucoup de chose quand même.

    Il y a quand même un truc très bizare : J'ai du mal à comprendre comment les responsables de la SG ont pu ne pas voir que leur banque détenais plus de 50 % des futurs de DAX. Un trader expliquait ce matin sur Inter qu'il voyait bien que la SG possédait trop de titre (plus de 70% !) et que ce n'étais pas normal.
    http://www.capital.fr/actualite/Default.asp?source=AO&nu(...)

    La banque raconte que Kerviel leur aurait servi un faux, et qu'il s'en serait satisfait. Soit ils sont incompétent, soit ils ont trempés !


    A suivre...

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Evènement marquants

    Posté par  (site web personnel) . En réponse à la dépêche Solutions Linux 2008 du 29 au 31 janvier. Évalué à 2.

    La secte GCU va probablement inventer une action d'éclats dont ils ont le secret, une bonne âme aurait-elle la bonté d'immortaliser (en vidéo, si possible) cette action militante indispensable ?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: SVG+JS vs FLash - Requiem

    Posté par  (site web personnel) . En réponse au journal Un < canvas > rigolo. Évalué à 3.

    Pas sûr, sur mon macbook (Core Duo 1, 1,8 Ghz), sous MacOs X, je reste à 45 % de load pour 16 blob. A noter qu'un core est utilisé à 95 %, tandis que l'autre travaille à 30 %.
    Et tout cela en en dépassant un maximum.

    D'après le shootout language, Javascript est légèrement devant Ruby : http://shootout.alioth.debian.org/gp4/benchmark.php?test=all(...)
    à 49% plus lent que c++ qui est premier

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: langage ?

    Posté par  (site web personnel) . En réponse au journal Future Combat Systems. Évalué à 4.

    J'ai eu un collègue qui était informaticien à l'époque sur la base de Kourou; Il nous as un jour révélé que les informaticiens travaillant sur cette centrale inertiel sentaient bien qu'elle allait leur péter entre les doigts, à cause de la trop grande puissance d'Ariane 5. Ils s'en étaient ouvert aux autres informaticiens travaillant par sur le projet.

    Le problème vient en réalité d'un problème financier, une fois de plus : Les actionnaires d'Arianespace sont en même temps ses clients.
    Les actionnaires ont donc fait pression pour que la fusée soit lancée au plus vite, car ils commençaient à faire moins de bénèf sur la vente de fourniture de composant pour Ariane 4.

    Disclaimer, ce n'est qu'un "on dit" rapporté par un collègue, un midi, autour d'un sandwich, j'ai jamais vérifié la véracité de ces informations..

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Un exemple de code

    Posté par  (site web personnel) . En réponse au message communication entre fork() via un tableau en mémoire. Évalué à 2.

    Tu n'aurais pas un exemple de code à nous proposer, un dump des sorties ...?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Puisqu'on à le droit de rêver...

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce qu'un outils de développement de rève ?. Évalué à 4.

    Je vais pas sortir la blague de l'éditeur de l'éditeur qui crache le code tout seul (tiens on pourrait, ya une news sur un nouveau méta-truc, Acceleo), mais imaginer un rêve pragmatique.

    Ayant récemment changé de taf, et travaillant maintenant avec des collègues réèlement compétent, je découvre tout ce qu'Eclipse a dans le ventre, et c'est vrai que l'on peut automatiser pas mal de choses, à condition d'aimer les interfaces à la clicodrome+Emacs qui oblige à se tordre les doigts avec des control+alt+shift+backspace+fin/whatever (c'est ce que j'aime pas dans Emacs).
    Faut avouer que c'est puissant comme outil.


    - Il y a plein de chose qu'un éditeur pourrait deviner avec une bonne IA, dans une logique "je détecte un comportement répétitif, je propose de le généraliser". Typiquement, les comportement primitif du genre "l'utilisateur tappe à partir de
    boolean b1,b2,b3,b4;
    un test comme suit :
    if (b1) {
    } else if (b2) {
    }


    L'IDE me proposerai de généraliser l'écriture

    La plupart du temps, quand c'est vraiment trop lent à le faire à la main,je sort un script perl.


    - Un système permettant de poser des contrats et trouver des contre exemples, comme dans Esterel...

    On en a pas mal discuté, mais vu les difficultés, il faudra longtemps avant que l'on en dispose pour Lisaac.


    - C'est plus un problème de langage, mais pouvoir rejouer un morceaux de programme,dans les mêmes conditions, après 1 heure de calcul, ça serait génial.
    Il parait que c'est possible en caml, mais c'est son approche fonctionnel qui le permet surement. Quoique certaines implémentations de smalltalk le fond aussi.
    Cela dit, dans certains cas, enregistrer l'état de la mémoire du programme répondrai peut être au problème, mais bonjour l'explosio, de la consommation.



    - Pouvoir mettre un scope sur une variable, plus exactement d'avoir un historique de ses états successifs, et un pointeur vers la ligne où elle a été modifiée. C'est un peu un concept de programmation orienté aspect, mais en c'est parfaitement implémentable en debug.
    Avec un système de regexp permettant un filtrage, pour ne pas se coltiner une liste trop longue de modifications.


    - Poser des questions

    Lorsqu'on débug, c'est surtout trouver le petit bug qui ennuie tout le monde qui pose problème.
    Un système de requêtage serait génial, il permettrait de demander quel branches de code peuvent impliquer que telle collection a été vidée. Quel est la relation entre telle ou telle variable. Ce dernier point permettrait de détecter que deux listes différentes contiennent des éléments identiques au niveau référence (même pointeurs) et que modifier l'élément dans une le modifie dans l'autre.


    - Visualiser un graphe d'appel en 3D



    Mes deux centimes.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Résumé du journal supprimé

    Posté par  (site web personnel) . En réponse au journal Un journal a été supprimé !. Évalué à 2.

    Le journal était resté dans un de mes onglets. Il y avait une url de proposé : http://eikke.com/wp-content/uploads/2008/01/lots_of_buttons.(...)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Résumé du journal supprimé

    Posté par  (site web personnel) . En réponse au journal Un journal a été supprimé !. Évalué à 4.

    Oui bon, c'est un peu moins négatif que ça.

    Le sujet qui m'intéressait, c'était de constater dans l'exemple, qu'on avait une fenetre de config, avec les boutons, : annuler, ok, appliquer, fermer, revenir à la configuration par défaut.

    Ce qui fait beaucoup.

    Je disais que sur MacOS X, il n'y avait que le bouton revenir à la configuration par défaut. EN effet la philosophie est simple :
    sur ma télé, je n'ai pas de bouton Ok,annuler,appliquer quand je monte le volume.

    Je me demandais aussi quel était sémantiquement la réelle diffférence entre Ok et appliquer, Ok appliquant peut être plus tard le réglage.

    Un des commentaires intéressant répondait que la différence entre Ok et appliquer était que Ok ferme la fenêtre, appliquer servant à tester pour essayer son réglage.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: Plusieurs problèmes avec tes primitves

    Posté par  (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 2.

    Tu met le doigt sur un problème que je n'avais pas vu, tout à la définition de mon sous-marin muni de sa cohérence intrinsèque. Je suis heureux de ta réponse, car c'est un peu ce que j'esperais en le publiant ici :-)
    En fait, tu relèves que mon modèle ne permet pas de définir un code déterministe.

    Pourquoi cette erreur ?
    - Parce que je mélange une sémantique axiomatique et une sémantique opérationnelle
    - Parce que je n'ai pas vu que si j'utilisais certes mes contrats sur variable pour définir des compréhensions d'ensemble, je n'ai pas vu que sémantiquement on peut tout faire, et surtout n'importe quoi.

    Donc que faire ?

    J'en ai discuté avec Benoit (Sonntag, l'auteur de Lisaac), qui m'a conseiller de regarder la [[Méthode_B]].
    J'en suis donc venu à étudier les possibilités de la méthode B évènementielle qui "colle" à peu près ce que je veux faire.

    Mise à part que la syntaxe est absolument immonde (on ferait mieux de lui substituer une syntaxe du type OCL), le B évènementiel permet de définir des variables, définir leur ensemble d'appartenance et l'ensemble des états de l'automate. Le compilateur B permet de vérifier de la cohérence logique du modèle pour ensuite générer le code correspondant.

    Le problème est qu'il est impossible de mélanger les deux sémantique, à moins qu'on ai la certitude qu'il n'y ait pas d'interférence entre elles (un cas valide pourrait être le fait que le passage à un état implique un appel d'une fonction graphique, qui ne renvoi rien et ne modifie pas l'état interne de l'automate).

    Pour ceux, que ça intéresse, un cours assez clair ici : http://www.lri.fr/~paulin/B/poly002.html

    Une perspective envisageable serait d'adapter les primitives de B évènementiel, avec éventuellement quelques sucres syntaxiques pour modéliser les états d'agent comme je les ai introduit ici.

    En tout cas, encore merci, et je vais réfléchir à tout cela :-)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: C'est trop compliqué !

    Posté par  (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 2.

    Pour compléter ce qu'a répondu Nicolas, le compilateur se contente d'inliner le code C inclu dans le code Lisaac. Genre si tu met un commentaire C, tu retrouvera le commentaire dans le fichier .c produit...

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: C'est trop compliqué !

    Posté par  (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 2.

    Même réponse que plus haut. Il suffit de réécrire un autre back-end afin que le compilateur crache du code pour une VM quelconque (ce que tu veux, JVM, LLVM, CLI), et surement avec de meilleurs perfs qu'avec le même code en Java ou C# (c'est pas dur).

    Le problème de sécurité serait donc réglé.

    Je crois que tu n'as pas du tout compris ce qu'est ce compilateur : Il permet de compiler un langage objet à prototype, avec très peu de primitives. En réécrivant le parseur, on pourrait lui faire compiler assez facilement du Java.

    Ensuite, ce compilateur travaille en interne, sur un mini langage, extremement minimaliste (une dizaine d'instructions), qui sera ensuite traduite en C.
    Tu peux réécrire la traduction afin qu'elle produise ce que tu veux, du Java, du bytecode, de l'ASM, du Brainfuck.

    Donc le problème ne se situe pas là, et comme le relevait plus haut Yusei, tu critiques effectivement l'implémentation actuelle, et pas les concepts :

    le compilateur Lisaac permet de faire énormément de chose, y compris de répondre à tes problèmes de sécurité.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: C'est trop compliqué !

    Posté par  (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 2.

    Rien ne montre effectivement qu'il n'est pas possible de cibler une machine virtuelle en Lisaac.

    SmartEiffel propose de produire du bytecode pour la JVM.
    Il en a de même été question dans nos discussions de faire de même avec le compilateur lisaac. Il y a à ce titre plusieur approche :
    - Une qui fonctionne déjà, mais vraiment tordu : il 'sagit de compiler le .c produit par lisaac pour produire du binaire mips, qui est transformé en LLVM, puis en bytecode JVM. Ca marche à peu près, mais c'est trop tordu.
    - Produire du bytecode JVM. C'est quelques semaines de travail, faut voir avec les autres priorités
    - Produire du java, en mettant tout le code dans une grosse classe Main. Ca aurait en plus l'avantage de pouvoir s'interfacer avec d'autres libs en java. Le truc qui dérange Benoit, c'est l'absence d'entier signé en Java, ça lui pose des problème, mais à part ça, c'est pas très difficile à faire, surtout que la gestion de la mémoire serait beaucoup plus facile

    La 2ème question à se poser c'est la pertinence de certains choix fait dans Lisaac, notamment le côté "simple" de la grammaire permettant d'augmenter facilement les constructions syntaxique (simuler une boucle for while ou un autre truc innovant). C'est joli, bandant... oui mais pourquoi Java ou C# ne propose pas ce genre de chose ? (c'est pas une nouveauté en soit)

    Java et C# ne le proposent pas, parce que c'est très dur à compiler, même quand tu fait du JIT.
    S'il le faisaient, les performances s'écrouleraient.

    De plus, par suivisme, et pour ne pas choquer les programmeur et ainsi faciliter (à l'époque) la transition C/C++ -> Java, le parti pris a été de proposer une syntaxe très proche du C.

    Ces deux facteurs ont impliqué que ce genre de possibilités n'existent pas, et qu'on est donc obligé de grossir la grammaire pour en proposer certaines.


    En limitant à l'aide de mots clés (for while foreach, etc.) les constructions les plus courantes, on limite certes la concision et l'expressivité, mais on améliore aussi la compréhension du code par une autre personne. C'est probablement ce qui a fait une partie du succès de Java. Beaucoup d'autres simplifications également. Ce qui apparaît comme des contraintes pour un "universitaire" est en fait un atout dans la vraie vie. Lever ces contraintes comme le propose Lisaac élimine une qualité essentielle d'un code source. Et dans le mondre du libre on devrait être attaché à cet aspect.


    Il est vrai que cela peut être à double tranchant.
    Cela dit, en ce qui nous concerne, on y réfléchit très murement avant de mettre une construction nouvelle dans la librairie standard.
    Il est même question de les normaliser, afin de les rendre prévisible (genre quand une fonction rend une collection, on aura toujours une fonction proposant de boucler sur cette liste, avec un nom de fonction prévisible de par la première)

    de plus, on essaye d'avoir des noms de fonction claires, et la syntaxe à mot clé y aide.
    macollection.foreach { // code }; until { //condition}; se comprend très vite

    Et on ne modifie pas impunément une librairie standard, je connais peu de gens qui prennent ce genre de risque, même quand c'est "pas grave" et qu'ils peuvent se le permettre.

    Une machine virtuelle c'est pareil. En apparance c'est une érésie, les perfs s'en ressentent largement. Seulement les avantages sont aujourd'hui beaucoup plus important que les inconvénients (sécurité, portabilité, productivité, etc.) dans beaucoup de scénarios d'utilisation.

    Voir plus haut. Et j'aimerai que tu me cites les constructions de Java, qui utilisent ces fameuses plus value de la VM...

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: C'est trop compliqué !

    Posté par  (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 2.

    Ce qui est marrant avec toi, c'est que lorsque je me demande combien je vais avoir de commentaires à mon journal/news, je fais +/- 20 % de commentaire selon le facteur TImaniac ;-)

    J'aime beaucoup ta vision d'ingénieur borné. Tu es surement très compétent dans ton domaine, dans ton travail, bref dans la technique, mais tu as de grosses lacunes en informatique théorique.
    Ta vision est néanmoins très utile car elle me permet de mettre le doigt sur ce qu'il reste à faire pour faire de Lisaac un langage ayant au moins une audience honorable (quelques milliers, voire dizaines de milliers d'utilisateurs ?)

    Pourquoi ais-je un ton publicitaire ?

    - Parce que j'y crois, et te prierai de ne pas me casser mes rêves ;-)
    - Parce que le compilateur est effectivement révolutionnaire :
    Pas mal de chercheurs (Chamber, David Ungar et Randall Smith par exemple) et en partie ceux qui sont à l'origine de java (des techniques utilisées dans la JVM pour être plus précis), ont travaillé sur les langages objet à prototype (Self créé en 1986), dans l'objectif d'obtenir des perfs avec ces langages. Ils n'ont jamais réussi, mais ont considérablement amélioré les techniques, en particulier celle du [a href="http://en.wikipedia.org/wiki/Just-in-time_compilation)"]JIT[/a].
    Ungar et Smith ont finit par tenter de faire un système d'exploitation entièrement écrit en Self, sans grands résultats.
    Devant l'échec de ce rêve la plupart des chercheurs ayant travaillé sur le problème (qq dizaines de personnes tout de même) ont laissé tomber.

    Le compilateur Lisaac est révolutionnaire, parce qu'il a réussi à réaliser ce rêve :
    - Un langage de haut niveau aussi rapide, voire plus que le C
    - Un langage système permettant d'écrire un OS, sans nécessiter autre chose que quelques lignes d'assembleur.

    Je te rappelle que les [a href="http://isaacproject.u-strasbg.fr/li/li_benchs.html"]benchs[/a] montrent qu'on peut être plus rapide que du C avec 40% de lignes de code en moins.
    Alors effectivement, toi, ingénieur d'informatique de gestion, tu t'en tapes des perfs, et c'est normal. J'y travail aussi, et je sais bien qu'à quelques rares exceptions, c'est pas primordiales. Et de toutes façon, il faut de la lib, des framework, des communautés, une grosse boite, etc...


    Donc pour répondre à ta question
    une liste des atouts de Lisaac qui pourrait en faire un langage sexy face à l'existant

    Pour le moment, pour être réaliste, elle s'adresse principalement aux codeur des domaines de l'embarqué, des système où le C est obligatoire.
    Lisaac apporte pour ces gens là :
    - Un langage de haut niveau
    - Des perfs dignes du C
    - Une librairie de base (qui va grandir) proposant pas mal de service (parce qu'une table de hashage en C pour de l'embarqué, bonjour...).



    Il est vrai que la TODOliste est encore énorme, et ce compilateur deviendra de plus en intéressant :

    - De meilleur optimisations : il reste beaucoup d'optimisation de code encore possible, et Benoit compte s'y remettre dans les mois à venir. Je ne citerai pas toutes les idées de Nicolas Boulay, mais des idées comme sortir les invariants des boucles, écrire les boucles de sortes qu'elles soient optimisée par l'autovectorisation de GCC, faire en sorte que les données soient toujours dans le cache processeur L1, etc...
    - La capacité de produire du code très petit en taille, en factorisant le code commun (encore une proposition de Nicolas)
    - De nouvelles fonctionnalités, comme COP, les contrats sur les variables, les types inconnu que l'on peut utiliser dans une méthode, etc...

    De même la lib va grossir :
    - Le traducteur Eiffel-> Lisaac sera terminé dans quelques mois
    - Les étudiants de L3 à l'université de strasbourg planchent sur un traducteur Java->Lisaac, qui nous permettra, en travaillant bien, de disposer de pas mal de librairie dans les 5 prochaines années


    Alors, c'est vrai TImaniac, Lisaac ne se veut pas un concurrent de C#/Java, Lisaac n'est pas tuné pour plaire à l'industrie, Lisaac.

    Oué mais bon y'a aussi beaucoup de branlette intellectuelle là dedans. Ca me gène pas en soit, c'est fort intéressant et il en découle souvent des applications pratiques plus qu'innovante. Mais sa façon de présenter les choses donne sérieusement envie de le remettre (Ontologia) les pieds sur terre, la réalité de Lisaac aujourd'hui comparé aux autres langages. Lisaac a sûrement pleins d'atout, mais il n'est pas universel et n'a pas tous les atouts réunis des autres langages et ne peut mon sens pas prétendre tous les remplacer.

    Ne prend pas ton cas pour une généralité, tout le monde n'est pas ingé dans le domaine de la gestion, avec des oeuillères certes parfaitement adapté à ton métier et ta carrière, mais empêchant de voir ce qui pourrait devenir une nouvelle "mode" dans 15 ans.

    Alors, effectivement, comme Smalltalk en 1973, Lisaac n'est pas industrie-friendly, c'est clair, peut être qu'il ne restera qu'un prototype de recherche, mais il a un énorme potentiel, et je veux au moins tenter l'aventure.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: C'est trop compliqué !

    Posté par  (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 2.

    Je pense qu'il est temps de recentrer un peu le débat, car on s'éloigne un peu. Tu disais que du moment qu'on a un langage Turing complet, on peut prouver ses programmes. Or, tout langage Turing complet permet de produire des programmes dont on ne peut pas prouver la terminaison avec quelque chose de la même puissance qu'une MT.

    C'est, il me semble, une application du théorème d'incomplétude de Godël.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • [^] # Re: C'est trop compliqué !

    Posté par  (site web personnel) . En réponse au journal Des langages de haut niveau. Évalué à 2.

    Oui, je suis d'accord.

    D'aileurs, on aurait jamais du inventer la locomotive à vapeur, parce qu'une carriole tirée par des chevaux, c'est beaucoup plus simple.
    C'est vrai ! C'est compliqué une locomotive à vapeur ! Tout ce jeu complexe de température, de pression, d'étanchéïté...

    Les inventeurs de cette machine auraient du arrêter tout de suite !

    Tiens mais pourquoi ont-ils continués ?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker