Miguel Moquillon a écrit 460 commentaires

  • # Pb de pédagogie

    Posté par  (site web personnel) . En réponse au journal Pédagogie et installation debian. Évalué à 8.

    Déjà, choisir une net install est une mauvaise erreur par rapport à un jeu de CD si en plus tu es limité dans le temps. Le téléchargement des paquets + leur installation peut prendre environ 2 heures si tu installes une version 'desktop' (environnement de bureau dans l'installateur).
    Ensuite, comme l'a si bien dit précédemment Aurélien, tes propos n'étaient pas en accord avec peut-être l'attente de ton public.

    AMHA, il aurait mieux valu d'abord les titiller en leur présentant GNU/Linux : qu'est ce que c'est, les applis que l'on trouve, les choix, l'installation / suppréssion d'un programme, etc. Bref, l'usage au quotidien d'un linuxien lambda (simple utilisateur). Pour ceux qui veulent faire du dev, une présentation des outils disponibles peut-être faite.
    C'est ensuite, dans une autre séance, après avoir sensibilité précédemment le public à GNU/Linux, que tu peux leur proposer une démonstration d'install, voir une install-party.
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 3.

    le café ? Si Java :)
    (Java signifie café en argo anglais.)

    Sinon, par rapport au nullable type, une solution de conception du langage, plus élegant à mon avis, peut être celle d'Eiffel : un objet prédéfini Void qui est de type NONE, lui même descendant de toutes les classes de ton appli. Bref, autrement dit pas une bidouille que doit se tapper le développeur.
    Je suis pour faciliter la vie des développeurs (donc au détriment du ou des concepteurs de langages). Malheureusement, c'est souvent l'inverse que l'on observe : le concepteur qui facilite sa vie au détriment du développeur qui doit utiliser son langage.

    Par rapport à C# et .NET, je trouve que ce sont des outils interessant.
    Le seul truc qui me fait tiquer, c'est qu'ils viennent de Microsoft et je me méfie de ses produits. Souvent c'est : au début ça parait super, à l'utilisation c'est finalement plus limité que prévu, et à la fin, au fur et à mesure des évolutions, c'est le cauchemar ... mais c'est trop tard (faut comprendre : l'existant, les licences, les développeurs qui ne connaissent que ça et tout ça).
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 3.

    Je suis d'accord avec toi sur l'ensemble.

    Il est vrai que la perception d'un langage "utilisable" dépend de chacun. Ma perception est : "s'exprimer simplement, de façon élegante, sans à faire du contorsionnisme ou du bidouillage pour arriver à mes fins et avec une syntaxe simple."
    Ainsi, pour l'avoir utiliser, dans les langages à typage statique, la covariance et la généricité contrainte apportent une souplesse très importante.
    Le fait aussi de pouvoir affiner la visibilité au niveau classe pour telles ou telles méthodes (par exemple, telle méthode n'est accessible que pour les objets de telle classe) permet d'implémenter de façon élegante un certain nombre de patterns (visual proxy, factory, etc.) sans se compliquer les méninges.

    Je suis d'accord que Java et C# sont des langages de masse, et comme bcp de chose destinée à la masse, le résultat est obtenu par "un équilibre par le bas".

    Quant à Smalltalk, AMHA je ne pense pas que c'est de la "masturbation intellectuelle" :) Je pense plutôt que c'est une façon de pensée différente de ce que l'on a l'habitude (un peu comme GNU/Linux pour les windowsiens). J'ai l'impression que toute notre vie, et particulièrement professionnelle, on nous "lobotomise", on nous "écrase" par nous imposer des limites dans notre champs de perception. Or, pour avoir codé avec, Smalltalk nous offre un moyen d'exprimer pleinement nos capacités, limitées ou non. Elle offre à notre perception ce qu'est en fait l'univers : infinie où toutes choses se mouvoient et changent ; chose que l'on a perdu, peut etre depuis l'enfance, à percevoir.
    Une fois que tu connais la syntaxe de Smalltalk (qui n'est pas difficile en soit), et que tu as passé le plus difficile (un champs de perception non limitée), alors tu peux exprimer de façon très simple et élegante des solutions complexes.

    Pour moi, la "masturbation intellectuelle" dans le développement est de trouver des solutions de coutournement des limitations d'un outil pour arriver à exprimer quelque chose qui se doit d'être évident. D'autant plus si les mécanismes de représenter simplement notre expression existe et avec une syntaxe simple.
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 2.

    Heu, non Eiffel est un langage des années 80 qui s'est affirmé dans les années 90 !
    Déjà en avance pour son époque :)
    AMHA, son auteur, Bertrand Meyer, en dehors de l'homme lui-même, a des idées et des conceptions que bon nombre d'entre nous, et particulièrement les concepteurs de langages objet, devrait s'inspirer.
    Sinon, non, ce n'est pas qu'un langage d'université. Il est vrai qu'en France il est surtoût connu dans ce milieu. Mais aux Etats-Unis il est utilisé dans l'industrie et semble être apprécié dans certains cercles du milieu embarqué là bas.

    Tu parles d'événements et de meta-donnés. Si tu veux vraiment faire de la méta programmation, je te recommande fortemement Smalltalk-80 ou Squeak (une version Smalltalk-80 orientée multimédia).

    Quant à C#, je le vois avant tout comme une action marketing de Microsoft à l'encontre de Sun. C# 1.x est un java like de Microsoft, C# 2 est une avancée pour incorporer des mécanismes minimum que font de lui un langage objet à typage statique suffisamment utilisable (que Java n'était pas AMHA et qu'il va l'être avec Java 1.5), ceci afin de répondre à la réponse de Sun avec Java 1.5.
    Si dans tout ça, nous développeurs, on trouve notre bonheur tant mieux.
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    Par rapport à la généricité contrainte, elle doit faire partie de C# 2 qui n'apparaitra qu'avec Visual .NET 2005 qui doit être encore en version beta sauf si je me trompe. Je parlais de la version 1.1. Autrement dit celle utilisée actuellement et pour lequel plein de petits développeurs Microsoftiens s'extasient (ce n'est pas péjoratif, attention !).

    Par rapport à l'ajout de méthodes, ton lien ne me donne pas l'information escomptée.

    Par rapport à la covariance (et à la contravariance), elle est plutôt restreinte. Applicable seulement aux méthodes de délégation (un mécanisme semblable aux agents d'Eiffel par exemple).

    Par rapport aux autres goodies ... hum. Le nullable type n'apporte pas grand chose excepté si le langage a un pb de ... conception. Quant au mot clé 'yield' il est interéssant même si de grandes discussions ont encore lieux par rapport au bien fondé d'un pareil mécanisme.
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 1.

    A t'on vraiment vraiment la même définition de covariance ?
    Je me pose la question par rapport au mot-clé 'out' que tu apportes comme solution.
    La covariance est la faculté de raffiner le type des paramètres d'une méthode en sous-types.
    Par exemple, covariance des paramètres et du résultat de retour :

    class Number
    add (other: Number): Number
    end

    class Integer <: Number
    add (other: Integer): Integer
    end

    Bien sûr, avec la généricité, si elle le permet, on peut se permettre une écriture à la F-Bound:

    class Number [ T <: Number [T] ]
    add(other: T): T
    end

    class Integer [ T <: Integer [T] ] <: Number [ T <: Number [T] ]
    end


    Sinon, il apparaitrait que C# 2.0 intégrera la généricité contrainte (si j'ai bien compris). Il apparaitra, si j'ai toujours bien compris avec Visual .NET 2005.
    A part ça, je comprends que les développeurs Microsoft s'exaltent face à C#. Jusqu'à présent, ils fallaient qu'ils se tappent Visual C++ ou Visual Basic. Deux langages qui n'ont d'objet que leur prétention (bon, d'accord, j'exagère), un peu comme bcp de développeurs d'ailleurs (ho la la, que je suis méchant, vraiment :) ).
    Et tout d'un coup, on leur propose un langage des années 90, né au 21e siècle, C#. Pour eux, qui ne connaissent que le monde Microsoft ou qui sont condamnés à développer pour ses plate-formes, c'est une découverte ! Expérience vécue dans ma boite.
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 5.

    Quelques exemples :
    - pas de généricité contrainte. Permet de rajouter de la flexibilité à des langages à typage statique, de pouvoir faire de l'objet selon l'appoche F-Bound et non celle, plus limitée, de Liskov.
    - pas de covariance. Du moins avec les types de retour des méthodes, car celle des arguments est plus problématique sauf si il y a support des types ancrés, auquel cas on peut faire là aussi de l'objet selon l'approche F-Bound.
    - plus discutable : pas de visibilité flexible (telles methodes ne sont visibles que par les objets de telle et telle autre classe)
    - etc.

    Je ne mettrait pas ici l'héritage multiple, même si, depuis la fin des années 80, on sait correctement la gérer (pas comme C++ ou c'est pitoyable). Ca dépend si le langage veut se faire simple ou non.
    De même je n'introduit pas non plus la faculté de définir des méthodes supplémentaires à une classe existante ou mieux à des objets ; ceci permet une utilisation souple du concept de rôle.

    Ce n'est que quelques exemples, mais les deux points ci-dessus sont, AMHA, les plus importants que devrait supporter un langage objet à typage statique moderne.
  • [^] # Re: révolutionnaire !

    Posté par  (site web personnel) . En réponse à la dépêche Java 2 Standard Edition version 5.0. Évalué à 4.

    Hum ... Smalltalk ?

    Bon, soyons sérieux, l'informatique est un eternel recommencement.
    On dit que si on veut voir l'informatique dans le futur, jetons un coup d'oeil à Smalltalk. Je pense que ce n'est pas loin d'être vrai.
    Ce que l'on a sous la main, on se dit super ! et on se précipite à le refaire, différemment, évidamment, pour finalement, peu à peu, introduire de nouvelles caractéristiques qui lui font peu à peu ressembler à l'original mais ... pas en mieux. J'aime bien la diversité, mais je n'aime pas ce qui essaie de copier en moins bien l'original.
    Par exemple, j'aime bien Ruby/python, Self, Eiffel pour leur apport et différentiation.
    Vous aimez les caractéristiques de Java 5 ou de C# ? Regardons de côté d'Eiffel par exemple pour s'appercevoir que finalement ce n'est pas si révolutionnaire que ça. Autant Java, langage des années fin 90, a les circonstances atténuantes, autant C#, apparue au 21e siècle, n'a aucun pardon pour être aussi "pauvre" comme langage dit objet ; mais bon, faut pas se leurrer, ce sont avant tout des langages commerciaux.
    Vous aimez le principe de la VM, regardons du côté de Smalltalk (et aussi pour toutes ses caractéristiques) et là vous commencez à pleurer de vous tapper ces merdes (pardon pour ce gros mot) que l'on appelle JVM (essayer squeak et je pense que vous comprendrez).
    ha, l'API de Java ? Lorsqu'on l'a compare à celui de Smalltalk ou d'OpenStep, vous commencez à mettre en doute les compétences réelles en objet des concepteurs de cette API Java (oui, je sais, j'y vais un peu fort). Enfin bref, une API de qualité différente, non cohérente sur l'ensemble des composants. Mais bon, nul n'est parfait et Java (il n'est pas le seul) l'illustre parfaitement :)

    Bon, bref. Ce que je peux dire, c'est que Java 5 n'est pas une révolution, mais une simple évolution qui va, enfin, me permettre de programmer correctement, avec une certaine souplesse et à prendre enfin plaisir à programmer avec ce langage.
  • # Attention devFS

    Posté par  (site web personnel) . En réponse au journal Installation Debian (Linux sur Partition étendue). Évalué à 1.

    Salut,

    Récemment j'ai installé la sarge par un CD net-install sur la station flamboyante neuve d'un copain.
    Auparavant j'avais testé le net-isntall chez moi car c'était une version daily.
    Il semblerait qu'en fait ce ne soit pas /dev/hda6 que tu dois réferencer mais plutôt /dev/discs/disc0/part6. En effet le device node /dev/hd** n'existent pas sur le net-install et les liens symboliques ne sont pas non plus crées. Il semblerait que devFS soit utilisé par le linux du CD d'installation.
  • [^] # Re: ...

    Posté par  (site web personnel) . En réponse à la dépêche Nouvelles versions de GNUstep. Évalué à 2.

    > Tu n'y es pas
    Si, je t'assures.
    J'ai moi aussi lu les commentaires, même relu plusieurs fois
    certains, et c'est aussi exactement l'impréssion que j'ai eu : un jugement du framework sur son esthetique extérieur (que l'on aime ou pas ce dernier d'ailleurs)

    > On doit faire dans l'original pour faire original ?
    Là n'est pas la question. AMHA, il a voulu signifié que parce que quelque chose ne ressemble pas à ce que l'on a l'habitude de voir ou d'utiliser, alors on le rejette ; sortir des sentiers battus, c'est aussi oser de proposer quelque chose de différent.