Sur le coup, j'ai presque failli me lancer à faire un fork de Ruby avec un comptage de références et des destructeurs
Tu peux réessayer Python, qui a un comptage de références et des destructeurs et un détecteur de cycles pour compléter le boulot ;-)
(et si tu te lasses des destructeurs il y a aussi les weakref avec callback optionnel)
Pour répondre à ton autre message, pouvoir écrire "x += 1" en Python est tout de même assez vieux...
Par contre, de là à passer self dans chaque méthode d'une classe ... vu comme ça on dirait plutôt un mauvais modèle objet...
Heu, tu sais, le "self" ou "this" ou quelque soit son nom est aussi "passé" dans les autres langages objets... simplement, de façon magique et implicite plutôt qu'explicite.
Oh, tu peux écrire (-199).__abs__() si ça te chante....
D'ailleurs la fonction abs() est elle-même un objet (comme tout en Python), donc dire que Python n'est pas objet parce qu'il y a des fonctions est un peu bidon...
_ la création de wrapper de bibliothèques C est franchement pas dur. (je sais pas ce qu'il en est en python?)
En Python tu peux utiliser Pyrex, ou bien ctypes, ou bien swig, ou bien tout faire à la main.
Pourquoi avoir un 'end' à la fin des fonctions et classes ?
et surtout, pourquoi autant de fonctions préfixés _et_ postfixé par '__'
Parce que ce sont des fonctions particulières liées au fonctionnement interne de la VM, c'est un moyen de les repérer facilement. En plus c'est esthétique.
et pouquoi self partout ?
Parce que explicit is better than implicit (tape "import this" dans ton interpréteur Python).
j'ai l'impression que beaucoup plus de personnes utilisant perl se tourne vers ruby plutôt que python
Faut dire qu'il faut avoir sacrément mauvais goût pour programmer en Perl :-)
Le problème vient du fait que dans ce cas le navigateur ne lit pas "correctement" le css car c'est comme s'il l'avait modifié en remplaçant ce 12 par un 14
Le navigateur a parfaitement le droit d'ignorer ou modifier des propriétés CSS. Je signale gentiment que c'est non seulement conforme à l'esprit du Web (qui est de fournir des contenus et non des directives graphiques exactes) mais de plus nécessaire pour l'accessibilité.
Pas sûr, il faut retourner les méthodes de Microsoft contre eux.
Génial ce militantisme bêlant qui voudrait que n'importe quel projet libre devienne une arme de guerre contre Microsoft, y compris au détriment de ses propres objectifs. Une encyclopédie libre c'est mieux si c'est lisible par tous, tu ne crois pas ?
Tu as déjà essayé d'enlever ie ?
Tu as déja essayé d'enlever complètement wmp ?
Et quel est l'intérêt, à part se la péter sur Linuxfr en disant "j'ai enlevé IE et WMP" ? Ou bien inventer des arguments fallacieux parce qu'on ne peut pas s'empêcher de critiquer Microsoft ? :)
Si tu installes Firefox et que tu le déclares comme navigateur par défaut, IE te laissera tranquille, je ne vois pas ce qu'il te faut de plus.
Tu as déja fait une mise a jour d'un vieux windows qui te force la mise à jour de ie7 (maj prioritaire)?
* un logiciel libre
* utilisant un format standard ouvert (ISO)
c'est peut-être pas convaincant pour Mme Michu, mais pour les administrations et entreprises c'est juste impératif.
Qu'est ce qui te prouve que le prix d'une licence de MS Windows n'est pas l'addition du prix de ses différents composants logiciel?
Parce que les dits composants logiciels n'ont pas de prix. Ils ne sont pas vendus séparément. Libre à toi de prouver le contraire.
tant que Microsoft force l'achat de ses logiciels, la situations ne risque pas de changer,
Pardon mais rien n'empêche les fabricants de pré-installer Firefox au-dessus de Windows. S'ils ne le font pas (alors qu'ils le font bien dans certains cas pour Word et autres bidules) c'est que la demande n'est pas pressante.
Pour installer un quelconque logiciel et maintenir l'ensemble de ses softs à jour pour un utilisateur de chez MS, c'est un vrai parcours du combattant.
Sauf que 99% des gens s'en foutent. "Maintenir l'ensemble de ses softs à jour", c'est le fantasme du geek qui poste sur Linuxfr, pas de l'utilisateur moyen de Windows. Ce dernier ne sait pas ce qu'est un système de gestion de dépendances et force est de constater que cela ne le titille pas plus que ça.
Là tu considères que l'utilisateur est lui même gestionnaire de package du système d'exploitation
Hmm c'est quoi cette remarque stupide ?
Installer Firefox sur Windows c'est télécharger et lancer un exe, je ne vois pas en quoi c'est compliqué pour l'utilisateur final.
Mes derniers égarements en c# m'ont permis de voir que pour les calculs en virgule flottante, 10 000 * .196 (la TVA) donnait des chiffres non nuls après la 5éme décimale par exemple
Ce n'est probablement pas les calculs qui sont buggés. Le type virgule flottante à représentation interne binaire n'est pas adapté à la représentation exacte des décimaux. Soit tu te satisfais d'une troncation à l'affichage (en utilisant la syntaxe de format qui va bien selon le langage), soit tu utilises un type decimal exact (comme il en existe pour divers langages).
3) parfois quand on voit comment les base de données sont douées en math on ferait mieux de les faire travailler à la place de nos langages de haut niveaux qui massacrent les décimales.
Là aussi c'est une question de type utilisé. Si tu choisis un FLOAT plutôt qu'un DECIMAL sous MySQL par exemple, tu auras les mêmes problèmes qu'en C# ou ailleurs.
Je ne vois pas en quoi les dernières versions de Python et de Ruby sont ambitieuses d'ailleurs.
Ce manque d'"ambition" (sic) est un reproche fallacieux. Python et Ruby suivent un processus évolutif, le fait qu'ils n'aient pas besoin de tout chambouler pour s'améliorer est un signe de qualité.
Cela me rappelle personnellement le passage du Fortran 77 vers le Fortran 90. C'est quasiment un autre langage.
Oui, et Fortran est resté archaïque et dépassé. Ce n'est peut-être pas la meilleure analogie possible pour défendre Perl6...
En lancant les deux chantiers Perl6 et Parrot, la communauté Perl s'est ouverte aux autres langages de script pour développer une plateforme optimisée pour ces langages.
En théorie c'est très bien. En pratique 1) Parrot existe depuis des années et ne propose pas d'implémentation complète d'un langage important (que ce soit Perl, Ruby, Python) 2) il semblerait que seule la communauté Perl s'intéresse réellement à Parrot...
Python et Ruby ont chacun leurs propres projets qui visent à s'affranchir du C pour l'écriture de l'environnement d'exécution. Ce qui est plus "ambitieux" que Parrot qui, à ma connaissance, continue à être écrit en C.
Perl6 est un des projets libre les plus ambitieux puisqu'il s'agit de concevoir un langage de manière communautaire 'from scratch'
Mouais... Perl6 emprunte beaucoup de constructions existantes à Perl, donc on ne peut pas vraiment dire qu'il ait été conçu "from scratch". Au contraire de Python et Ruby, d'ailleurs.
Les évolutions de Ruby et de Python sont certes non négligeables mais elles n'ont pas cette ambition.
C'est un argument fallacieux. Les évolutions de Perl6 n'ont rien de révolutionnaire, elles tendent juste péniblement à hisser Perl au niveau de langages plus modernes (et en gardant tout de même la complexité byzantine de Perl, ce qui ne risque pas de le rendre beaucoup plus agréable...). Le fait qu'il faille bouleverser tout le langage pour cela indique à quel point Perl<=5 est archaïque et irrécupérable.
baser tout cela sur une machine virtuelle à registre (Parrot) qui se veut universelle et orientée pour les langages de script.
Reste à voir si cela donnera quelque chose de concret un jour... Ca fait pas mal de temps que c'est en gestation, Parrot.
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.
Hahaha, oui, le bon vieux coup du langage de spécifications qui résoud tous les problèmes de programmation. Le tout avec des super buzzwords d'universitaire. Mort de rire.
Les enjeux et la pertinence du « libre » échappe désormais grandement à la plupart des contributeurs de wp (faites un tour sur la partie communautaire de wp pour vous en rendre compte), par contre l'attrait de la reconnaissance (surtout pour les scientifiques et chercheurs) en voyant son nom et ses qualités cités en gros sur l'article, ou l'attrait de l'argent (Google annonce qu'ils reverseront une part des bénéfices adsense aux rédacteurs) pourrait rendre wikipédia peu attrayante, pour certains contributeurs, en comparaison avec Knol.
D'abord ce n'est pas exclusif. Les scientifiques qui contribuent à Wikipédia n'ont pas arrêté de publier des articles dans des revues spécialisées ni de participer à des colloques.
De plus la "fuite des cerveaux" sera par construction limitée. Knol attribue chaque article à un auteur unique. Donc il n'y aura, pour chaque sujet, qu'une personne mise en avant : les autres "n'ont plus qu'à" rester sur Wikipédia ;-)
Enfin, on peut espérer qu'une partie des gens qui contribuent à Wikipédia sont convaincus de l'importance et de la pertinence du projet. Sinon je ne vois pas trop pourquoi ils y contribueraient à l'heure actuelle (certainement pas pour la notoriété).
C'est vrai mais ce que j'aime bien avec Google c'est qu'on se sent moins en prison qu'avec d'autres (suivez mon regard !!).
Avec Microsoft aussi au début on ne sentait pas en prison. Les produits Microsoft étaient très facilement piratables afin que les gens se les copient et s'y accoutument.
Des mécanismes de ce genre permettent de limiter le risque de corruption de données lors du traitement des erreurs ou lors d'une interruption inopinée de service
Et tout ce code a été perdu à cause d'un crash disque et d'un backup défectueux... C'est assez cocasse somme toute :)
De même utiliser les assert pour vérifier les paramètres publiques est une erreur.
Les assert() servent typiquement à vérifier le fonctionnement interne d'un programme en insérant des tests de conformité qu'on ne veut pas exécuter dans la version de production (parce que trop coûteux). Effectivement ils doivent se limiter à ça, et surtout pas à gérer la vérification des paramètres fournis par l'utilisateur ou un développeur tiers, ni le bon fonctionnement d'un dispositif d'entrées/sorties.
En effet, alors je précise: la programmation par contrat c'est bien pour détecter les erreurs des programmeurs.
Les erreurs simples d'utilisation d'une API peut-être. Les erreurs subtiles de sémantique, ça m'étonnerait, ou alors ça revient à réimplémenter une deuxième fois le programme sous forme de contrats (double-checking intégral).
[^] # Re: Alors ? enfin des destructeurs ???
Posté par Antoine . En réponse à la dépêche Ruby 1.9.0 est sorti pour Noël. Évalué à 2.
Tu peux réessayer Python, qui a un comptage de références et des destructeurs et un détecteur de cycles pour compléter le boulot ;-)
(et si tu te lasses des destructeurs il y a aussi les weakref avec callback optionnel)
Pour répondre à ton autre message, pouvoir écrire "x += 1" en Python est tout de même assez vieux...
[^] # Re: troll de noel
Posté par Antoine . En réponse à la dépêche Ruby 1.9.0 est sorti pour Noël. Évalué à 2.
Heu, tu sais, le "self" ou "this" ou quelque soit son nom est aussi "passé" dans les autres langages objets... simplement, de façon magique et implicite plutôt qu'explicite.
[^] # Re: troll de noel
Posté par Antoine . En réponse à la dépêche Ruby 1.9.0 est sorti pour Noël. Évalué à 2.
Oh, tu peux écrire (-199).__abs__() si ça te chante....
D'ailleurs la fonction abs() est elle-même un objet (comme tout en Python), donc dire que Python n'est pas objet parce qu'il y a des fonctions est un peu bidon...
_ la création de wrapper de bibliothèques C est franchement pas dur. (je sais pas ce qu'il en est en python?)
En Python tu peux utiliser Pyrex, ou bien ctypes, ou bien swig, ou bien tout faire à la main.
[^] # Re: troll de noel
Posté par Antoine . En réponse à la dépêche Ruby 1.9.0 est sorti pour Noël. Évalué à 1.
Pourquoi avoir un 'end' à la fin des fonctions et classes ?
et surtout, pourquoi autant de fonctions préfixés _et_ postfixé par '__'
Parce que ce sont des fonctions particulières liées au fonctionnement interne de la VM, c'est un moyen de les repérer facilement. En plus c'est esthétique.
et pouquoi self partout ?
Parce que explicit is better than implicit (tape "import this" dans ton interpréteur Python).
j'ai l'impression que beaucoup plus de personnes utilisant perl se tourne vers ruby plutôt que python
Faut dire qu'il faut avoir sacrément mauvais goût pour programmer en Perl :-)
[^] # Re: Le test ne fonctionn(ait) pas chez moi
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 1.
Le navigateur a parfaitement le droit d'ignorer ou modifier des propriétés CSS. Je signale gentiment que c'est non seulement conforme à l'esprit du Web (qui est de fournir des contenus et non des directives graphiques exactes) mais de plus nécessaire pour l'accessibilité.
[^] # Re: Compatibilité
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 1.
Génial ce militantisme bêlant qui voudrait que n'importe quel projet libre devienne une arme de guerre contre Microsoft, y compris au détriment de ses propres objectifs. Une encyclopédie libre c'est mieux si c'est lisible par tous, tu ne crois pas ?
[^] # Re: Vaporware ?
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 1.
Tu as déja essayé d'enlever complètement wmp ?
Et quel est l'intérêt, à part se la péter sur Linuxfr en disant "j'ai enlevé IE et WMP" ? Ou bien inventer des arguments fallacieux parce qu'on ne peut pas s'empêcher de critiquer Microsoft ? :)
Si tu installes Firefox et que tu le déclares comme navigateur par défaut, IE te laissera tranquille, je ne vois pas ce qu'il te faut de plus.
Tu as déja fait une mise a jour d'un vieux windows qui te force la mise à jour de ie7 (maj prioritaire)?
Mon Dieu quelle horreur.
[^] # Re: Vaporware ?
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 1.
* utilisant un format standard ouvert (ISO)
c'est peut-être pas convaincant pour Mme Michu, mais pour les administrations et entreprises c'est juste impératif.
Un logiciel libre n'est pas impératif, non....
[^] # Re: Vaporware ?
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 2.
Parce que les dits composants logiciels n'ont pas de prix. Ils ne sont pas vendus séparément. Libre à toi de prouver le contraire.
tant que Microsoft force l'achat de ses logiciels, la situations ne risque pas de changer,
Pardon mais rien n'empêche les fabricants de pré-installer Firefox au-dessus de Windows. S'ils ne le font pas (alors qu'ils le font bien dans certains cas pour Word et autres bidules) c'est que la demande n'est pas pressante.
[^] # Re: Vaporware ?
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 1.
Sauf que 99% des gens s'en foutent. "Maintenir l'ensemble de ses softs à jour", c'est le fantasme du geek qui poste sur Linuxfr, pas de l'utilisateur moyen de Windows. Ce dernier ne sait pas ce qu'est un système de gestion de dépendances et force est de constater que cela ne le titille pas plus que ça.
[^] # Re: Vaporware ?
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 1.
Hmm c'est quoi cette remarque stupide ?
Installer Firefox sur Windows c'est télécharger et lancer un exe, je ne vois pas en quoi c'est compliqué pour l'utilisateur final.
[^] # Re: Vaporware ?
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 1.
Sous Windows aussi, donc la remarque est fallacieuse.
[^] # Re: Vaporware ?
Posté par Antoine . En réponse à la dépêche IE8, le test Acid2 et le futur du web. Évalué à 3.
C'est une façon de noyer le poisson ?
Apple a exactement le même comportement. Il n'y a aucune raison d'employer le conditionnel.
[^] # Re: Perl, quel utilisation ?
Posté par Antoine . En réponse à la dépêche Sortie de Perl 5.10.0. Évalué à 2.
Ce n'est probablement pas les calculs qui sont buggés. Le type virgule flottante à représentation interne binaire n'est pas adapté à la représentation exacte des décimaux. Soit tu te satisfais d'une troncation à l'affichage (en utilisant la syntaxe de format qui va bien selon le langage), soit tu utilises un type decimal exact (comme il en existe pour divers langages).
3) parfois quand on voit comment les base de données sont douées en math on ferait mieux de les faire travailler à la place de nos langages de haut niveaux qui massacrent les décimales.
Là aussi c'est une question de type utilisé. Si tu choisis un FLOAT plutôt qu'un DECIMAL sous MySQL par exemple, tu auras les mêmes problèmes qu'en C# ou ailleurs.
[^] # Re: Perl, quel utilisation ?
Posté par Antoine . En réponse à la dépêche Sortie de Perl 5.10.0. Évalué à 2.
Ce manque d'"ambition" (sic) est un reproche fallacieux. Python et Ruby suivent un processus évolutif, le fait qu'ils n'aient pas besoin de tout chambouler pour s'améliorer est un signe de qualité.
Cela me rappelle personnellement le passage du Fortran 77 vers le Fortran 90. C'est quasiment un autre langage.
Oui, et Fortran est resté archaïque et dépassé. Ce n'est peut-être pas la meilleure analogie possible pour défendre Perl6...
En lancant les deux chantiers Perl6 et Parrot, la communauté Perl s'est ouverte aux autres langages de script pour développer une plateforme optimisée pour ces langages.
En théorie c'est très bien. En pratique 1) Parrot existe depuis des années et ne propose pas d'implémentation complète d'un langage important (que ce soit Perl, Ruby, Python) 2) il semblerait que seule la communauté Perl s'intéresse réellement à Parrot...
Python et Ruby ont chacun leurs propres projets qui visent à s'affranchir du C pour l'écriture de l'environnement d'exécution. Ce qui est plus "ambitieux" que Parrot qui, à ma connaissance, continue à être écrit en C.
[^] # Re: Perl, quel utilisation ?
Posté par Antoine . En réponse à la dépêche Sortie de Perl 5.10.0. Évalué à 2.
Mouais... Perl6 emprunte beaucoup de constructions existantes à Perl, donc on ne peut pas vraiment dire qu'il ait été conçu "from scratch". Au contraire de Python et Ruby, d'ailleurs.
Les évolutions de Ruby et de Python sont certes non négligeables mais elles n'ont pas cette ambition.
C'est un argument fallacieux. Les évolutions de Perl6 n'ont rien de révolutionnaire, elles tendent juste péniblement à hisser Perl au niveau de langages plus modernes (et en gardant tout de même la complexité byzantine de Perl, ce qui ne risque pas de le rendre beaucoup plus agréable...). Le fait qu'il faille bouleverser tout le langage pour cela indique à quel point Perl<=5 est archaïque et irrécupérable.
baser tout cela sur une machine virtuelle à registre (Parrot) qui se veut universelle et orientée pour les langages de script.
Reste à voir si cela donnera quelque chose de concret un jour... Ca fait pas mal de temps que c'est en gestation, Parrot.
[^] # Re: Framework ... je te hais
Posté par Antoine . En réponse à la dépêche Fusillez vos applications avec Fusil 0.6. Évalué à 2.
Canevas ?
[^] # Re: Sémantiquement
Posté par Antoine . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.
Et j'ajoute qu'il est bon dans les tests unitaires de vérifier que les exceptions sont bien levées en cas d'erreur.
[^] # Re: Sémantiquement
Posté par Antoine . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.
Hahaha, oui, le bon vieux coup du langage de spécifications qui résoud tous les problèmes de programmation. Le tout avec des super buzzwords d'universitaire. Mort de rire.
[^] # Re: Force de frappe
Posté par Antoine . En réponse au journal knol un concurrent de wikipedia. Évalué à 2.
D'abord ce n'est pas exclusif. Les scientifiques qui contribuent à Wikipédia n'ont pas arrêté de publier des articles dans des revues spécialisées ni de participer à des colloques.
De plus la "fuite des cerveaux" sera par construction limitée. Knol attribue chaque article à un auteur unique. Donc il n'y aura, pour chaque sujet, qu'une personne mise en avant : les autres "n'ont plus qu'à" rester sur Wikipédia ;-)
Enfin, on peut espérer qu'une partie des gens qui contribuent à Wikipédia sont convaincus de l'importance et de la pertinence du projet. Sinon je ne vois pas trop pourquoi ils y contribueraient à l'heure actuelle (certainement pas pour la notoriété).
[^] # Re: Google
Posté par Antoine . En réponse au journal knol un concurrent de wikipedia. Évalué à 2.
Avec Microsoft aussi au début on ne sentait pas en prison. Les produits Microsoft étaient très facilement piratables afin que les gens se les copient et s'y accoutument.
[^] # Re: Copyright devant être céder à SixApart...
Posté par Antoine . En réponse à la dépêche Movable Type Open Source est sorti. Évalué à 3.
N'importe quoi, il y a beaucoup d'hébergeurs mutualisés bas de gamme qui ne fournissent que PHP.
[^] # Re: le mieux est l'ennemi du bien
Posté par Antoine . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.
Et tout ce code a été perdu à cause d'un crash disque et d'un backup défectueux... C'est assez cocasse somme toute :)
[^] # Re: Vive les exceptions !
Posté par Antoine . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 3.
Les assert() servent typiquement à vérifier le fonctionnement interne d'un programme en insérant des tests de conformité qu'on ne veut pas exécuter dans la version de production (parce que trop coûteux). Effectivement ils doivent se limiter à ça, et surtout pas à gérer la vérification des paramètres fournis par l'utilisateur ou un développeur tiers, ni le bon fonctionnement d'un dispositif d'entrées/sorties.
[^] # Re: Ma réponse :
Posté par Antoine . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 3.
Les erreurs simples d'utilisation d'une API peut-être. Les erreurs subtiles de sémantique, ça m'étonnerait, ou alors ça revient à réimplémenter une deuxième fois le programme sous forme de contrats (double-checking intégral).