C'est vraiment qu'au final ce n'est pas grand chose, mais ça permet de faire tout de même pas mal de choses (en bien et en mal) au niveau d'une page web, merci XMLHttpRequest.
Le mieux reste à mon avis les trucs comme Protobuf[1] qui à partir d'une définition permette de générer le code de sérialisation/désérialisation. Les messages peuvent alors être transformés en binaire pour le communication inter-machine ou en texte pour sa lecture par un humain.
Bon maintenant c'est vrai qu'il ne supporte pas tous les langages/plateformes et donc ne favorise pas l'intercommunication dans un milieu fortement hétérogène, son but étant avant tout les performances.
J'espère qu'un jour les décideurs dlfpiens changeront d'attitude pour admettre que l'édition de contenu est un avantage.
La prévisualisation c'est bien beau mais des erreurs peuvent se remarquer plus tard soit par la personne qui poste ou soit par un commentaire d'une autre personne. Il n'y a rien de pire que de laisser du contenu sur le net qui contiennent des fautes.
Il y a milles façons de contourner les problèmes liés à l'édition des commentaires, par exemple en citant systématiquement la patie du texte auquel on fait référence lors d'une réponse ou en ayant un historique sur chaque contenu (comme un wiki).
De plus l'utilisation "malhonnête" que tu décris va arriver très rarement et la personne sera alors connu comme ayant été de mauvaise fois.
Un journal peut s'apparenter à un petit article. Cet article peut être amené à légèrement évoluer et/ou à être corrigé suite à des commentaires, c'est comme ça que fonctionne la plus part des blogs que je connais.
Donc, peut-être qu'il y a quelques désavantage mineurs concernant les possibilités d'édition mais il y a surtout de gros avantages.
Oui, il est clair que le code Ruby pourrait être énormément amélioré et simplifié.
Mais à mon avis il montre une chose intéressante avec l'approche orientée objet , c'est la manie de tout vouloir systématiquement modéliser, que ce soit en Ruby ou dans un autre langage OO.
En exagérant beaucoup ça donne un peu ça :
1. J'identifie mes objets
2. Je définis des associations
3. J'écris mes classes, leurs actions et leurs états
4. Je réfléchis comment tout ce merdier va bien pouvoir coopérer pour résoudre mon problème initial...
Bref, j'ai trouvé mon bonheur dans les langages fonctionnels, d'abord Erlang puis Haskell ;-)
Un pote qui apprenait le Ruby m'avait envoyé un petit bout de code¹ qu'il avait écrit.
Le but était de calculer les probabilités de réussite pour le jeu de rôle L5R² en fonction des points de compétence, de caractéristiques et de la difficulté. Chaque lancé de dé est répété un certain nombre de fois, par exemple 1000, afin de pouvoir faire un moyenne du taux de succès.
Comme j'étais en train d'apprendre Haskell (je le suis toujours ;)) je me suis dit que c'était un bon entrainement que de l'écrire en Haskell.
Voici mon code³, je ne pense pas qu'il soit illisible ou compliqué malgré le fait que ce soit de l'Haskell. Je vous laisse le comparer à la version Ruby¹.
???
Et comment tu fais pour developper dans le langage si t'as pas les specs du langage?
Disons qu'il n'est pas indispensable d'avoir une formalisation complète et exhaustive du langage pour pouvoir l'utiliser. Je ne pense pas que beaucoup de développeurs Java aient lu ses specs en entier : http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.(...) .
On a le droit de t'interdire de compiler du code?
A la rigueur, verouiller une API je dit pas, mais ca sort du langage pour rentrer dans le framework a ce niveau...
Bein la EULA peut dire à peu près n'importe quoi sur ce que t'as le droit de faire ou de ne pas faire...
Pourquoi?
Si les specs ne sont pas distribuées ça rend le travail vite difficile ;)
Je ne suis pas sur que les spécifications de tous les langages soient publiés au complet, je ne suis pas sur qu'il soit autorisé de réaliser des implémentations pour tous les langages et je ne suis pas sur que ce soit techniquement possible...
Par exemple, LassoSoft¹ (qui publie un langage, Lasso, ainsi que la plateforme qui va avec) ne délivre pas, à ma connaissance, les spécifications de leur langage et je ne pense pas qu'ils autorisent d'autres implémentations que la leur.
Donc, oui, je pense que l'on peut dire qu'un langage est libre ou non.
[..]mais l'utilisation de ces WMs nécessite pas mal d'apprentissage, (nombreux raccourcis claviers,...)[..]
J'utilise personnellement xmonad[1] et voici la listes des raccourcis principaux à retenir :
* MOD-[0-9] : change de bureau virtuel, + SHIFT pour déplacer la fenêtre courante
* MOD-SHIFT-ENTER : lancer un terminal
* MOD-ENTER : définir la fenêtre courante comme fenêtre principale
* MOD-p : permet de lancer une application en tapant le début de son nom puis ENTER
* MOD-h / MOD-l : permet de change la taille de la zone principale
* MOD-SPACE : permet de changer le type de layout
* MOD-, / MOD-. : permet de déplacer des fenêtres dans la zone principale
* MOD-TAB : change le focus vers la fenêtre suivante, possible également en déplacement le pointeur de la souris vers une autre fenêtre
Honnêtement il n'y en a pas énormément à mémoriser, en quelques heures d'utilisation on a vite pris l'habitude.
Par contre la difficulté provient plutôt de la mise en place et de la configuration qui nécessite un peu d'édition de fichiers de conf. Heureusement la documentation d'xmonad est plutôt bien faite avec, par exemple, une description pas-à-pas de sa mise en place[2].
J'ai également lu le bouquin de Joe Armstrong et j'ai réalisé un petite application pour m'amuser et découvrir ce langage sous la forme d'un petit web-chat.
Le résultat se trouve ici (serveur de préprod, donc on peut y faire ce que l'on veut) : http://www.euphorik.ch:8090
Et le code est libre et disponible ici : http://dev.euphorik.ch/repositories/browse/euk/tags/1.1.4
Ce qui est marrant c'est que le paradigme fonctionnel existe depuis bientôt 50 ans avec des langage tel que Lisp. Il a beaucoup et est toujours utilisé dans le domaine de la recherche mais peu connu par le grand public. A mon avis c'est dû au grand succès de C puis de l'orienté objet façon C++ qui ont donné naissance à des langages, pas forcément des plus joyeux, comme Java et C# qui représentent actuellement une très grande partie du marché.
On redécouvre actuellement le fonctionnel grâce à des langages de plus en plus accessibles et documentés tels que Clojure, Erlang, Scala, OCaml, Haskell, etc. Il est clair que la programmation fonctionnelle apporte des concepts plus abstraits comme la currification, les fonctions de premier ordre, les fonctions d'ordre supérieur, l'immutabilité, etc. alors que l'orienté objet se veut une approche de modélisation du monde réel par décomposition en objets.
Également quelques langages, à la base très orienté objet, se rapprochent du monde fonctionnel, je pense notamment à Ruby, Python et C# (peut être Java dans quelques dizaines d'années :P).
Bref, j'encourage tout le monde, du moins les programmeurs, à s'intéresser de plus près à ces langages. J'avais mis un lien précédemment qui je pense peut être une bonne introduction, je le remets ici : http://learnyouahaskell.com/chapters
Bonne lecture !
[^] # Re: \o/
Posté par Ummon . En réponse au journal pourquoi je quitte linux ubuntu. Évalué à 3.
# En parlant de jeux libres...
Posté par Ummon . En réponse au journal LGP annonce la sortie immédiate du jeu ShadowGround pour Linux, et autres nouvelles. Évalué à 6.
[1] : http://os.wildfiregames.com/index.fr.html
# 1932.97 € ...
Posté par Ummon . En réponse au message Offre d'emploi - développement de plugins pour OCS/GLPI (PHP/MySQL). Évalué à 6.
[^] # Re: YAML vs JSON
Posté par Ummon . En réponse à la dépêche YAML 1.2 est disponible !. Évalué à 1.
C'est vraiment qu'au final ce n'est pas grand chose, mais ça permet de faire tout de même pas mal de choses (en bien et en mal) au niveau d'une page web, merci XMLHttpRequest.
[1] http://en.wikipedia.org/wiki/Ajax_(programming)
[^] # Re: Il y a quelques trucs qui me chiffonnent
Posté par Ummon . En réponse à la dépêche YAML 1.2 est disponible !. Évalué à 2.
Bon maintenant c'est vrai qu'il ne supporte pas tous les langages/plateformes et donc ne favorise pas l'intercommunication dans un milieu fortement hétérogène, son but étant avant tout les performances.
[1] : http://code.google.com/p/protobuf/
[^] # Re: wikiliens
Posté par Ummon . En réponse au journal Un nouvel espoir pour la voiture électrique?. Évalué à -1.
La prévisualisation c'est bien beau mais des erreurs peuvent se remarquer plus tard soit par la personne qui poste ou soit par un commentaire d'une autre personne. Il n'y a rien de pire que de laisser du contenu sur le net qui contiennent des fautes.
Un jour peut-être...
[^] # Re: Uld, foutaises (toi tu vas te faire des copains ! )
Posté par Ummon . En réponse au journal Minitel 2.0, mais bien sûr. Évalué à 4.
# Un peu plus de précision tout de même !
Posté par Ummon . En réponse au journal Fin d'un des plus long vaporware au monde. Évalué à 2.
"[..]3D Realms aurait crevé comme un chaton myopathe sous les roues d'un hummer."
--> []
[^] # Re: Vote
Posté par Ummon . En réponse au journal Un bug de dlfp assez frustrant.. Évalué à -1.
De plus l'utilisation "malhonnête" que tu décris va arriver très rarement et la personne sera alors connu comme ayant été de mauvaise fois.
Un journal peut s'apparenter à un petit article. Cet article peut être amené à légèrement évoluer et/ou à être corrigé suite à des commentaires, c'est comme ça que fonctionne la plus part des blogs que je connais.
Donc, peut-être qu'il y a quelques désavantage mineurs concernant les possibilités d'édition mais il y a surtout de gros avantages.
[^] # Re: Vote
Posté par Ummon . En réponse au journal Un bug de dlfp assez frustrant.. Évalué à -6.
"Maintenant vous pouvez me moinsser !"
[^] # Re: Vote
Posté par Ummon . En réponse au journal Un bug de dlfp assez frustrant.. Évalué à -2.
Oui je sais : prévisualisation blablabla...
# Excellent
Posté par Ummon . En réponse à la dépêche Piwigo 2.0. Évalué à 1.
Juste un petit regret, dommage qu'il n'utilise pas une vraie base de données comme PostgreSQL.
# Rien à faire là
Posté par Ummon . En réponse au journal c'est l'histoire d'un mac et CRAC le disque. Évalué à 0.
Et oui, si on tient à ses données on fait des sauvegardes. La durée moyenne d'un disque dur grand public est de 3-4 ans.
[^] # Re: Et les humains qui faisaient ce boulot
Posté par Ummon . En réponse au journal Tirons sur l'ambulance... (ou la rame). Évalué à 1.
Les humains qui font ce boulot pourraient surement être mieux encadrés, formés, (rémunérés?), etc. afin de réellement servir à quelque chose.
[^] # Re: La simplicité d'Haskell????
Posté par Ummon . En réponse à la dépêche Concours de logo Haskell. Évalué à 2.
Mais à mon avis il montre une chose intéressante avec l'approche orientée objet , c'est la manie de tout vouloir systématiquement modéliser, que ce soit en Ruby ou dans un autre langage OO.
En exagérant beaucoup ça donne un peu ça :
1. J'identifie mes objets
2. Je définis des associations
3. J'écris mes classes, leurs actions et leurs états
4. Je réfléchis comment tout ce merdier va bien pouvoir coopérer pour résoudre mon problème initial...
Bref, j'ai trouvé mon bonheur dans les langages fonctionnels, d'abord Erlang puis Haskell ;-)
[^] # Re: La simplicité d'Haskell????
Posté par Ummon . En réponse à la dépêche Concours de logo Haskell. Évalué à 2.
Pour l'instant j'ai lu ça : http://learnyouahaskell.com/chapters
et les quatres premiers chapitres de Real World Haskell : http://book.realworldhaskell.org/read/
Pour la fonction 'Sequence', je n'ai aucune idée si elle est lazy ou non.
[^] # Re: La simplicité d'Haskell????
Posté par Ummon . En réponse à la dépêche Concours de logo Haskell. Évalué à 2.
Le but était de calculer les probabilités de réussite pour le jeu de rôle L5R² en fonction des points de compétence, de caractéristiques et de la difficulté. Chaque lancé de dé est répété un certain nombre de fois, par exemple 1000, afin de pouvoir faire un moyenne du taux de succès.
Comme j'étais en train d'apprendre Haskell (je le suis toujours ;)) je me suis dit que c'était un bon entrainement que de l'écrire en Haskell.
Voici mon code³, je ne pense pas qu'il soit illisible ou compliqué malgré le fait que ce soit de l'Haskell. Je vous laisse le comparer à la version Ruby¹.
[1] http://www.gburri.org/bordel/l5r_roll.rb
[2] http://l5r.alderac.com/
[3] http://www.gburri.org/bordel/l5r_roll.hs
[^] # Re: "langage libre"
Posté par Ummon . En réponse au journal Haskell se cherche un nouveau logo. Évalué à 0.
Et comment tu fais pour developper dans le langage si t'as pas les specs du langage?
Disons qu'il n'est pas indispensable d'avoir une formalisation complète et exhaustive du langage pour pouvoir l'utiliser. Je ne pense pas que beaucoup de développeurs Java aient lu ses specs en entier : http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.(...) .
On a le droit de t'interdire de compiler du code?
A la rigueur, verouiller une API je dit pas, mais ca sort du langage pour rentrer dans le framework a ce niveau...
Bein la EULA peut dire à peu près n'importe quoi sur ce que t'as le droit de faire ou de ne pas faire...
Pourquoi?
Si les specs ne sont pas distribuées ça rend le travail vite difficile ;)
[^] # Re: Chapeau
Posté par Ummon . En réponse au journal Haskell se cherche un nouveau logo. Évalué à 2.
As-tu déjà posté un ticket ? sinon je m'en charge.
[^] # Re: "langage libre"
Posté par Ummon . En réponse au journal Haskell se cherche un nouveau logo. Évalué à 4.
Par exemple, LassoSoft¹ (qui publie un langage, Lasso, ainsi que la plateforme qui va avec) ne délivre pas, à ma connaissance, les spécifications de leur langage et je ne pense pas qu'ils autorisent d'autres implémentations que la leur.
Donc, oui, je pense que l'on peut dire qu'un langage est libre ou non.
[1] http://www.lassosoft.com
# Par rapport au site allemand
Posté par Ummon . En réponse au journal voyages-sncf : une bonne blague. Évalué à 3.
- Clair
- Sobre
- Rapide
[1] http://www.cff.ch/
[^] # Re: Redmine est pas mal
Posté par Ummon . En réponse à la dépêche Nouvelle version CodingTeam estampillée 0.9. Évalué à 1.
:P
---> []
# Difficulté des tiling-managers
Posté par Ummon . En réponse au journal Tiling gnome. Évalué à 2.
J'utilise personnellement xmonad[1] et voici la listes des raccourcis principaux à retenir :
* MOD-[0-9] : change de bureau virtuel, + SHIFT pour déplacer la fenêtre courante
* MOD-SHIFT-ENTER : lancer un terminal
* MOD-ENTER : définir la fenêtre courante comme fenêtre principale
* MOD-p : permet de lancer une application en tapant le début de son nom puis ENTER
* MOD-h / MOD-l : permet de change la taille de la zone principale
* MOD-SPACE : permet de changer le type de layout
* MOD-, / MOD-. : permet de déplacer des fenêtres dans la zone principale
* MOD-TAB : change le focus vers la fenêtre suivante, possible également en déplacement le pointeur de la souris vers une autre fenêtre
Honnêtement il n'y en a pas énormément à mémoriser, en quelques heures d'utilisation on a vite pris l'habitude.
Par contre la difficulté provient plutôt de la mise en place et de la configuration qui nécessite un peu d'édition de fichiers de conf. Heureusement la documentation d'xmonad est plutôt bien faite avec, par exemple, une description pas-à-pas de sa mise en place[2].
[1] xmonad : http://xmonad.org/
[1] Guide de configuration pas-à-pas : http://haskell.org/haskellwiki/Xmonad/Config_archive/John_Go(...)
[^] # Re: Il était une fois les langages fonctionnels ...
Posté par Ummon . En réponse au journal Sortie du livre Real World Haskell. Évalué à 2.
Le résultat se trouve ici (serveur de préprod, donc on peut y faire ce que l'on veut) : http://www.euphorik.ch:8090
Et le code est libre et disponible ici : http://dev.euphorik.ch/repositories/browse/euk/tags/1.1.4
Ce qui est marrant c'est que le paradigme fonctionnel existe depuis bientôt 50 ans avec des langage tel que Lisp. Il a beaucoup et est toujours utilisé dans le domaine de la recherche mais peu connu par le grand public. A mon avis c'est dû au grand succès de C puis de l'orienté objet façon C++ qui ont donné naissance à des langages, pas forcément des plus joyeux, comme Java et C# qui représentent actuellement une très grande partie du marché.
On redécouvre actuellement le fonctionnel grâce à des langages de plus en plus accessibles et documentés tels que Clojure, Erlang, Scala, OCaml, Haskell, etc. Il est clair que la programmation fonctionnelle apporte des concepts plus abstraits comme la currification, les fonctions de premier ordre, les fonctions d'ordre supérieur, l'immutabilité, etc. alors que l'orienté objet se veut une approche de modélisation du monde réel par décomposition en objets.
Également quelques langages, à la base très orienté objet, se rapprochent du monde fonctionnel, je pense notamment à Ruby, Python et C# (peut être Java dans quelques dizaines d'années :P).
Bref, j'encourage tout le monde, du moins les programmeurs, à s'intéresser de plus près à ces langages. J'avais mis un lien précédemment qui je pense peut être une bonne introduction, je le remets ici : http://learnyouahaskell.com/chapters
Bonne lecture !
[^] # Re: Et...Pour
Posté par Ummon . En réponse au journal Sortie du livre Real World Haskell. Évalué à 1.
Sortie fin novembre, disponible sur papier électronique.