mercredi 30 décembre 2009
FREE IRAN
mercredi 30 décembre 2009 - Informations
Une bonne compilation des évènements violents de la manifestation du 27 décembre 2009 à Teheran.
billitch |
Bienvenue sur blog de billitch !
Du code, de la noise, et quelques pensées électrogènes... |
mercredi 30 décembre 2009
mercredi 30 décembre 2009 - Informations
Une bonne compilation des évènements violents de la manifestation du 27 décembre 2009 à Teheran.
|
1. Le lundi 1 février 2010à20:41, par r00k
2. Le vendredi 5 février 2010à15:32, par billitch
3. Le vendredi 5 février 2010à15:32, par billitch
4. Le vendredi 5 février 2010à16:01, par billitch
|
||
mardi 29 décembre 2009
mardi 29 décembre 2009 - Science
Ruby est un très joli langage. Un des plus jolis que j'ai vus, Lisp compris. Très concis et bizarrement très lisible, deux adjectifs rarement réunis dans un langage de programmation.
Et pourtant il ne dispose pas de fonctions à proprement parler. On parle bien de méthodes, de blocks, de lambdas, de procs mais jamais de fonctions. Et c'est bien sa force : au lieu de nous servir un seul type de code paramétrable, Ruby nous en propose 4.
On connait déjà les lambda du lambda-calcul, en Ruby un lambda est construit à partir d'un block :
add = lambda { |x,y| x + y }
add(1,2)
=> 3
Ce qui m'amène à parler des blocks.
En Ruby un block n'est pas utilisable seul, il faut plutôt le voir comme un bout de code utilisable ailleurs, pour construire un lambda ou autre chose, donc qui peut intervenir au moment de la "compilation". Du code parsé mais pas compilé utilisable pour construire d'autres éléments du programme, cela fait fortement penser aux macros et à la meta-programmation. Ça commence à me plaire !
Ensuite Ruby propose quelque chose qui ressemble aux lambdas mais qui diffère sensiblement et qu'on appelle Proc.
add = Proc.new { |x,y| x + y }
La différence est que Proc ajuste ses arguments en remplaçant ceux qui manquent par nil et en enlevant ceux en trop, et qu'elle ne compte pas comme un appel de fonction sur la pile : return dans une Proc fait sortir de la fonction qui l'appelle !
Finalement il y a les méthodes. Ruby est un langage très orienté objet car la plupart du code se retrouvera en fait dans des méthodes appartenant à un objet, lui-même appartenant à une classe, qui est elle-aussi un objet. (Comme les objets du Common Lisp sauf que les méthodes ne se spécialisent que sur un objet, qu'il n'y a qu'une méta-classe, et... bref ça fait moins le café.) Une méthode est donc rattachée à un objet, mais c'est loin d'être tout.
En plus de ses arguments, on peut passer un block (et un seul) à une méthode. La méthode peut alors l'appeler comme une fonction normale avec yield.
def sort_args(x, y)
x, y = y, x if y < x
yield(x, y)
end
sort_args(4, 2) { |a, b| b / a }
=> 2
Ce qui est marrant c'est qu'on peut nommer ce block et le convertir en un objet Proc utilisable ailleurs dans le programme :
def set_hook(arg, &block) @hook = block end
|
|
||
vendredi 25 décembre 2009
vendredi 25 décembre 2009 - moi
Jouaneux Yowel MILLE !!
Pour noël, le bonhomme coca cola m'a apporté des sucettes, et les gnomes ont fait venir quelques merveilles dans la boite aux lettres :
JE KIFFE !
|
1. Le vendredi 25 décembre 2009à21:50, par laori***e
|
||
|
1. Le dimanche 13 décembre 2009à12:52, par r00k
|
||
mercredi 9 décembre 2009
mercredi 9 décembre 2009 - Liberté
Extrait de mails...
Moi :
Connais-tu cet écrivain, La Bruyere ?
J'aime beaucoup ça :
« L’étude des textes ne peut jamais être assez recommandée ; c’est le chemin le plus court, le plus sûr et le plus agréable pour tout genre d’érudition ; ayez les choses de première main ; puisez à la source ; maniez, remaniez le texte ; apprenez-le de mémoire ; citez-le dans les occasions ; songez surtout à en pénétrer le sens dans toute son étendue et dans ses circonstances ; conciliez un auteur original, ajustez ses principes, tirez vous-même les conclusions ; les premiers commentateurs se sont trouvés dans le cas où je désire que vous soyez : n’empruntez leurs lumières, et ne suivez leurs vues, qu’où les vôtres seraient trop courtes ; leurs explications ne sont pas à vous, et peuvent aisément vous échapper ; vos observations au contraire naissent de votre esprit et y demeurent, vous les retrouverez plus ordinairement dans la conversation, dans la consultation et dans la dispute. Ayez le plaisir de voir que vous n’êtes arrêté dans la lecture que par les difficultés qui sont invincibles, où les commentateurs et les scoliastes eux-mêmes demeurent courts, si fertiles d’ailleurs, si abondants et si chargés d’une vaine et fastueuse érudition dans les endroits clairs, et qui ne font de peine ni à eux ni aux autres. Achevez ainsi de vous convaincre par cette méthode d’étudier, que c’est la paresse des hommes qui a encouragé le pédantisme à grossir plutôt qu’à enrichir les bibliothèques, à faire périr le texte sous le poids des commentaires ; et qu’elle a en cela agi contre soi-même et contre ses plus chers intérêts, en multipliant les lectures, les recherches et le travail qu’elle cherchait à éviter.» -- La Bruyère
Bisous,
Réponse :
Bien sûr que je connais La Bruyère! Il fait partie de ces penseurs qui ont préparé l'avènement des Lumières. J'aime aussi beaucoup ce texte. Ceux qu'il appelle les scoliastes correspondent exactement à ceux que je nomme les propagateurs de la *pensée morte*, ceux qui aseptisent l'innovation, par leur discours doctes et insipides, pour la rendre acceptable, privée de son contenu essentiel, à la grande masse des endormis conservateurs.
La Bruyère n'a pas été au sens propre un novateur contestataire de son époque, mais par sa rigueur, son exigence, en particulier sur la langue française (c'est un grand styliste), il a vraiment contribué au développement des "idées claires", du contenu limpides des philosophes de son temps et du 18ème.
Si tu découvres aujourd'hui et par toi-même La Bruyère : MORT A CES PUTAINS DE PROFS DE FRANÇAIS DU SECONDAIRE !!!
>=D
|
1. Le samedi 26 décembre 2009à23:04, par Baguette
2. Le mardi 5 janvier 2010à11:53, par gwigui
3. Le mardi 5 janvier 2010à11:53, par gwigui
4. Le mardi 5 janvier 2010à20:42, par billitch
5. Le mercredi 6 janvier 2010à00:18, par gwigui
|
||