Epsos a écrit 357 commentaires

  • [^] # Re: Je prefere Netbeans.

    Posté par  . En réponse à la dépêche Eclipse compilé en natif.. Évalué à 5.

    Ce qui est donc une justification suffisante pour les introduire dans ton nouveau langage.
    Oui largement il me semble. Tu noteras quand même que je n'ai pas intégré tout et n'importe quoi du C++ dans Nosica :-) Et si je n'ai pas tout introduit, peut etre qu'alors il y a une certaine reflexion non ?


    J'ai parcouru le site web présentant Nosica, et je n'ai vu nulle part de présentation du pourquoi des fonctionnalités implémentées dans ce langage

    Effectivement t'as du le parcourir, sinon tu aurais trouvé toutes les infos qui te manque.


    Par exemple, je ne sais pas pourquoi tu veux implémenter un inutile retour multivarié
    Tiens tres bon exemple de chose que je vais apprendre aujourd'hui ...
    C'est quoi un "retour multivarie" ?
    - Est ce qu'il s'agit de surcharge sur le type retour ?
    Si oui, le but etait de permettre des implémentations différentes suivant le type retour. On a essayé, on s'est aperçu que c'etait possible, mais c'etait tres dur de faire du reporting d'erreur lisible. Du coup c'est une fonctionalite qui n'existe plus dans le langage. (depuis à peu près 1 an)
    - Est ce qu'il s'agit de pouvoir retourner plusieurs valeurs ?
    Dans ce cas, je ne comprend pas ce que tu as voulu dire avec ton "retour d'une classe donnée". Creer une classe pour le besoin d'une methode ne me semble pas tres souple. C'est au mieux contraignant. Quel est l'interet des mots clefs 'out' en CORBA dans ce cas ? La detection des E/S dans une methode est un indicateur tres puissant pour pouvoir faire des optimisations. (pureté des méthodes, predictibilité des données, ...)

    aucune explication sur le pourquoi de la surcharge d'opérateur
    Exemple donné dans la doc (si si, il faut lire) : http://www.nosica.net/old/LearningNosica.html#operators(...) Ca sert par exemple a implémenter tous les operateurs sur les types primitifs et natifs. Car ces types ne sont pas des First Class Object.

    sur la distinction (apparement assez subtile) entre les références et les types primitifs
    Encore une fois tu n'as pas lu la doc : http://www.nosica.net/user_zone.php?id=primitive+vs+reference(...)
    et aussi (en Fr) : http://www.nosica.net/user_zone.php?id=FR_primitive+vs+reference(...) ou encore sur l'ancien site : http://www.nosica.net/old/LearningNosica.html#referencesandprimitiv(...)
    Les primitifs sont de petits objets qui permettent par exemple de définir un entier (un jour on pourra définir des entiers sur des plages de valeur). Sémantique d'allocation sur la pile. Les types références sont l'equivalent des types Java : allocation sur le tas, partagé, garbage collecté.

    Je ne cherche pas à t'insulter, mais je trouve sincèrement qu'il n'y a aucune réflexion sur le fond du langage
    Tu m'excuseras, mais essaie de comprendre que passer beaucoup de temps sur un projet, et s'entendre dire par quelqu'un que tu ne connais pas qu'il n'y a pas de réflexion sur le fond du langage ne soit pas tres agréable a entendre. Alors allons-y pour les reflexions sur le fond du langage :
    - Une syntaxe claire (je pourrai dire simple, comme Java)
    - Les fonctionalites que je trouve manquer a Java : nottamment la généricite (et non, je ne trouve pas que Java 1.5 apporte vraiment des réponses a ce niveau là, pour moi il s'agit plus d'une rustine qu'une vrai implémentation de la généricité). Mais aussi la surcharge d'opérateur.
    - covariance sur tous les parametres (but depuis le debut meme si on a trouve la solution théorique que récemment)
    - pas de types prédéfinis (tous les types, y compris ceux de net.nosica.lang sont entierement redéfinissable par l'utilisateur), ce qui explique pourquoi on a besoin de la distinction entre type primitifs/types references et surcharge d'operateur pour ne citer qu'eux.

    Alors oui je ne me cache pas : lorsqu'on trouve une fonctionalité sympa dans un autre langage, on regarde si on peut l'intégrer dans Nosica. Mais non, on ne le fait pas n'importe comment et a n'importe quel prix. On ne le fait qu'apres mûre réflexion et à condition que ça s'integre bien avec le reste du langage. D'ailleurs on passe plus de temps à refuser des fonctionalités qu'à en ajouter. Va faire un tour sur le forum pour t'en faire une idée.

    Java a été créé en conservant un objectif de simplicité
    Tout a fait, et ca en fait un langage sympa, mais parfois aussi plutôt limité lorsque l'on connait d'autres langages (je pense au C++, a Eiffel, mais aussi au Lisp).

    Sinon pour finir, sache que malheureusement je galere enormément à trouver du temps pour m'occuper de Nosica, alors le site oueb et la doc passe en dernier.
    Sache aussi que j'accepte volontiers la critique, mais la critique constructive. A ce titre ton deuxieme post est deja plus satisfaisant. Ceci dit il me semble que tu gagnerais a vraiment étudier le langage pour faire une critique plutôt que "parcourir" le site (critique que j'accepterai sans probleme, je ne cherche qu'a améliorer le langage)
  • [^] # Re: Je prefere Netbeans.

    Posté par  . En réponse à la dépêche Eclipse compilé en natif.. Évalué à 1.

    Ben tiens, alors allons y mettons les pieds dans le troll ...

    J'avoue effectivement volontiers que je ne connaissais rien aux compilateurs il y a 2 ans. J'avoue volontiers que j'en apprend sur la compilation et la theorie de la compilation tous les jours.
    J'avoue encore que Nosica est né parce que je m'estime tres bon (oui je sais, les mollets tout ca) en Java et en C++, et que je trouvais que dans l'un comme dans l'autre il y avait des fonctionnalites que j'aimais et d'autres que je n'aimais pas.

    Maintenant puisque ca fait deux ans que je suis dessus et qu'en deux ans je n'y ai toujours pas reflechi, va falloir que t'argumente un peu parce que la ca frise l'insulte et la malhonnetete intellectuelle.
  • [^] # Re: Découvrez la communauté PHP

    Posté par  . En réponse à la dépêche Découvrez la communauté PHP. Évalué à 1.

    Vi, enfin c'est des setjmp/longjmp quand meme ...
  • [^] # Re: Découvrez la communauté PHP

    Posté par  . En réponse à la dépêche Découvrez la communauté PHP. Évalué à 1.

    Vi j'ai fais pareil a un moment donne.
    Sauf que les sauts non locaux (traduction de non-local goto), ca fait mal aux caches. Et la sémantique supportée n'est pas tout a fait la même que des vrais exceptions.
    Tu peux effectivement retourner a un point de ton chemin d'execution, mais c'est inconditionnel. Pas de reprise si match d'un type, et pas de destruction des variables locales des fonctions traversees. (ou appel d'une méthode finalize sur celles ci)
  • [^] # Re: Découvrez la communauté PHP

    Posté par  . En réponse à la dépêche Découvrez la communauté PHP. Évalué à 1.

    Oui, sauf qu'il ne s'agit pas de faire un exit.
    Il s'agit juste de factoriser du code nettoyant des variables avant de retourner.
    Comme je le dis plus haut, je suis pas fana des goto, mais des fois ca permet d'etre plus lisible quand meme.
  • [^] # Re: Découvrez la communauté PHP

    Posté par  . En réponse à la dépêche Découvrez la communauté PHP. Évalué à 1.

    Woops, mea culpa, l'assembleur GNU inverse les operandes par rapport a d'habitude, c'est vrai ...
  • [^] # Re: Découvrez la communauté PHP

    Posté par  . En réponse à la dépêche Découvrez la communauté PHP. Évalué à 1.

    Ces deux lignes permettent de creer une frame stack pour la reservation de variables locales.
    La premiere ligne fait de la place avec le pointeur de pile esp pour les variables locales.
    La deuxieme ligne sauvegarde dans ebp le pointeur de stack pour pouvoir nettoyer plus tard la pile.

    Par contre c'est bizarre qu'il y ait une difference comme ca entre les deux versions.
    Sinon tu peux ajouter -fomit-frame-pointer pour virer ces deux lignes.
  • [^] # Re: Découvrez la communauté PHP

    Posté par  . En réponse à la dépêche Découvrez la communauté PHP. Évalué à 3.

    Ca permet de separer le traitement des erreurs du code normal.
    Dans cet exemple, c'est vrai qu'il n'y a qu'un seul truc a tester, donc ca ne fait pas grand effet.

    Linux Torvald avait un post sur les mailing kernel expliquant pourquoi il preferait les goto dans certaines conditions (nottament la gestion des erreurs). J'arrive plus a retrouver l'URL mais il y a des trucs repris ici : http://linuxfr.org/2003/03/12/11606.html(...)

    Personnellement je n'utilise pas le goto pour le traitement d'erreur car j'utilise les exceptions (du moins en C++ et Java). Mais j'avoue qu'en C, le seul moyen que je connaisse qui permette de se rapprocher du traitement d'erreur type "exception" est l'utilisation de goto.

    Par exemple :

    void f()
    {
    A a = doSomething1();
    if (erreur)
    goto destroyA;

    B b = doSomething2();
    if (erreur)
    goto destroyB;

    ...

    C c = doSomething3();
    if (erreur)
    goto destroyC;

    return;

    destroyC :
    destroyC(c);
    destroyB :
    destroyB(b);
    detroyA :
    destroyA(a);

    return;
    }
  • # Re: updatedb permanent

    Posté par  . En réponse au journal updatedb permanent. Évalué à 2.

    Tu peux aussi utiliser whereis ...
  • [^] # Re: GLU, Mesa3D et ses amis

    Posté par  . En réponse au journal GLU, Mesa3D et ses amis. Évalué à 2.

    Mauvaise reponse luke. C'est libGLU.a qu'il te faut !
    et oui, bonne reponse. .a = statique, .so = dynamique.

    Quant au .la, bizarre.
    Fait un ls -al dessus.
    Si c'est pas un lien vers le .so, tu peux peut etre creer un lien qui s'appelle libGLU.a
    $>ln -s /usr/X11R6/lib/libGLU.la /usr/X11R6/lib/libGLU.a
  • [^] # Re: GLU, Mesa3D et ses amis

    Posté par  . En réponse au journal GLU, Mesa3D et ses amis. Évalué à 1.

    >/usr/bin/ld: cannot find -lGLU

    Dans ce cas, comme conseillé plus haut, fait un
    $> urpmf libGLU.a
    ce qui te donnera quel(s) package contiennent libGLU.a
    Installe les jusqu'a ce que ton systeme contienne cette fameuse librairie.
    Verifie a coup de whereis ou locate (updatedb tu n'oublieras pas) que la librairie est bien la et relance ta compil.

    Tant que tu n'as pas libGLU.a ca ne compilera pas.

    Si tu as bien installe libGLU.a et que ca ne compile pas, alors de deux choses l'une :
    - ou bien ton ./configure (que tu as du lancer a un moment donne j'imagine) a creer un cache quelque part, dans ce cas, fait un make dist-clean ou un rm -f .config-cache (me rappelle plus le nom du fichier mais ca ressemble a ca). Puis relance ./configure
    - ou bien ton path de ldconfig est a la rue : verifie dans /etc/ld.so.conf que ta librairie se trouve bien dans les chemins listes. Et relance ldconfig si besoin ...

    Bonne chance et tiens nous au courant.
  • # Re: GLU, Mesa3D et ses amis

    Posté par  . En réponse au journal GLU, Mesa3D et ses amis. Évalué à 3.

    Sous la Mandrake, les librairies sont souvent coupees en deux.
    Une version prete a l'emploi
    Une version de developpement (souvent suffixe par -devel)

    La premiere te sert juste a lancer les applications qui se servent de la librairie (link au runtime par des dll)
    La deuxieme te sert a compiler des programmes (fourni les headers, les librairies statiques, ...)

    En clair il faut que tu installes les package de developpements ...
    $>urpmi Mesa-devel
    $>urpmi SDL-devel
    $>urpmi libMesaGLU1-devel
    ...

    pour ta deuxieme question, urpmi t'affiche un choix lorsque la chaine de caractere que tu as rentree matche plusieurs noms de package :
    dans libMesaGLU1, libMesaGLU1-devel il y a GLU ... S'il y avait eu un package qui s'appelait precisemment GLU, il ne t'aurait pas pose la question.

    C'est pourquoi urpmi SDL => le packet SDL et il te t'affiche pas SDL-devel ... (un paquet a le nom exact)

    Sinon pour faire des recherches dans les paquets rpm, utilise plutot urpmf et urpmq.

    urpmq fait une recherche au niveau des noms de paquet
    ==> urpmq SDL te donnera SDL et SDL-devel
    urpmf fait une recherche au niveau des noms de fichier
    ==> urpmf GLU te donnera tous les fichiers contenant GLU ainsi que le package ou il est fournit.

    Il y a un site qui explique tres bien ca mais j'arrive plus a mettre le nom dessus.
  • [^] # Re: Nosicalight version 0.2

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

    Desole de n'avoir pas repondu avant, mais je ne regarde pas souvent les vieux journaux !! :-)

    Merci pour les felicitations, mais je crois qu'il est encore un peu tot pour se rejouir.
    Alors pour les reponses :
    1 - oui, il y a des iterateurs. Les iterateurs font parties de la librairie standard. Ils dérivent tous de l'interface Iterator.
    2 - Tout a fait, au début, on voulait faire une sorte de Java++ ou de C++--. C'est a dire un langage avec une syntaxe simple a la Java. Et comblant certaines lacunes de Java par rapport a C++ (nottamment la généricité, la surcharge d'operateur, ...)
    3 - Il faudrait que tu precises un peu. Nosica permet je pense de faire pas mal de chose par rapport a C++. Par contre, on ne peut pas faire de manipulations low-level : pas d'arithmetiques de pointeurs, pas d'IO dans le langage, pas d'assembleur inline ...

    Maintenant que le site est relooke (et en Francais aussi), passe nous dire un bonjour sur le site !

    David
  • [^] # Re: Plex86 (ex-FreeMWare) sort en v0.1

    Posté par  . En réponse à la dépêche Plex86 (ex-FreeMWare) sort en v0.1. Évalué à 3.

    Vi, on appelle ca de la virtualisation ...
    Toutes les entrées sorties sont interceptées.
    L'OS virtualisé ne voit pas la différence, et c'est l'OS hôte qui fait vraiment les E/S.

    Plex86 et VmWare sont des virtualiseurs.
    Bochs est un emulateur.

    Plex86 et VmWare sont (beaucoup) plus rapide que Bochs.
    Je me rappelle même avoir joué à Unreal Tournament sur un VmWare lançant Windows 2000 au boulot (avec un hôte Linux). Ca tournait pas mal.
  • # Re: Création de PDF

    Posté par  . En réponse au journal Création de PDF. Évalué à 3.

    Utilise kde.
    Le module d'impression de kde contient une imprimante pdf par defaut.
  • [^] # Re: Posez vos questions à Trolltech

    Posté par  . En réponse à la dépêche Posez vos questions à Trolltech. Évalué à 2.

    > Est-il prevu de supprimer l'utilisation du preprocesseur ? (cf >http://libsigc.sourceforge.net/(...) )

    J'aurai tendance a dire RTFM !! :-)

    Plus serieusement, ca fait parti de la doc livre avec QT, voir :
    http://doc.trolltech.com/3.1/templates.html(...)
  • [^] # Re: Michel Rocard s'oppose à la brevetabilité des logiciels dans Libération

    Posté par  . En réponse à la dépêche Michel Rocard s'oppose à la brevetabilité des logiciels dans Libération. Évalué à 3.

    Heuh la non, je crois pas. D'apres mon prof de math de terminale (ouarf, il y a quelques annees), les nombres complexes ont ete inventes par un mecanicien Italien qui n'arrivait pas a resoudre ces equations (l'invention du cardan ?). Il tombait toujours sur x² = -1. Du coup pour s'en sortir, il a invente les nombres complexes. Ce n'etait donc pas tout a fait pour la beaute de la chose. Une recherche google nous donne : http://www.sciences-en-ligne.com/momo/chronomath/chrono1/Cardan.html -1, car hors sujet.
  • # Re: Le vote sur les brevets reporté à septembre ! Yeeeah !

    Posté par  . En réponse au journal Le vote sur les brevets reporté à septembre ! Yeeeah !. Évalué à 2.

    En tout cas, soit le site n'a pas encore ete mis a jour (derniere mise a jour le 25 : hier), soit le vote est encore d'actualite !

    http://www3.europarl.eu.int/ap-cgi/chargeur.pl?APP=IRIS+PRG=FRAMERI(...)
  • # Re: Enemy territory

    Posté par  . En réponse au journal Enemy territory. Évalué à 1.

    Pas de mode mono-joueur a ma connaissance. D'apres le "Help Documents" fournit avec le jeu (du moins la version Windows du boulot) - Performance Boosters Wolfenstein: Enemy Territory allows you to customize your settings so that you can improve the visuals or decrease them. Some of them have a greater impact on performance than others. Below are some settings that will improve your performance, but at the expense of the visuals: 1. Set the system options to 'Fastest' 2. \com_maxfps (set to a high number i.e 400) 3. \cg_atmosphericeffects 0 4. \cg_wolfparticles 0 5. \r_fastsky 1 6. \r_picmip 3 7. \cg_drawgun 0
  • # Re: Google il est cassé !

    Posté par  . En réponse au journal Google il est cassé !. Évalué à 1.

    www.teoma.com est pas mal aussi ...
  • [^] # Re: Droit d'auteur et travailleurs

    Posté par  . En réponse à la dépêche Droit d'auteur et travailleurs. Évalué à 3.

    Non, je pense que Pas_moi s'est mal exprime. Il s'agit de la clause de non concurence qui doit etre limite geographiquement et/ou dans le temps. Une jurisprudence de cet été a par ailleurs condamné un employeur à verser un dédommagement à son ex-employé, car celui-ci ne pouvait légalement trouver du travail (toujours sous le coup de la clause de non concurrence) ... Bref, maintenant c'est une clause a double tranchant : si ta boite en pose une, tu peux l'attaquer lors de ton départ et lui demander de te payer pendant les 6 mois de durée de ladite clause...
  • [^] # Re: WebMiel, un logiciel de communication communautaire

    Posté par  . En réponse à la dépêche WebMiel, un logiciel de communication communautaire. Évalué à 3.

    La plupart des projets n'utilisant pas de toolkit graphique compilent sous gcj.
    Il y a eu des avancees recentes pour le support des toolkit graphique (Eclipse compile entierement sous gcj maintenant)

    Non, je pense que ce qui est rare c'est que les projets developpes en Java utilisent gcj. La plupart preferent tourner sous une JVM ...
  • # Re: SCO-Caldera attaque RedHat et SuSe

    Posté par  . En réponse à la dépêche SCO-Caldera attaque RedHat et SuSe. Évalué à 8.

    Ce qui me rassure quand meme c'est la fin de l'article (page 3)

    Il serait possible que SCO ne possede encore aucune preuve contre IBM, et tenterait de forcer ce dernier a faire une declaration compromettante, (l'article precise que c'est monnaie courante dans les affaires civiles) afin d'obtenir des preuves ...
    L'article precise encore que ce pourrait etre aussi le cas de l'attaque contre RedHat et Suse, meme si le representant de SCO a l'air d'avoir plus de preuves contre eux.

    Par contre il y a une partie de l'interview qui m'a fait dresse les cheveux sur la tete : (page 2)

    -"Linux vient de Unix et nous possedons le systeme Unix". Tous les contributeurs de Linux nous ont dit que c'etait faux. Ils disent que Linux a ete developpe independamment. Que Linux n'est pas derive de Unix. Est-ce que vous etes d'accord avec ca ?
    - Non, Tout cela sera examine au tribunal.

    Assez bizarre quand meme, surtout quand le meme bonhomme dit que la version du noyau de Linus (le kernel officiel) est au dessus de tout soupçon.

    Bref, j'ai vraiment l'impression qu'ils font tout et n'importe quoi...
  • # Re: Serveur de Fax, ppp partagé sur RTC pour petite entreprise

    Posté par  . En réponse au journal Serveur de Fax, ppp partagé sur RTC pour petite entreprise. Évalué à 4.

    En stage j'avais mis en place une solution de ce type pour le partage de connexion ...
    C'etait en 98.

    Un poste Linux sur une Redhat de l'epoque avec diald, et des postes clients sous Windows 98 et Windows NT4.
    Ca marchait bien.

    En fait, tu parametres tes postes clients pour que leur passerelle soit ton poste linux avec diald.
    Sous ton linux, tu lances diald qui te cree une interface pipeau avec le mask de sortie.

    Du coup, des que tu as du trafic réseau qui doit sortir sur le net, il passe forcement sur l'interface pipeau cree par diald (via des simples regles de routage). Diald le detecte, lance le modem, etablit la connexion, et balance les paquets reseaux dessus.

    C'est completement transparent pour tous les clients.

    Le seul truc un peu chiant c'est que parfois les clients partent en timeout le temps que le modem numerote.

    A l'epoque ca marchait tres bien, j'imagine que maintenant c'est la fete ...

    A+
  • [^] # Re: besoins d'un conseil pour créer un environnement 3D interactif

    Posté par  . En réponse au journal besoins d'un conseil pour créer un environnement 3D interactif. Évalué à 5.

    Je ferai effectivement les meme conseils ...

    Pour la GUI, je proposerai QT, le probleme c'est que c'est payant sous Windows... Mais bon, si t'es paye pour, je pense que le temps gagne compense largement l'achat d'une license ...
    ACE est vraiment tres tres bien foutu, un petit hic, le manque de doc. Par contre, il y a de tres bons bouquins dessus ...