Epsos a écrit 357 commentaires

  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    Je vais jeter un coup d'oeil ... Merci pour le lien.
    Si tu as des remarques supplementaires, vient nous passer un petit coucou sur le forum ... (voir les liens plus haut)

    Merci

    David
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    Effectivement pour le type de retour je connaissais.
    D'ailleurs c'est dans les features enhancement de notre bugzilla ( http://nosica.ng-market.net/bugzilla/(...) ) ...
    (et oui je suis d'accord c'est pas tres complique a faire ... Encore faut t'il prendre le temps de le faire ... :-)

    Par contre, pas encore pige le coup de la contravariance ...
    Tu as un exemple ?

    Question subsidiaire : si tu as assez d'infos sur Nosica, est ce que tu as des remarques a faire ? Des trucs qui te semblent important et que nous aurions oublie ... Des raffinements ...

    Sinon, passe nous faire part de tes remarques sur le forum : http://nosica.ng-market.net/forum/index.php(...)

    Merci pour toutes tes explications, ca me permet mettre des noms sur des features que je connaissais plus ou moins sans savoir les nommer ...
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    La vache !
    Bon, je vais essayer de comprendre ce qu'ils disent ...
    Vu que tu as bien suivi tes cours, tu n'aurais pas un algo comprehensible par hasard ?? :-)
    En tout cas, c'est mieux que rien, j'ai plus qu'a me replonger dans la theorie des langages !! :-)

    Merci !

    David
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    Donc pas de methode uniquement "a la compilation" ...
    Pour l'overriding (surcharge statique), effectivement ca peut etre un probleme ... Ceci dit dans la vrai vie (pas la theorie) je n'ai encore jamais rencontre ce probleme ...

    D'ailleurs en terme de pratique pure. C'est quoi le plus sympa : la covariance ou la contravariance ? (perso je ne connais que la contravariance avec C++/Java)
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    Oups, pas vu ton post precedent ...
    Va falloir que j'etudie ca ...
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    "tous les objets sont des objets" :-) Vu comme ca effectivement ...
    Nan, je voulais juste dire que int etait un objet au meme titre qu'une Factory. Ce qui n'est pas le cas dans la plupart des autres langages objets où int est juste un type primitif ...

    OK... Effectivement ton exemple de pile demontre bien l'utilite de la covariance pour pouvoir faire ce genre d'implementation.
    Ceci dit, c'est vrai qu'en terme de conception pure, je prefere largement les containers generiques ... Pour moi ca a plus de sens.
    La notation "Assiette element;" ne me convient pas trop non plus.

    Sinon pour regler le probleme de la covariance il y a des techniques connues ?
    Parce que finalement, j'ai l'impression que ca deporte le probleme d'un endroit a un autre.
    Typiquement tu vas etre oblige (que ce soit le compilo ou l'utilisateur) de faire un check avant d'appeler la methode non ?

    Exemple : (pseudo notation)

    Animal a = Vache;
    Vector<Nourriture> v;
    v.push(Herbe); v.push(viande);
    foreach i in v
    {
    a.mange(i);
    }

    Dans le cas de la covariance, il va bien falloir a un moment donne qu'il y ait un check du style :

    if (i instanceof Herbe)
    {
    objets.mange(i);
    }
    else erreur // que ce soit une erreur dynamique ou de compilation

    Dans le cas de la contravariance, le check repose il est vrai entierement sur le programmeur, ce qui est pas cool.

    Donc, si tu me dis qu'il y a des solutions au probleme de check a la compilation je changerai bien Nosica pour l'inclure dedans...

    Typiquement, quand on avait essaye de le mettre dans le langage, on avait ensuite l'analyse globale qui verifiait qu'on appelait pas de methodes "non definies".
    Analyse des types possible de v ==> Viande, Herbe
    Analyse des types possible de a ==> Vache
    ==> a{Vache}.mange(i{Viande, Herbe}) ==> Erreur de compilation

    Je vois bien des algos qui permettent de determiner un sur ensemble des types possibles, mais pas l'ensemble stricte : je risque de detecter des erreurs qui n'existent pas...

    Donc, quelles autres solutions ?
    (a part le check au runtime bien sur ...)

    David
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    Delegation ...
    N'oublie pas que j'ai ecrit
    class Toto implements A, B ...
    Donc Toto est toujours un A et Toto est toujours un B.
    Ce qui fait qu'on a l'avantage de l'heritage multiple : on peut heriter de N peres, mais sans les inconvenients : symboles multiples, implementation pas toujours terrible, perte de place a cause du padding, inneficacite a cause des tables a aller consulter ...
    ==> En fait la delegation permet a la fois de repondre au probleme "est un" (mais en terme d'implementation, pas d'interface), et de "contient un" (en terme d'implementation toujours)

    Oui bon, effectivement, les methodes, les boucles ne sont pas objets. Quand je disais tout, je voulais dire les objets... Par exemple en Java et en C++ tu n'as pas la main sur les types natifs. En Nosica tu peux l'avoir.

    Pour le ref counting : oui on est au courant des problemes de cycle !! :-) Ca fait parti des choses que les gens doivent savoir lorsqu'ils codent en Nosica. La plupart des implementation de Lisp dans le temps utilisaient aussi le ref count ... :-)
    Sinon rien ne nous empeche (a part le temps) d'implementer un vrai gc un jour (si ce n'est que je n'aime pas trop les freeze intempestifs)

    En Nosica, tu as This pour Current, mais tu n'a pas la notation "like" ...

    par exemple :
    class Toto<T implements A = AImpl>
    {
    This someFunction() { // some code }
    }
    C'est marrant parce que la raison d'etre de This dans Nosica c'est precisement d'eviter les notations lourdes pour aider a la programmation generique.
    Ceci dit je ne vois pas trop pourquoi ca va rendre inutile la genericite ...
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    Ceci dit avec l'analyse globale on est capable de detecter pas mal de cas de cast mal fait ...
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    OK ...
    Nous on fait comme C++ ou Java.
    Donc on fait de la coercicion ... :-) : Nous sommes contravariant.

    On avait essaye d'etre covariant au debut, mais ca posait pas mel de problemes ... (du genre Vache.mange(Viande))
    A l'analyse globale on etait capable de le detecter mais c'etait pas tres cool ...

    Il y a des solutions a ce probleme ?
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    Non :-p
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 3.

    Simple de part sa syntaxe : Je connais pas Ruby, donc j'aurai du mal a te dire ... En tout cas, pas comme Perl. Quand je dis simple, ca va avec 1 feature/1 syntaxe. C'est aussi par rapport a la syntaxe Java vs C++.

    1 feature / 1 syntaxe : Non :-), pas pour les boucles du moins.

    coherent au niveau de la syntaxe : ca n'a jamais ete voulu comme un argument. Il s'agissait de lister un peu les buts de la creation de Nosica. Pas de dire "il est cool mon language, viens-y l'essayer" !! :-)
    Quand je dis coherent, ca veut dire que la notation tente d'etre uniforme..
    Exemple :
    class toto extend A implements B ...
    Bon, ben clairement, vaut mieux ecrire
    class toto extends A implements B

    Ca veut dire aussi que les operateurs ont la meme semantique qu'ils soient utilises sur des types primitifs ou sur des types references.
    Exemple :
    infix ==() un operateur de comparaison de valeur
    infix ~~() un operateur de comparaison d'instance (equals en java)

    Souplesse :
    En Nosica, tu peux heriter d'une classe et implementer N interfaces.
    En java ca devient vite chiant parce que souvent tu es oblige de faire de la delegation a la main.
    En Nosica tu peux ecrire :
    class Toto implements A, B
    {
    private AImpl aImpl proxies A; // automatic delegation of interface A to aImpl
    private BImpl bImpl proxies B;

    public sub f() {
    // do something
    // and callback on aImpl
    aImpl.f();
    }
    }

    public interface A
    {
    sub g();
    sub f();
    }

    C'est a dire que pour toutes les methodes de A et de B, si elles n'ont pas ete implementees dans Toto, on genere automatiquement les methodes manquantes comme des appels sur aImpl et bImpl.
    C'est clair ?

    Portable : oui, il s'agit du compilo

    Optimise : encore pareil, il ne s'agissait pas d'un argument de vente , mais d'essayer de lister le pourquoi de Nosica : quels en sont les buts.

    Au niveau du langage, on a pas vraiment de spec "ecrite". Il y a un vieux document completement obsolete appele Nosica's syntax (http://nosica.ng-market.net/LearningNosica.html(...)).
    Il y a beaucoup d'idees qui nous viennent, que l'on etudie et lorsque l'on pense que theoriquement on peut le faire et que la syntaxe retenue est objet et sympa, on la met dans Bugzilla.

    Donc, pour repondre a ta question :
    - Nosica est un langage objet, et tout est objet.
    - Heritage simple, implementation d'interface multiple, delegation automatique (a mon sens, plus sympa que l'heritage multiple, moins bloated, plus efficace, car pas de padding et d'indirection supplementaire)
    Classes inner/nested/anonymes
    - Pas de meta niveau, mais c'est dans les features enhancement, donc ca y sera un jour
    Protection : oui : public/private/protected/package
    Granularite : pas de compilation separee. On a un autre concept pour resoudre ce probleme appele NoCoMo. Grosso modo il s'agit d'un bus de communication intra/inter/remote processus. Avec une possibilite de pouvoir faire un link pour virer le bus ... Mais bon, ca c'est un delire qui n'est pas pret de voir le jour
    - Nouveaux paradigmes : aliasing de methodes ? delegation automatique ? Auparavant on avait l'overloading sur le type retour(ca marchait bien, mais le plus gros probleme c'est le reporting d'erreur)
    - Pas de types natifs dans le compilo. Les types "natifs" sont en fait des types primitifs dans la librairie native. C'est a dire qu'ils sont definis dans la librarie standard comme n'importe quel autre type (net.nosica.lang)
    - Possibillite de faire de la genericite partielle et de surcharger une implementation generale par le mecanisme de load des classes.
    - proprietes (faire passer un appel de methode pour un field)
    - tableaux multi dimensionnels
    - Garbage collecting tres simple mais efficace via un reference counting automatique
    - Types primitifs (aka valeur : alloue sur la pile). Types references (aka dynamique :alloue sur le tas)
    Plus d'autres que j'oublie certainement.

    Pour ce qui est de la covariance. J'avoue que j'ai jamais su ce que ca voulait dire. Donc pour ma culture G et pour le prochain qui me posera la question, je veux bien que tu m'explique.
    J'avoue qu'on a plus eu une approche pragmatique qu'une approche universitaire en ce qui concerne la creation du langage.

    Langage de type utilise. Pareil je vois pas trop de quoi tu parle.
    Une instance est un representation memoire d'une classe (qu'elle soit primitive ou reference). Tu peux agreger des classes. Tu peux faire de la genericite sur toutes les classes ...

    Vala quelques eclaircissements. J'espere te lire pour que tu m'explique la covariance, et langage de type.

    A+
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    On y a pense, mais on a malheureusement pas trouve de syntaxe objet.
    Donc le jour ou on trouve une syntaxe objet sympa, ca verra peut etre le jour ...
    Pour l'instant on s'oriente plus vers des listener a la java.

    Mais je dois dire que tout ca fait partie de la librarie, et que la librairie standard Nosica, soyons clair il n'y a rien dedans pour l'instant (ou presque : le strict minimum quoi)
  • [^] # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 5.

    Je vois pas vraiment ce que tu appelle un paradigme ...
    Le but de Nosica au debut etait de s'affranchir de certains problemes dus a ld pour la resolution des appels polymorphes.
    La solution apportee est derivee de celle de SmartEiffel : l'analyse globale du code.

    Nosica se veut
    - simple de part sa syntaxe
    - 1 feature 1 syntaxe : pas 36000 facons de faire comme en Perl
    - coherent au niveau de la syntaxe (c'est a dire qu'on se prend la tete a trouver des mots clefs comprehensibles par tout le monde et coherent entre eux)
    - souple (par exemple il y a la delegation automatique)
    - portable
    - optimise (on a des idees, nottamment celles apportees par Nico, voir le forum, mais pas encore implementees)

    Sinon, le concept c'est l'objet, je vois pas trop ce que je pourrai dire d'autre.
    Par contre, on a un vrai concept objet : plus comme Smaltalk que comme c++ ou Java : tous les objets (je dis bien tous, y compris int, float, ...) sont des objets (et pas des first class) et comme tel peuvent etre derives...

    Vala, plus d'infos ?
  • # Re: Nosicalight version 0.2

    Posté par  . En réponse au journal Nosicalight version 0.2. Évalué à 1.

    A ben oui tiens le site : http://nosica.ng-market.net(...)
  • [^] # Re: OfficeOne: c'est nous qu'on l'a fait

    Posté par  . En réponse au journal OfficeOne: c'est nous qu'on l'a fait. Évalué à 1.

    Sur http://officeone.fr/graphisme/plaquette.pdf(...) , ils disent clairement qu'ils ont incorpore le moteur de StarOffice 6.0.
  • [^] # Re: ssh sans mot de passe ?

    Posté par  . En réponse au journal ssh sans mot de passe ?. Évalué à 2.

    Tu peux aussi verifier ce qui se passe en demandant a ssh qu'il te trace toutes les etapes de l'authentification.

    ssh -v je crois (man ssh)

    Ca te dit quelles methodes d'authentification il essaye et pourquoi elles se font jeter...

    Bien utile pour savoir pourquoi il faut taper le mot de passe ...
  • [^] # Re: Le guide IdealX des logiciels libres utilisable en production

    Posté par  . En réponse à la dépêche Le guide IdealX des logiciels libres utilisables en production. Évalué à -7.

    Apparemment c'etait de l'humour ... Et tu es tombe dedans !! :-)
  • # Re: Politique des constructeurs vis-a-vis du logiciel libre et de l'open-source

    Posté par  . En réponse au journal Politique des constructeurs vis-a-vis du logiciel libre et de l'open-source. Évalué à 3.

    pour la carte graphique, Matrox donne ses specs, et les drivers Matrox sont libres ...
  • [^] # Re: Ici peut être :

    Posté par  . En réponse à la dépêche Mandrake apporte de la valeur ajoutée au Mandrake Club. Évalué à 1.

    Je confirme, ca s'installe sur une 9.0 d'origine non cookerise !! :-)
    cf mon post plus bas
  • [^] # Re: Petit coup de gueule en passant... (C'est long, mais j'en avais besoin !)

    Posté par  . En réponse à la dépêche Mandrake apporte de la valeur ajoutée au Mandrake Club. Évalué à 5.

    Allez pour te consoler, je te files un tuyeau : il existe bel et bien des packages kde3.1 fait pour la Mandrake par quelqu'un d'autre que Mandrake : ceux fait par Texstar.

    Je les ai installe, ca fonctionne a merveille. Depuis, je me suis inscrit au club et j'ai installe ceux de Mandrake, pas vu des masses de differences. En plus ceux de Textar doivent assez bien etre foutu : tu peux installer par dessus quanta, koffice, ...

    URL (merci google) : http://ftp.ibiblio.org/pub/Linux/distributions/contrib/texstar/linu(...)

    J'ai trouve ces paquages en lisant regulierement dot.kde.org, apparemment ce n'est pas la premiere fois que Texstar cree des rpm kde pour mandrake.

    Sinon, c'est vrai que mettre a disposition des rpm uniquement pour les clubbers pour des raisons de tests n'est peut etre pas le meilleur argument, mais ca permet peut etre de degrossir avant de le filer a toute la communaute. Apres tout avec tres peu d'utilisateurs, tu peut au moins corriger les bugs les plus gros. Et ca fait meilleur impression de filer des rpm un peu debugger a toute la communaute non ?
  • [^] # Re: Qu'en est-ce que l'on pourra voter les journaux ?

    Posté par  . En réponse au journal Qu'en est-ce que l'on pourra voter les journaux ?. Évalué à 1.

    Un boulet c'est koa ?
    C'est quelqu'un qui n'a pas d'XP normalement ...
    Donc un boulet ne peut pas poster ...

    T'as seulement lu ce que je te propose ?
    Actuellement un gars peut deja polluer la vie de tout le monde s'il le veut... C'est pas les votes negatifs aui vont nous aider. Je pense que la situation actuelle l'a bien montre non ?

    Tu pourrais aussi decider de browser a un certain nombre de vote. Perso j'aime bien lire les -1. Mais ca veut dire aussi que je suis conscient que je peux trouver tout et n'importe quoi en lisant les -1.

    J'aime bien le "Don't feed the troll". Et je le comprend comme :
    1 - ne pas lui repondre
    2 - ne pas lui indiquer (par quel moyen que ce soit) notre reaction

    Voter negatif est deja une indication. Ne pas voter du tout me semble la meilleure reaction.

    Autre chose, je propose une idee. Je ne demande pas a tout le monde d'etre d'accord. Alors evite ta derniere phrase stp...
  • [^] # Re: Qu'en est-ce que l'on pourra voter les journaux ?

    Posté par  . En réponse au journal Qu'en est-ce que l'on pourra voter les journaux ?. Évalué à 0.

    Dans ce cas, c'est vraiment de la censure ... Autant virer son compte tout de suite non ? Il me semble que pour qu'il puisse commencer a poster, il faut qu'il fasse preuve de son interet pour la communaute d'abord... Ensuite s'il deconne, il pourra poster, mais comme il deconne il n'aura aucun vote, donc restera dans la partie basse des commentaires votes. De toute facon, le mec qui veut vraiment poster des trucs cons a l'heure actuelle le peut. Avec ce systeme, il aura toujours la possibilite de voter, mais en tout cas DaCabale n'existera plus ...
  • [^] # Re: Qu'en est-ce que l'on pourra voter les journaux ?

    Posté par  . En réponse au journal Qu'en est-ce que l'on pourra voter les journaux ?. Évalué à 2.

    Je pensais a un truc : apparemment le truc qui pose probleme sont les votes negatifs ...
    Pourquoi dans ce cas ne pas les virer ?

    Du coup, lorsque l'on browse, on peut decider de browser a un niveau de vote donne : plus de 10 votes par exemple.

    Ca regle le probleme des gens qui descendent les gens a coup de vote negatif.

    Reste le probleme des XP proprement dit. Si on ne peut plus voter negativement, on ne peut pas non plus faire bouger les XP uniquement vers le haut. Peut etre alors que les XP ne devrait pas etre attribue uniquement par rapport a un pourcentage de chance. Peut etre que les XP devraient etre attribue a ceux qui font vraiment des remarques interressantes ?

    Exemple1 :
    Ce commentaire se trouve a 0 au bout d'une journee : pas de raison que je gagne des XP.
    Exemple2 :
    Ce commentaire se trouve a 20 au bout d'une journee, il se trouve qu'un score de 20 fait partie des 25% de commentaires les plus scores : je gagne un point d'XP. On peut meme imaginer que plus je suis haut (par rapport aux commentaires de la meme news) plus je gagne des XP.

    Bon, on a maintenant un systeme ou les XP peuvent monter, mais ils ne peuvent plus descendre...
    Perso, ca ne me derange pas ... Apres tout, si on gagne des XP avec ce systeme, c'est que l'on a demontre qu'on pouvait poster des trucs interressants. Et le probleme actuel vient du fait qu'on puisse descendre les gens a coup de votes negatifs...

    Z'en pensez koa ?
  • [^] # Re: La FreeBox ca dechire

    Posté par  . En réponse au journal La FreeBox ca dechire. Évalué à 2.

    Ouais mais bon, un de mes meilleurs potes est un des 3 gars qui a monte le reseau de free. Il est toujours la bas et bien place maintenant. Donc je suis tranquille sur ce que j'avance...
    Pour la tele, je suis d'accord le service n'est pas encore lance ... Et je n'en dirai pas plus ! :-)
  • [^] # Re: La FreeBox ca dechire

    Posté par  . En réponse au journal La FreeBox ca dechire. Évalué à 3.

    Pas tout a fait : il faut que tu allume le canal tele (avec la zapette fournie avec)...
    Tant que tu n'utilises pas les fonctions video, il n'y a rien qui transite donc tu peux bourriner a tout va ...