L'annonce sur le site de Libre Accès parle de la licence « Creative Commons » or ce n'est pas une licence mais un ensemble de plusieurs licences. C'est laquelle en particulier ? La clause NC (non commercial) change beaucoup de choses par exemple...
Sinon, vous parlez de ramener le concert à la maison sur clé USB. Chouette idée. Mais pourras-t-ton acheter l'album si le concert nous a plu ?
L'implémentation de Python pour Parrot la plus avancée semble être : http://code.google.com/p/pynie/
... ne semble pas très avancé. Pirate (l'ancienne implémentation) semble mort depuis 2006.
Je pense que la solution serait d'obliger les utilisateurs à installer un mouchard sur leur ordinateur. Ce mouchard permettrait à la police de vérifier que l'ordinateur ne contient pas de fichier volé. Ah mince, je crois qu'Hadopi y a pensé avant moi, je pourrai pas breveter l'idée :-(
Bon c'est sûr que Google est autrement plus gentil (Don't be evil!), il nous offre toutes les sources de son moteur de recherche et offre des bières gratuites au FOSDEM ! (attention, il y a un piège)
Je pensais que la version 4.4 allait sortir rapidement...mais j'ai été trop optimiste
Je crois que personne n'aime les bugs dans les compilateurs. GCC ne peut pas se permettre de sortir avec le moindre bug critique. D'ailleurs à ce que j'ai compris, ils ont le même mode de développement que le noyau Linux : ils rajoutent des fonctionnalités puis corrigent les bugs.
Encore un autre framework qui révolutionne le web ? Pfff, ça devient lassant. Pour comparer les frameworks, il faut regarder :
* son âge : s'il a moins d'un an, c'est trop jeune pour être déployé en production
* la taille de la communauté : impacte directement la quantité de documentations et de guides disponibles (ex: comparez la documentation de Django à celle de Nagare, c'est vite vu...)
* le nombre de sites l'utilisant : plus un framework est utilisé, moins l'auteur va s'amuser à casser la compatibilité ;-) (ou alors assure la maintenance des anciennes versions)
De mon expérience, Django est plus mature que Pylons par exemple. Django est mieux documenté et rapide à prendre en main. J'avais un peu galéré pour le brancher sur Apache par contre. J'avais besoin d'Apache pour du Single Sign On (SSO).
Est-ce que vous expliquez aux gens ce que contient le CD ou alors ça sert juste de sous-bock pour leur bière ? Parce que c'est facile de donner quelque chose gratuitement, mais sans explication c'est comme le jetter à la poubelle. Même pour une personne motivée et déterminée, migrer de Windows à Linux est très difficile.
The plan is to eventually make this the only API for string formatting, and to start deprecating the % operator in Python 3.1.
Il y a beaucoup de conditionnel... Parfois, des fonctions marquées comme dépréciées survivent de longue années, voir perdent leur status « déprécié » plus tard :-)
En fait, j'ai testé la branche py3k (future 3.1) : bah la syntaxe « format % args » existe toujours... Où as-tu vu que la syntaxe % est dépréciée, car ça me dit rien ?! Apparemment, cette pétition est donc doublement inutile.
En fait, il y a pas mal de demandes récurrentes pour changer le langage. Là je vois un nouvelle tentative de rendre « : » optionnel. La liste de discussion python-ideas sert à discuter les changements du langage (alors que python-dev sert plus à discuter de l'implémentation, et python-user est pour l'entraide des utilisateurs). http://mail.python.org/mailman/listinfo/python-ideas
J'ai déjà croisé un mec qui a forké Python (il avait SON langage de programmation basé sur Python) pour rendre l'utilisation du point optionnel entre un objet et son attribut : obj.attr=42 s'écrit alors « obj attr = 42 », de même a.b.c=d s'écrit « a b c=d ». J'ai regardé ce que ça donne et je trouve le résultat (code écrit dans ce nouveau langage) moins lisible.
Après, y'a ceux qui veulent rendre self implicite... Encore un grand débat qui brasse de l'air depuis des années alors qu'il a été expliqué à plusieurs reprises pourquoi self est une bonne chose et nécessaire pour certaines constructions (j'ai pas d'url sous la main) ;-)
c'est malheureusement les seuls éléments que j'ai pour la défense de ce brave %
Accessoirement, dans la branche Python 2.x, aucune fonctionnalité n'est supprimée depuis Python 2.0 (sorti en 2000). Donc ton « brave % » restera jusqu'à la mort de Python2... et c'est pas encore prévu. Donc, tu t'inquiètes un peu tôt je trouve. Personne ne t'oblige à utiliser Python3.
C'est n'importe quoi comme argument de vouloir supprimer le % parce les tuples singleton sont laids.
Non, j'essayais de dire que .format() n'a pas deux formes pour les arguments indexés (en opposition aux arguments nommés) :
* "%s" % x
* "%s" % (a, b)
Dans le 1er cas, le comportement change selon que x est un tuple ou non. On peut tomber dans le panneau.
Tandis qu'avec format :
* "{0}".format(x)
* "{1}, {2}".format(a, b)
La syntaxe est homogène et ne prête à confusion. Pour reproduire le comportement « args=("cle", "valeur"); "%s=%s" % args », on doit utiliser le caractère étoile qui indique explicitement d'on « déroule » le tuple : "{0}={1}".format(*args).
Une pétition n'est pas la bonne méthode pour discuter d'une fonctionnalité. Passe plutôt par la liste de discussion « python-dev », explique les arguments pour conserver l'ancienne notation et répond aux critiques que tu vas recevoir.
Au sujet de ton argumentation, je la trouve très faible.
... string.format which is (...) more _verbose_
boring to type
The brackets are not easily found by our fingers on azerty keyboard (altgr + [5/+])
the resulting expression is longer
good syntaxic sugar
Tu ne vas pas convaincre les développeurs avec ces arguments. L'argument de la concision est opposé aux principes de Python : relit « import this ».
Déjà, la notation « format % arguments » est une des seules à utiliser des opérateurs, alors que la grande majorité utilise des méthodes (ex: chaine.strip()) ou des fonctions, (ex: len(chaine)). C'est une exception au langage qui n'est pas homogène avec le reste du langage.
Cette notation souffre de défauts, il existe la forme « "%s" % var » et la forme « "%s" % (var1, var2) », et la première est source de problèmes : >>> x="1 2"; print "%s" % x
1 2
>>> x=(1, 2); print "%s" % x
Traceback (most recent call last):
File "", line 1, in
TypeError: not all arguments converted during string formatting
Il est difficile d'expliquer pourquoi « parfois ça marche, parfois non ». Il faut utiliser la 2e forme qui est plus laide (virgule toute seule qui semble bizzare) dans ce cas : >>> x=(1, 2); print "%s" % (x,)
(1, 2)
Il existe une 3e forme où les arguments sont nommés : >>> print "%(truc)s" % {'truc': (1, 2)}
(1, 2)
Le problème est le suffixe S qui semble sorti de nulle part et qu'on oublie facilement : >>> print "%(truc)" % {'truc': (1, 2)}
Traceback (most recent call last):
File "", line 1, in
ValueError: incomplete format
Bref, la notation « format % arguments » est concise mais est source de problèmes subtiles, difficile à voir pour un œil non entrainé.
Anecdote : La traduction française de Gajim comportait un bug. Je me souviens plus des détails, mais c'était une erreur du genre : « Login : %(login)s » qui était traduit « Identifiant : %(login) ». Le S étant oublié, le formatage de la chaîne lance une erreur. Mais bon, je pense qu'un traducteur (très souvent quelqu'un qui ne programme pas) peut aussi faire des bêtises avec la notation "{...}".
# CC oui, mais laquelle ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Soirée concerts anti-Hadopi organisée par Libre Accès le 27 mars. Évalué à 5.
Sinon, vous parlez de ramener le concert à la maison sur clé USB. Chouette idée. Mais pourras-t-ton acheter l'album si le concert nous a plu ?
# Autres vidéos FOSDEM
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Conférences Linux embarqué du FOSDEM 2009 : vidéos en ligne !. Évalué à 4.
http://ftp.heanet.ie/mirrors/fosdem-video/2009/
Je vous conseille l'excellente présentation d'ext4.
# Liens utiles
Posté par Victor STINNER (site web personnel) . En réponse au journal Publication de Parrot 1.0. Évalué à 10.
https://trac.parrot.org/parrot/
Status des différents langages (est-ce que le tableau lui-même est à jour ?) :
https://trac.parrot.org/parrot/wiki/Languages
Documentation :
http://docs.parrot.org/parrot/latest/html/
L'implémentation de Perl6 pour Parrot s'appelle « Rakudo » :
http://github.com/rakudo/rakudo/tree/master
L'implémentation de Python pour Parrot la plus avancée semble être :
http://code.google.com/p/pynie/
... ne semble pas très avancé. Pirate (l'ancienne implémentation) semble mort depuis 2006.
# L'écran de mon ordinateur est
Posté par Victor STINNER (site web personnel) . En réponse au sondage L'écran de mon ordinateur est. Évalué à 10.
[^] # Re: Exalead
Posté par Victor STINNER (site web personnel) . En réponse au journal Un moteur de recherche aussi futé et précis que bash?. Évalué à 2.
# La solution
Posté par Victor STINNER (site web personnel) . En réponse au journal Les plans de la prison de Nancy étaient sur les 4 ordinateurs volés.. Évalué à 10.
[^] # Re: Exalead
Posté par Victor STINNER (site web personnel) . En réponse au journal Un moteur de recherche aussi futé et précis que bash?. Évalué à 4.
[^] # Re: Et les perfs ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche La version 2.5 du compilateur LLVM est disponible. Évalué à 2.
Je crois que personne n'aime les bugs dans les compilateurs. GCC ne peut pas se permettre de sortir avec le moindre bug critique. D'ailleurs à ce que j'ai compris, ils ont le même mode de développement que le noyau Linux : ils rajoutent des fonctionnalités puis corrigent les bugs.
[^] # Re: Et Nagare dans tout ça ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Python et le web : deux sorties majeures et trois articles Linux Mag. Évalué à 2.
[^] # Re: mais alors ???
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche PyCon France 2009 : appel à orateurs et sponsors. Évalué à 2.
[^] # Re: Et Nagare dans tout ça ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Python et le web : deux sorties majeures et trois articles Linux Mag. Évalué à 6.
* son âge : s'il a moins d'un an, c'est trop jeune pour être déployé en production
* la taille de la communauté : impacte directement la quantité de documentations et de guides disponibles (ex: comparez la documentation de Django à celle de Nagare, c'est vite vu...)
* le nombre de sites l'utilisant : plus un framework est utilisé, moins l'auteur va s'amuser à casser la compatibilité ;-) (ou alors assure la maintenance des anciennes versions)
De mon expérience, Django est plus mature que Pylons par exemple. Django est mieux documenté et rapide à prendre en main. J'avais un peu galéré pour le brancher sur Apache par contre. J'avais besoin d'Apache pour du Single Sign On (SSO).
[^] # Re: http://www.linuxfr.org/2009/03/03/25107.html
Posté par Victor STINNER (site web personnel) . En réponse au journal Sortie de Qt 4.5 et Qt creator 1.0. Évalué à 5.
[^] # Re: http://www.linuxfr.org/2009/03/03/25107.html
Posté par Victor STINNER (site web personnel) . En réponse au journal Sortie de Qt 4.5 et Qt creator 1.0. Évalué à 4.
[^] # Re: There is no such thing as “putting a work in the public domain”,
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Open Shakespeare Edition, CC Zero et campagne anti-IE6. Évalué à 4.
http://fr.wikipedia.org/wiki/Droit_d'auteur#Droit_moral
http://fr.wikipedia.org/wiki/Domaine_public_en_droit_de_la_p(...)
# Explications
Posté par Victor STINNER (site web personnel) . En réponse au journal Nous partimes 500 mais par un prompt renfort nous nous vimes .... Évalué à 6.
[^] # Re: Mouhahahaha
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 2.
Il y a beaucoup de conditionnel... Parfois, des fonctions marquées comme dépréciées survivent de longue années, voir perdent leur status « déprécié » plus tard :-)
[^] # Re: Mouhahahaha
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 1.
[^] # Re: Fais un fork!
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 3.
http://mail.python.org/mailman/listinfo/python-ideas
[Python-ideas] Making colons optional?
http://mail.python.org/pipermail/python-ideas/2009-February/(...)
[^] # Re: Fais un fork!
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 2.
Après, y'a ceux qui veulent rendre self implicite... Encore un grand débat qui brasse de l'air depuis des années alors qu'il a été expliqué à plusieurs reprises pourquoi self est une bonne chose et nécessaire pour certaines constructions (j'ai pas d'url sous la main) ;-)
[^] # Re: C Uber Alles
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 4.
[^] # Re: Mouhahahaha
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 2.
Accessoirement, dans la branche Python 2.x, aucune fonctionnalité n'est supprimée depuis Python 2.0 (sorti en 2000). Donc ton « brave % » restera jusqu'à la mort de Python2... et c'est pas encore prévu. Donc, tu t'inquiètes un peu tôt je trouve. Personne ne t'oblige à utiliser Python3.
[^] # Re: J'aime pas les %
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 3.
Non, j'essayais de dire que .format() n'a pas deux formes pour les arguments indexés (en opposition aux arguments nommés) :
* "%s" % x
* "%s" % (a, b)
Dans le 1er cas, le comportement change selon que x est un tuple ou non. On peut tomber dans le panneau.
Tandis qu'avec format :
* "{0}".format(x)
* "{1}, {2}".format(a, b)
La syntaxe est homogène et ne prête à confusion. Pour reproduire le comportement « args=("cle", "valeur"); "%s=%s" % args », on doit utiliser le caractère étoile qui indique explicitement d'on « déroule » le tuple : "{0}={1}".format(*args).
[^] # Re: Mouhahahaha
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 6.
Au sujet de ton argumentation, je la trouve très faible.
... string.format which is (...) more _verbose_
boring to type
The brackets are not easily found by our fingers on azerty keyboard (altgr + [5/+])
the resulting expression is longer
good syntaxic sugar
Tu ne vas pas convaincre les développeurs avec ces arguments. L'argument de la concision est opposé aux principes de Python : relit « import this ».
Dans la balance, il faut aussi mettre les défauts de cette notation qui sont nombreux et ont plus de poids selon moi :
http://linuxfr.org/comments/1011166.html#1011166
[^] # Re: J'aime pas les %
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 7.
Cette notation souffre de défauts, il existe la forme « "%s" % var » et la forme « "%s" % (var1, var2) », et la première est source de problèmes :
>>> x="1 2"; print "%s" % x
1 2
>>> x=(1, 2); print "%s" % x
Traceback (most recent call last):
File "", line 1, in
TypeError: not all arguments converted during string formatting
Il est difficile d'expliquer pourquoi « parfois ça marche, parfois non ». Il faut utiliser la 2e forme qui est plus laide (virgule toute seule qui semble bizzare) dans ce cas :
>>> x=(1, 2); print "%s" % (x,)
(1, 2)
Il existe une 3e forme où les arguments sont nommés :
>>> print "%(truc)s" % {'truc': (1, 2)}
(1, 2)
Le problème est le suffixe S qui semble sorti de nulle part et qu'on oublie facilement :
>>> print "%(truc)" % {'truc': (1, 2)}
Traceback (most recent call last):
File "", line 1, in
ValueError: incomplete format
Bref, la notation « format % arguments » est concise mais est source de problèmes subtiles, difficile à voir pour un œil non entrainé.
Anecdote : La traduction française de Gajim comportait un bug. Je me souviens plus des détails, mais c'était une erreur du genre : « Login : %(login)s » qui était traduit « Identifiant : %(login) ». Le S étant oublié, le formatage de la chaîne lance une erreur. Mais bon, je pense qu'un traducteur (très souvent quelqu'un qui ne programme pas) peut aussi faire des bêtises avec la notation "{...}".
# Mouhahahaha
Posté par Victor STINNER (site web personnel) . En réponse au journal Il faut sauver le soldat %. Évalué à 2.