Ceci dit, j'ai toujours été partisan qu'un logiciel bien écrit a le moins de lignes possible... et je peux vous assurer que c'est l'objectif qu'on a visé avec Opa. Les réécritures de parties du code ont notamment fait fortement diminuer le nombre de lignes du code d'Opa au cours des deux dernières années - et c'est une bonne chose.
haXe est un projet très intéressant, écrit par quelqu'un que je n'ai jamais rencontré mais qui a énormément contribué dans la communauté OCaml.
Je pense que les objectifs sont différents : haXe étant un langage ayant pour but d'écrire des applications multiplateformes, en particulier des jeux.
Opa a pour but d'écrire des applications et services web distribués.
Bienvenue sur linuxfr.
Nous connaissons bien Ocsigen, qui est un framework web pour OCaml là où Opa est une approche différente : Opa est un nouveau langage dédié au web, ce qui permet de mieux gérer la distribution, d'avoir un système de types mieux adapté au web et inclut plus de composants, notamment la base de données.
Nous aimons bien OCaml, qui est probablement un des meilleurs langages pour implanter un compilateur : d'ailleurs, nous avons implanté Opa en OCaml (probablement le plus gros projet jamais développé dans ce langage) mais nous pensons qu'OCaml n'est pas le langage le plus adapté au développement web.
Maintenant qu'Opa est libre, comparez !
Je ne pense pas que cela suffise à distribuer des applications.
Comment est distribuée la base de données avec nginx ? Que deviennent les sessions ? Dans le cas d'un chat, les messages que l'on verrait ne seraient pas les mêmes suivant le serveur... à moins que le code de l'application ne prenne en charge à la main cette distribution.
Un des aspects d'Opa est que cette distribution est faite automatiquement.
Effectivement, ce code devrait faire partie de la bibliothèque standard et aurait pu être écrit différemment... mais est tout de même logique.
Le pattern matching est une des features d'Opa.
La syntaxe actuelle est
match expr with
| pat1 -> e1
| pat2 -> e2
Les patterns sont le plus souvent des records qui sont une façon de faire du polymorphisme en Opa.
Ici { some = method } est un motif de record qui contient un champ some dont la valeur est method.
Il aurait été préférable d'écrire :
match HttpRequest.getmethod() with
| {some = {post}} ->
save_source(topic, HttpRequest.get_body()?"")
Resource.raw_status({success})
qui revient à compacter les deux pattern matching en un. Ici, on est dans le cas où getmethod renvoie un résultat et la méthode est post.
On exécute alors les deux intructions : save_source(...) et raw_status qui retourne la valeur success.
Au passage, le HttpRequest.get_body()?"" veut dire valeur de retour de get_body ou chaîne vide s'il y a une erreur.
Bien sûr, un langage doit être appris mais on s'y fait vite et si on aime, on a ensuite du mal à écrire autre chose ;)
C'est vrai que 20 lignes, c'est l'exemple de la home opalang.org qui a des fonctionnalités en moins que le lien que j'ai posté (sauvegarde de l'historique dans la db, date des messages, etc.).
Le mieux serait de mettre un ticket sur github pour le support Konqueror... voire un patch ;) En tout cas, cela doit être faisable assez facilement.
Pour les navigateurs sans JS, ce n'est pas la cible d'Opa et pour le coup l'adaptation serait grande.
Je ne suis pas sûr que les milliards de google ne se réduisent qu'à du soft ! C'est un processus qui est bien lancé, qui utilisent des centaines de milliers de machines maintenues par des milliers de personnes. C'est aussi - et beaucoup - du commercial, du marketing, etc.
Et dans ce cas, pourquoi ils n'ont pas pris un OS plus petit dont l'accès au code est plus simple ? De mon point de vue, faire un petit "hobby OS", c'est difficile mais pas la mer à boire [1]. Par contre, avant qu'il gère presque tous les matériels, ensemble et correctement, il y a des années à des centaines de personnes ! Et c'est pour ça, que je pensais qu'ils ont gardé 95% du code.
Tu as raison. Ce qui est important, pour un gros projet, c'est la cohérence de ses décisions.
Le plus facile pour y parvenir, c'est d'avoir un dictateur qui impose sa vision. Bonne ou mauvaise, au moins, ça va dans un sens...
Le risque quand on décentralise trop la prise de décisions, c'est l'éparpillement.
Mais
1) le logiciel libre peut avoir des ressources suffisantes pour se permette cet éparpillement, et ainsi explorer simultanément des directions opposées
2) avec de l'organisation, on doit pouvoir arriver à prendre des décisions cohérentes mais sans dictateur... maintenant le pb est comment bien s'organiser ?
Si c'est comme sur la Beta 2... chez moi à peine démarré, IE7 ouvert et le File Manager => 640 Mo de RAM utilisés. Je n'ai que 512 réels, donc ça swappe à mort en permanence !
C'est plus lent sur un P4 3.0J / 512 Mo que ne l'était Win 3.1 sur mon 486SX-20 / 4 Mo (une daube même à l'époque).
Côté référencement, la plateforme est optimisée pour faire apparaître efficacement les blogs des internautes dans les moteurs de recherche.
Tant qu'on y est, vous avez fait quoi au juste comme actions de "SEO" ? Je pense que ça peut intéresser pas mal de monde ici... merci de nous en dire plus !
C'est justement un des côtés les plus "jolis" (au sens programmation) de la GPL :
"You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works."
Et tant qu'on y est... son ubuntu n'est pas à jour !
Soit il s'est précipité pour faire son screenshot, soit il a installé Xgl et il n'a pas fait son update quotidien de cgwd.
Ah oui, autant pour moi pour l'AGP...
Par contre, vu le prix de la carte, on négligera le prix d'un convertisseur DVI -> VGA... Et il n'a pas mis le prix dans son cahier des charges !
Mais tu as raison, c'est pas la carte dont parle mansuetus.
Je ne pense pas qu'il y ait de corrélation forte entre les éléments des news et les milliers de requêtes faites par les utilisateurs !
Enfin, elle doit exister, mais elle doit être quand même infiniment plus faible pour le nom d'une distribution linux que le pic lié au décès d'une célébrité par ex.
Par contre, si tu cherches des arguments, il reste le fait que souvent, on tape le nom de sa distrib préférée suivi de son problème !
Excellent, on peut même comparer deux termes avec une virgule.
DISCLAIMER
Attention, le lien ci dessous est dangereux. Il est trollifère, il pourrait faire partie d'un journal dont on n'ose pas imaginer le titre.
Interdit à certaines personnes sensibles.
-
Et à peine mieux :
(ce code est bien sûr GPL, même si je songe fortement à le breveter : "caractérisé en ce que un compteur initialisé au préalable de l'éxécution d'une boucle effectuant une ou plusieurs expressions régulières" )
check.pl :
#!/usr/bin/perl
my $count = 0;
while ($_=<>) {
s/(.+)http.+/$1/;
if (/linux/) { $count++ }
}
print "$count\n";
Marrant... et ça marche toujours trois ans après.
Ceci dit, AOL c'est bien pire, pas une requête mais l'ensemble à partir du login.
Par exemple, on trouve des gens dont les requêtes sur leur nom jouxtent les classicos du porno !
Au fait, tu disais dans ton journal il y a trois qu'ils filtraient. Marche pô :
"Les mots clés tapés sur Lycos en ce moment même
boytemper |spiceyou
chargeur batterie |www.footjoy.fr
rose blanche |changer disques freins (commentaire perso: tu vas galérer !)
sex scenes |comptes prévisionnels
tchat |gets right
comptes prévisionnels |dragon
comptes prévisionnels |www.footjoy.fr
super vw nat's 2006 |tapisautomobile.com
camion de transport en vrac |spiral soundtrack
porno |changer disques freins
sexe kehl |sex scenes
vacances |domenech
www.msn.com |teste
changer disques freins |doujin
dragon |rose blanche"
[^] # Re: Ocsigen
Posté par |-| . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 3.
find . -name "*.mli" | xargs wc -l
32719 total
find . -name "*.ml" | xargs wc -l
174434 total
find . -name "*.opa" | xargs wc -l
64070 total
Et Js, C, scripts, etc.
Ceci dit, j'ai toujours été partisan qu'un logiciel bien écrit a le moins de lignes possible... et je peux vous assurer que c'est l'objectif qu'on a visé avec Opa. Les réécritures de parties du code ont notamment fait fortement diminuer le nombre de lignes du code d'Opa au cours des deux dernières années - et c'est une bonne chose.
[^] # Re: Ocsigen
Posté par |-| . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 4.
haXe est un projet très intéressant, écrit par quelqu'un que je n'ai jamais rencontré mais qui a énormément contribué dans la communauté OCaml.
Je pense que les objectifs sont différents : haXe étant un langage ayant pour but d'écrire des applications multiplateformes, en particulier des jeux.
Opa a pour but d'écrire des applications et services web distribués.
[^] # Re: Ocsigen
Posté par |-| . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 1.
Bienvenue sur linuxfr.
Nous connaissons bien Ocsigen, qui est un framework web pour OCaml là où Opa est une approche différente : Opa est un nouveau langage dédié au web, ce qui permet de mieux gérer la distribution, d'avoir un système de types mieux adapté au web et inclut plus de composants, notamment la base de données.
Nous aimons bien OCaml, qui est probablement un des meilleurs langages pour implanter un compilateur : d'ailleurs, nous avons implanté Opa en OCaml (probablement le plus gros projet jamais développé dans ce langage) mais nous pensons qu'OCaml n'est pas le langage le plus adapté au développement web.
Maintenant qu'Opa est libre, comparez !
[^] # Re: Support des navigateurs
Posté par |-| . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 3.
Je ne pense pas que cela suffise à distribuer des applications.
Comment est distribuée la base de données avec nginx ? Que deviennent les sessions ? Dans le cas d'un chat, les messages que l'on verrait ne seraient pas les mêmes suivant le serveur... à moins que le code de l'application ne prenne en charge à la main cette distribution.
Un des aspects d'Opa est que cette distribution est faite automatiquement.
[^] # Re: lisibilité
Posté par |-| . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 5.
Effectivement, ce code devrait faire partie de la bibliothèque standard et aurait pu être écrit différemment... mais est tout de même logique.
Le pattern matching est une des features d'Opa.
La syntaxe actuelle est
match expr with
| pat1 -> e1
| pat2 -> e2
Les patterns sont le plus souvent des records qui sont une façon de faire du polymorphisme en Opa.
Ici { some = method } est un motif de record qui contient un champ some dont la valeur est method.
Il aurait été préférable d'écrire :
match HttpRequest.getmethod() with
| {some = {post}} ->
save_source(topic, HttpRequest.get_body()?"")
Resource.raw_status({success})
qui revient à compacter les deux pattern matching en un. Ici, on est dans le cas où getmethod renvoie un résultat et la méthode est post.
On exécute alors les deux intructions : save_source(...) et raw_status qui retourne la valeur success.
Au passage, le HttpRequest.get_body()?"" veut dire valeur de retour de get_body ou chaîne vide s'il y a une erreur.
Bien sûr, un langage doit être appris mais on s'y fait vite et si on aime, on a ensuite du mal à écrire autre chose ;)
[^] # Re: Support des navigateurs
Posté par |-| . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 3.
C'est vrai que 20 lignes, c'est l'exemple de la home opalang.org qui a des fonctionnalités en moins que le lien que j'ai posté (sauvegarde de l'historique dans la db, date des messages, etc.).
[^] # Re: Support des navigateurs
Posté par |-| . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 1.
Le mieux serait de mettre un ticket sur github pour le support Konqueror... voire un patch ;) En tout cas, cela doit être faisable assez facilement.
Pour les navigateurs sans JS, ce n'est pas la cible d'Opa et pour le coup l'adaptation serait grande.
Par contre, il me semble qu'Opa est beaucoup plus puissant pour écrire des applications web complexes, cf. http://www.webtoolkit.eu/wt/src/simplechat vs https://github.com/Aqua-Ye/OpaChat/blob/master/src/main.opa
[^] # Re: hmmm
Posté par |-| . En réponse au journal La stratégie de Google. Évalué à 0.
Merci de moinsser mon post et le précédent aussi !
Et de ne pas regarder ici : http://www.google.fr/support/jobs/bin/topic.py?loc_id=1112&a(...)
[^] # Re: hmmm
Posté par |-| . En réponse au journal La stratégie de Google. Évalué à 4.
Et dans ce cas, pourquoi ils n'ont pas pris un OS plus petit dont l'accès au code est plus simple ? De mon point de vue, faire un petit "hobby OS", c'est difficile mais pas la mer à boire [1]. Par contre, avant qu'il gère presque tous les matériels, ensemble et correctement, il y a des années à des centaines de personnes ! Et c'est pour ça, que je pensais qu'ils ont gardé 95% du code.
[1] http://my.execpc.com/~geezer/osd/index.htm
[^] # Re: Dans les réponses
Posté par |-| . En réponse au journal NetBSD : droit dans le mur ?. Évalué à 3.
Le plus facile pour y parvenir, c'est d'avoir un dictateur qui impose sa vision. Bonne ou mauvaise, au moins, ça va dans un sens...
Le risque quand on décentralise trop la prise de décisions, c'est l'éparpillement.
Mais
1) le logiciel libre peut avoir des ressources suffisantes pour se permette cet éparpillement, et ainsi explorer simultanément des directions opposées
2) avec de l'organisation, on doit pouvoir arriver à prendre des décisions cohérentes mais sans dictateur... maintenant le pb est comment bien s'organiser ?
[^] # Re: Si si c'est possible !!!
Posté par |-| . En réponse au journal Les Lenovo s'envolent ?. Évalué à 2.
[^] # Re: Sans oublier
Posté par |-| . En réponse au journal Prix de Vista dévoilés par erreur .... Évalué à 6.
C'est plus lent sur un P4 3.0J / 512 Mo que ne l'était Win 3.1 sur mon 486SX-20 / 4 Mo (une daube même à l'époque).
[^] # Re: DRM?
Posté par |-| . En réponse au journal Ah en fait on s'était trompé, finalement la musique gratuite c'est bien. Évalué à 10.
http://i7.tinypic.com/261gqdh.png
[^] # Re: nous n'avons pas les mêmes valeurs...
Posté par |-| . En réponse au journal [Moulesquissime] Microsoft reconnaît sa rapacité…. Évalué à 2.
# SEO
Posté par |-| . En réponse à la dépêche Blog2Geek : des blogs pour les Geeks. Évalué à 3.
Tant qu'on y est, vous avez fait quoi au juste comme actions de "SEO" ? Je pense que ça peut intéresser pas mal de monde ici... merci de nous en dire plus !
[^] # Re: Contacte les
Posté par |-| . En réponse au journal Légalité ? source dispo mais proprio. Évalué à 3.
"You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works."
[^] # Re: [hors sujet]Pas très discret..
Posté par |-| . En réponse à la dépêche Glade 3 : l'échappée belle. Évalué à 2.
Soit il s'est précipité pour faire son screenshot, soit il a installé Xgl et il n'a pas fait son update quotidien de cgwd.
[^] # Re: Oula
Posté par |-| . En réponse au journal La diffusion phonographique populaire.. Évalué à 3.
A quand du pr0n en Creative Commons ?
[^] # Re: 3 ?
Posté par |-| . En réponse au journal Achat dans le spirit du libre. Évalué à 2.
Par contre, vu le prix de la carte, on négligera le prix d'un convertisseur DVI -> VGA... Et il n'a pas mis le prix dans son cahier des charges !
Mais tu as raison, c'est pas la carte dont parle mansuetus.
[^] # Re: 3 ?
Posté par |-| . En réponse au journal Achat dans le spirit du libre. Évalué à 1.
http://www.nvidia.com/object/quadro_fx_4500_x2.html
[^] # Re: Les modes, ca va, ca vient ...
Posté par |-| . En réponse au journal AOL Exhibition. Évalué à 2.
Enfin, elle doit exister, mais elle doit être quand même infiniment plus faible pour le nom d'une distribution linux que le pic lié au décès d'une célébrité par ex.
Par contre, si tu cherches des arguments, il reste le fait que souvent, on tape le nom de sa distrib préférée suivi de son problème !
[^] # Re: Du cote de chez Google.
Posté par |-| . En réponse au journal AOL Exhibition. Évalué à 4.
DISCLAIMER
Attention, le lien ci dessous est dangereux. Il est trollifère, il pourrait faire partie d'un journal dont on n'ose pas imaginer le titre.
Interdit à certaines personnes sensibles.
http://www.google.com/trends?q=ubuntu%2C+debian&ctab=1&a(...)
[^] # Re: Pour les datamineurs fous :
Posté par |-| . En réponse au journal AOL Exhibition. Évalué à 2.
2914
-
Et à peine mieux :
(ce code est bien sûr GPL, même si je songe fortement à le breveter : "caractérisé en ce que un compteur initialisé au préalable de l'éxécution d'une boucle effectuant une ou plusieurs expressions régulières" )
check.pl :
#!/usr/bin/perl
my $count = 0;
while ($_=<>) {
s/(.+)http.+/$1/;
if (/linux/) { $count++ }
}
print "$count\n";
cat user-ct-test-collection-*.txt | ./check.pl
495
[^] # Re: find the terrorist
Posté par |-| . En réponse au journal AOL Exhibition. Évalué à 2.
-
Ok, je -> [ ]
[^] # Re: find the terrorist
Posté par |-| . En réponse au journal AOL Exhibition. Évalué à 2.
Ceci dit, AOL c'est bien pire, pas une requête mais l'ensemble à partir du login.
Par exemple, on trouve des gens dont les requêtes sur leur nom jouxtent les classicos du porno !
Au fait, tu disais dans ton journal il y a trois qu'ils filtraient. Marche pô :
"Les mots clés tapés sur Lycos en ce moment même
boytemper |spiceyou
chargeur batterie |www.footjoy.fr
rose blanche |changer disques freins (commentaire perso: tu vas galérer !)
sex scenes |comptes prévisionnels
tchat |gets right
comptes prévisionnels |dragon
comptes prévisionnels |www.footjoy.fr
super vw nat's 2006 |tapisautomobile.com
camion de transport en vrac |spiral soundtrack
porno |changer disques freins
sexe kehl |sex scenes
vacances |domenech
www.msn.com |teste
changer disques freins |doujin
dragon |rose blanche"