Ontologia a écrit 2122 commentaires

  • [^] # Re: Les trous de lIsaac

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

    Pour le premier point, c'est tout simplement parce que le concepteur de Lisaac, considère que les mots clés du type break, etc... permettent à de très mauvaises habitudes de se développer.

    Le return car cela permet de faire quitter la fonction en plein de milieu de celle-ci, ce qui est très mauvais. Le break, car tu sort d'une boucle n'importe comment.

    J'évite d'utiliser ce genre d'ecueuil dans mon code, au début ça a été dur, mais au final, ça me simplifie la vie au debugging (moins de surprise).

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

  • [^] # Re: En passant...

    Posté par  (site web personnel) . En réponse au journal Matthew Szulik démissionne. Évalué à 2.

    Alors oui j'oubliais : les impôts que paye cette boite dans le pays où elle est basée :-)

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

  • [^] # Re: En passant...

    Posté par  (site web personnel) . En réponse au journal Matthew Szulik démissionne. Évalué à 2.

    En passant toujours, Red Hat emploi beaucoup de monde en Europe, Inde, etc...
    Je n'en disconvient pas. Je pensais plutôt aux bénéfices accordés aux actionnaires :-)

    Comme quoi la mondialisation ce n'est pas le mal absolu.
    Je ne me sens pas visé :-)

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

  • # En passant...

    Posté par  (site web personnel) . En réponse au journal Matthew Szulik démissionne. Évalué à 2.

    Savez vous que 90 % du business OpenSource s'effectue aux états-unis, alors qu'une grande partie des contributeurs se trouvent dans le reste du monde (et pas mal en Europe) ?

    Ca laisse rêveur non ?

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

  • # Alors j'ai essayé...

    Posté par  (site web personnel) . En réponse au journal FlightGear en version 1.0. Évalué à 2.

    ...et je crois qu'il ne faudra jamais me laisser un avion entre les mains !

    Après 3 essai infructueux, j'ai essayé un "Lightening". Le tutoriel m'explique comment lancer le machin. C'est très compliqué, il faut mettre pas mal de bouton sur ON avec des intitulés bizarre (pas si bizarre que ça, ayant travaillé dans une boite sous-traitante de constructeurs aéronautiques, je retrouve quelques mots dont je ne comprenais pas le sens).

    J'arrive à démarrer l'avion, problème, dès le départ, avec le pilotage à la souris, je dévie légèrement l'angle de celui-ci... et sort très vite de la piste.
    FlightGear est gentil, il me permet de décoller en roulant en plein champ, abattant les arbres sur mon passage (sans abimer le fuselage de l'avion).

    J'abaisse le manche à balai, il décolle, et je me retrouve à peut être 1000 mètre d'altitude.
    A partir de là ça se gate, le coucou devient très vite instable, j'ai du mal à le maintenir.
    On voit rien, et c'est difficile de se concentrer sur le manche, hyper sensible et dont tout écart peut vite devenir catastrophique, et essayer de trouver un endroit où se poser.

    Je finis par ne plus réussir à le controler, il se met à vriller, je stabilise comme je peux, mais rien à faire.

    A un moment, ne sachant pas si je monte ou descend, je me plante sur le sol.

    Il est gentil, il n'explose pas, au moins je ne suis pas trop vexé :-)

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

  • [^] # Re: Cahier des charges ?

    Posté par  (site web personnel) . En réponse au journal Windev, qui es tu ?. Évalué à 2.

    Oui, mais par expérience, pas plus lent que Windev...

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

  • # Sémantiquement

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.

    D'un point de vue sémantique, une erreur qu'est-ce que c'est ?

    Une erreur est un comportement non désiré du programme par rapport à la spécification. Elle peut avoir plusieurs sources :

    - Les données ne sont pas exactement structurée comme prévu
    - Une erreur de logique traine dans le code
    - La conception architectural est mal pensé (bugs les plus graves)
    - ...

    Les erreurs que l'on rencontre dans notre métier, sont essentiellement du à la sémantique opérationelle des langages de programmation que l'on utilise.
    Ils se réduisent tous à une sémantique simple :
    - Transfert d'une donnée en mémoire vers un autre endroit
    - Calcul arithmétique sur une donnée en mémoire
    - Test conditionnel sur l'état d'une donnée en mémoire.

    Avec ça, on fait tout (langage procédurales, objets, fonctionnel, à contraintes, ...

    La logique devient bien vite énorme, et l'équation grandissant, le risque d'avoir un problème non prévu augmente, puisque le nombre d'état augmente tout autant.

    Qu'est-ce qu'une fonction ? Un outil permettant de rendre déclaratif un sous ensemble du programme, de sorte à découper la complexité en petit bout pour pouvoir l'aborder.
    Il arrive souvent que l'on croit que le code est déclaratif, voire commutatif (ie l'ordre d'exécution de 2 fonctions n'est pas important), et se rendre compte qu'en fait, non..

    Tout ça pour dire, que même avec des outils du genre exceptions, contrats, qui ont chacun leur avantages et inconvéniant, on attaquera jamais le noeud du problème.

    Le noeud, c'est de s'élever sémantiquement avec un langage ne se réduisant plus à la sémantique décrite plus haut, mais se rapprochant plus d'un langage de spécification déclaratif.

    Quoi ? J'en parlerai bientôt en ces pages.

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

  • [^] # Re: Célèbre ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Ruby on Rails 2.0. Évalué à 4.

    On rentre dans des questions de goûts et de couleur.

    Personnelement, étant assez tête en l'air, je préfère avoir un compilateur hyper chiant, qui ne m'autorise absolument aucun écart, aucun code "dangereux" et me garantit donc aucune surprise.

    C'est la garantie de ne pas passer des heures à debugger des conneries.

    Parce que passer 1 journée à debuguer un truc que j'ai écrit en moins d'une heure, ça m'est arrivé, et c'est très frustrant, sans compter qu'il faut faire avaler la pilule à ton chef, qui le prend pour de l'incompétence pur.

    Les langages non typés ne me dérange pas, mais à condition qu'ils ne soient pas dynamiquement typés, hors PHP l'est :-(

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

  • [^] # Re: Célèbre ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Ruby on Rails 2.0. Évalué à 1.

    En lisaac, je me suis amusé à faire aussi

    - foreach_while cond:BLOCK do action:BLOCK

    qui exécute la fonction action sur la liste, tant que cond renvoi vrai, pour l'élément.

    de même :

    - foreach_until cond:BLOCK do action:BLOCK

    plus marrant, on a écrit une méthode sur la lib INTEGER, qui permet de faire des espèces de compréhensions

    1.to 50 items {i : INTEGER ; i*2} do {
     j : INTEGER;
     j.print;
     " est pair\n".print;
    };

    En gros on lui donne l'ensemble de départ, une fonction, et il parcours le block en calculant la compréhension.
    Bon c'est à améliorer..

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

  • [^] # Re: Célèbre ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Ruby on Rails 2.0. Évalué à 2.

    ça vaut ce que ça vaut, mais d'après shootout, Ruby est quelques peu plus lent que PHP :
    http://shootout.alioth.debian.org/gp4/benchmark.php?test=all(...)

    A ajouter au fait qu'il n'y a pas de module apache Ruby, qu'il est nécessaire de rajouter un serveur, c'est peut être là un problème de montée en charge qui a impliqué cette réputation ? Ce pourrait être une hypothèse..

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

  • [^] # Re: Célèbre ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Ruby on Rails 2.0. Évalué à 5.

    Ben je sais pas comment tu te débrouille car depuis la version 5 de PHP le modele Objet est bien meilleur
    Oui, sauf que contraîrement à Ruby, PHP n'es pas totalement objet :
    Tu n'as pas de type Block en Php, c'est à dire que tu ne peux pas (à ma connaissance) définir de blocs de contrôle dans la librairie du langage.

    En ruby, comme en Smalltalk ou en Lisaac, times est une méthode d'un entier auquel tu passes un block, c'est à dire une fonction qui prend en argument un entier et exécute le code :

    3.times do |it|
     puts bonjour("petit canard")
     puts it
    end

    C'est à mon avis un des principaux intérêt de Ruby.

    (Après, et je peux pas m'en empêcher, ça va quand même beaucoup moins loin que Lisaac, mais ne crachons pas dans la soupe, c'est un très beau langage, et surtout une très bonne idée)

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

  • [^] # Re: Non

    Posté par  (site web personnel) . En réponse au journal L'effroyable imposture 2. Évalué à 4.

    et cela se vérifie en ce qu'il fréquente maintenant des gens qui étaient auparavant parmi ses bêtes noires (extrême-droite, négationnistes).
    Comme M. Soral, écrivain, ancien communiste tendance rouge, et soutien de Jean-Marie Le Pen lors de la dernière présidentielle.
    (par ailleurs membre du Comité central du Front national).

    Tiens d'ailleurs, une assez grosse notice exite sur lui sur Wikipedia, mais je ne sais pas si elle objective bien sûr :
    Alain_Soral

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

  • [^] # Re: changement tous les 3 mois

    Posté par  (site web personnel) . En réponse au journal Le changement de password pue du rond. Évalué à 2.

    Dans ma boite, (que je quitte et mon compte vient d'être totalement supprimé, donc je peux le dire), le mot de passe est "0+0 égale la tête à ....".

    Sérieusement, il ya des entreprises où on permet de mettre des mots de passe un peu trop simple...

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

  • [^] # Re: Freedom Bat Reader

    Posté par  (site web personnel) . En réponse au journal PDF 1.7 est un standard ISO !. Évalué à 0.

    Ya d'ailleurs un morceau anthologique de haine anti française sur slashdot, à mourir de rire :

    http://slashdot.org/comments.pl?sid=379981&cid=21582461

    ARTHUR:
    If you will not show us the Grail, we shall take your castle by force!
    FRENCH GUARD:
    You don't frighten us, English pig-dogs! Go and boil your bottom, sons of a silly person. I blow my nose at you, so-called Arthur King, you and all your silly English k-nnnnniggets. Thpppppt! Thppt! Thppt!
    GALAHAD:
    What a strange person.
    ARTHUR:
    Now look here, my good man--
    FRENCH GUARD:
    I don't wanna talk to you no more, you empty headed animal food trough wiper! I fart in your general direction! Your mother was a hamster and your father smelt of elderberries!
    GALAHAD:
    Is there someone else up there we could talk to?
    FRENCH GUARD:
    No. Now, go away, or I shall taunt you a second time-a!
    [sniff]
    ARTHUR:
    Now, this is your last chance. I've been more than reasonable.

    On dirait du Monthy Python dans Sacré Graal ;-)

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

  • [^] # Re: plop again

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 10.

    Q : D'ailleurs comment choisi-t-on d'utiliser un type d'arrondi plutôt qu'un autre ?

    R : Franchement je crois que tout le monde s'en fout mis à part deux trois psychopathes obsedés par ieee :)


    Oui mais si ces psychopathes écrivent des centrales inertielles pour une fusée spatiale, ou un avion de chasse ?
    Plus sérieusement, j'imagine qu'il y a plein d'applications où ce genre de choses ont leur importance ?

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

  • [^] # Re: Meta-object protocol?

    Posté par  (site web personnel) . En réponse à la dépêche CodeWorker 4.4. Évalué à 1.

    Un ami travaillant pour MMA Assurances par exemple. J'avais eu comme prof un des principaux chef de projet de cette boite, et ils utilisent smalltalk depuis assez longtemps.

    Il nous racontait d'ailleurs que ces développeurs grinçaient des dents lorsqu'il s'agissait de repasser à Java, tellement ils se sentaient étriqués dans ce langage...

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

  • [^] # Re: Meta-object protocol?

    Posté par  (site web personnel) . En réponse à la dépêche CodeWorker 4.4. Évalué à 1.

    Mouais... Le principe de séparer le code en fonctions appelable consiste à rendre le code déclaratif à certain endroits.

    Le type Block de smalltalk/ruby/lisaac permet de faire plus de chose, mais il n'en reste pas moins que la sémantique opérationnelle, ie. effet de bord sur des données en mémoire, reste une sémantique du comment faire.

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

  • [^] # Re: Meta-object protocol?

    Posté par  (site web personnel) . En réponse à la dépêche CodeWorker 4.4. Évalué à 1.

    Je suis entièrement d'accord avec toi.

    Mais le problème, c'est qu'il y a M. Le client.

    M. Le client, il veut du java/J2EE, parce que c'est la mode et qu'il trouvera très facilement un développeur pour reprendre et faire vivre son application.
    M. Le client, quand il a une appli en C/C++, il veut pas qu'on la recode en autre chose (trop cher), ou qu'on la mixe avec des bouts codés dans un langage mieux (parce que ça tue la cohérence).

    Donc on code avec des langages plus ou moins merdiques...

    C'est sur que si on codait dans un langage à la smalltalk/ruby/lisaac, on aurait beaucoup moins de problèmes, mais dans la vrai vie, on n'utilise pas ces langages là.

    donc on est obligé d'avoir des outils comme CodeWorker...

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

  • [^] # Re: ...

    Posté par  (site web personnel) . En réponse à la dépêche CodeWorker 4.4. Évalué à 1.

    Un peu d'imagination !

    On peut faire plein de chose, par exemple : http://www.codegeneration.net/tiki-index.php?page=InlineCode(...)
    ce qui revient à une super macro

    On peut l'utiliser pour faire de la coloration syntaxique pour toute sorte de langage que l'on veut traduire en html coloré, pour des besoins de documentations.

    On peut aussi l'utiliser pour faire de la génération de code à partir d'un langage décrivant le modèle de classe.

    On peut modifier le modèle de classe en le rafraichissant, tout en respectant le code source contenu à l'intérieur.

    Générer une grammaire BNF à partir d'une DTD.

    Générer un source pour graphviz à partir d'un source Java/C++/Python, etc...

    On peut imaginer plein d'applications avec cette outil, car son langage de script permet de gérer autant d'entrée et de sortie qu'on désir.

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

  • [^] # Re: Parser du C++

    Posté par  (site web personnel) . En réponse à la dépêche CodeWorker 4.4. Évalué à 5.

    Effectivement, d'après http://en.wikipedia.org/wiki/C%2B%2B :

    It is relatively difficult to write a good C++ parser with classic parsing algorithms such as LALR(1).[5] This is partly because the C++ grammar is not LALR. Because of this, there are very few tools for analyzing or performing non-trivial transformations (e.g., refactoring) of existing code. One way to handle this difficulty is to choose a different syntax, such as Significantly Prettier and Easier C++ Syntax, which is LALR(1) parsable. More powerful parsers, such as GLR parsers, can be substantially simpler (though slower).


    Mais je crois que la parseur est assez flexible, savoir s'il l'est assez je ne sais pas.
    Mais il faut noter que ce parseur prend directement une grammaire écrite en BNF, et non une suite de règles à la lex/yacc.

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

  • [^] # Re: Plus de détails ?

    Posté par  (site web personnel) . En réponse au journal Quel contenu pour linuxfr ?. Évalué à 6.

    C'est vrai que ça fait vachement peur de poster une news. Peur de se la voir refuser.
    J'avoue que quand j'ai posté la news sur lisaac (dont je met le lien pour apprécier la taille : http://linuxfr.org/2007/09/24/23142.html ), j'ai sincèrement pensé qu'il y avait des chances qu'elle soit refusée au mieux mise en seconde page, parce que je sais pas, peut être qu'il y a des modéros qui n'aiment pas certains sujets, ou moi, ou quoi ou qu'est-ce...

    J'ai passé 3 mois à l'écrire, avec plusieurs personnes relecteurs.

    Alors on préfère poster un journal, au moins on est sur de passer.

    Je pense qu'il est est effectivement indispensable, qu'on puisse savoir, au moins pour les utilisateurs "enregistrés" quels news sont en préparation, avec au minimum le titre, voir les premières lignes du texte pour ne pas dévoiler.

    Ca permettrai d'éviter l'interblocage typique consistant à penser que quelqu'un a forcément une news de prete. Parce que passer 10 heures à écrire un texte et se le voir refuser, ça m'est arrivé une fois, c'est hyper dissuasif, donc je ne poste plus de news, ou presque.

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

  • [^] # Re: …da sur mon bidet

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce qu'un langage sécurisé ?. Évalué à 1.

    Non, à priori, il y a des trous dans le système de type d'Eiffel, principalement à cause de la covariance, il me semble.

    Il faudrait poser la question à D. Colnet, il saurait peut être mieux nous expliquer où sont ces éventuels trous

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

  • [^] # Re: Le fortran

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce qu'un langage sécurisé ?. Évalué à 1.

    Si je comprend bien ce que tu dis, avec le modèle COP et le langage Lisaac c'est possible.

    Il suffirait de s'envoyer des Block (une fonction) entre différents objets fonctionnant en parallèle. Les objets/threads ne feraient qu'héberger des blocks qui pourrait voyager en fonction de la charge.

    Bon ce n'est que de la théorie(car il y a le problème du contexte), mais ta remarque va être signalée au concepteur du modèle :-)

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

  • # Mac old World

    Posté par  (site web personnel) . En réponse au journal Test de la slackintosh 12. Évalué à 3.

    J'ai un vieux Ppc (un powermac 6200, qq chose dans le genre) que j'ai récupéré et sur laquelle j'aimerai mettre un linux dessus. Cette machine dispose de 3 Go de disque, 80Mo de mémoire, et d'un Ppc 603 à 180 Mhz, ce qui est honorable et exploitable.

    Malheureusement, avec Os 8, un lecteur de disquette, un lecteur CDrom, sans possibilité de configurer la carte réseau pour mettre internet, sans Stuffit d'installé, c'est galère...
    J'ai essayé BootX http://www.linux-france.org/macintosh/bootx.html qu'il faut installer pour réussir à faire booter une machine.

    Jamais réussi à l'installer, car j'ai essayé de coller le contenu du logiciel via Linux. Evidemment, quand je met la disquette sur le mac, il ne reconnait pas le fichier comme exécutable...

    Il parait qu'il faut jouer avec MacGzip et DiskCopy

    http://www.linux-france.org/macintosh/bootx_fr.html

    Après c'est l'aventure : quel noyau marchera, esque j'ai plusieurs chance de ne pas le mettre en l'air définitivement (pas de cd OS 8 à dispo...) ?

    Bref, c'est galère et bien dommage.

    Vous tiendrai au courant si j'y arrive

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

  • [^] # Re: transcodage ?

    Posté par  (site web personnel) . En réponse à la dépêche Projet NACA [2]: transcodage automatique vers Java de 4 millions de lignes Cobol. Évalué à 3.

    Dans l'article, je lis (a) la partie visible: un objet par verbe Cobol et un objet par variable du programme. Ces objets s'utilisent mutuellement pour exécuter le programme. Dans cette partie du code se trouve la correspondance ligne à ligne entre Cobol et Java.


    Donc, si je comprend bien, le transcodeur effectue un parsing produisant un arbre syntaxique représentant le code COBOL. Cet arbre syntaxique génère du code Java qui, à l'exécution, instancie les classes qui mettront l'arbre syntaxique en mémoire.
    L'application Java, émulant la plateforme, exécute cette représentation du code.

    Ca va jusqu'où ? Cela signifie qu'un test est un objet en Java ?

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