Bah c'est vrai que c'est l'écueil typique sur lequel on peut tomber.
Pour la bibliothèque publique ou pour le DAF qui veut faire un petit peu de contrôle de gestion en farfouillant la base, l'application est claire.
Pour le milieu professionnel oui et non, et en fait ça dépend de plusieurs paramètres :
- Couverture du langage : si le langage contrôlé est assez limité, oui c'est vite un problème, parce que tu vas passer un temps fou à trouver une forme grammaticalement correcte (et je l'ai bien vu en jouant avec APE ces deux derniers jours). Mais ça dépend de la couverture du langage. ACE a clairement vocation à grossir, et plus il grossi, plus il déjouera ce piège.
- Pour remplacer le SQL, s'il s'agit de proposer à un DBA de coder avec ça, on est d'accord, en l'état actuel des choses, c'est débile.
Mais quand tu regardes ce qui est développé, soit t'as un peu de SQL qui traine et qui est codé par des dev qui n'aiment pas ça et qui ne sont pas à l'aise, malgré que les requêtes soit jamais super complexe,
soit ils utilisent des frameworks qui cachent les requetes derrière des longues boucle sur les objets de l'ORM ou qui s'exprime en H(ibernate)QL.
Bref, je suis pas certains que cette approche soit condamnée à jamais. Elle est pas encore mûre, c'est claire (et l'industrie a toujours 40 ans de retard sur la recherche), mais elle reste prometteuse.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ah oui effectivement, je n'avais pas pensé à ça !
Le pire c'est que j'ai bossé pour une boite qui fait des manuels techniques pour avion (mais c'était plus des listes de parts qu'autre chose) !
Effectivement, ce serait un outil à rajouter à la collection : il prendrait du DRS pour le traduire dans une langue souhaité.
ACE est quand même un langage super limité : tu es obligé d'utiliser le présent de l'indicatif, la voix active. les opérateurs modaux viennent d'être ajoutés. Les aspects temporels (j'en aurai d'ailleurs besoin pour ça), tu oublies, etc...
Mais tu as raison, le libre colonise tout !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Oui voilà, une des applications les plus "visible" c'est d'utiliser ce genre d'outil pour remplacer du SQL.
Ya un papier là dessus : http://www.ifi.uzh.ch/ddis/staff/goehring/btw/files/Bernstei(...)
Un prof a testé ses étudiants et au bout de 3 jours ils sont plus à l'aise avec ACE qu'avec SQL.
En gros partout ou tu travailles avec de la logique de premier ordre, tu pourrais utilement avoir besoin de ce genre d'outil, car ça te simplifie l'écriture de tes formules.
Pour la traduction, je n'y crois pas, et d'autant plus que c'est le métier de ma compagne et que j'en découvre chaque jour un peu plus l'énorme complexité.
Comme elle me le répète souvent : "Tu ne peux pas traduire un texte que tu ne comprend pas".
Or là ACE travaille uniquement sur la syntaxe, il n'essaye pas de comprendre le texte, l'approche choisie est très claire là dessus.
Ca peut des fois donner n'importe quoi car il n'a aucune notion de verbe de changement d'état ou de verbe d'action.
Cet outil a des limites très bornées, mais ce qui est génial, c'est qu'en plus d'être libre, cet outil est très abouti.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je pars 2 jours en vacances en bretagne, en me disant "chouette, quand je vais revenir, j'aurais peut être un commentaire interessant ?"
De toi, dont je lis toujours les commentaires avec grand intérêt, je m'attendais à mieux :-(
Je voulais juste dire que on peut créer des structures de contrôles, créer des fonctions de fonctions (curryfication), jouer avec l'héritage, etc...
Toute chose qu'on ne peut faire avec C++, sans perdre de perfs.
En ce qui me concerne, mais c'est juste personnel, j'apprécie cela quand je code.
Joyeux noël !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Le problème de Lisaac, c'est que c'est pas un langage encore fini. Ca a beaucoup progressé, mais il y a encore du boulot.
J'espère être réaliste en disant que dans deux ans on aura une stable (une version est en train d'être réécrite là)..
Mais pour le moment, comme le dit Nicolas, Lisaac c'est pour le type qui veut de la perf tout en utilisant des choses qu'il a l'habitude de faire en Ruby et sans être obligé de coder en C++.
Le compilateur actuel suffit très bien pour faire ça.
C'est mon cas en ce moment, parce que je code un jeu web et c'est vrai que c'est un langage dans lequel on est assez vite à l'aise en fait*, et dans lequel on peut inventer toutes sortes de choses assez couillues, surtout avec les blocks et l'héritage qui un monde énorme à défricher.
M'enfin c'est une question de gout, les pointeurs et les références, ça me fait fuir, certains adorent. Donc pour la perf, beaucoup de gens utiliseront encore C++
*Je dis ça parce que j'avais jamais vraiment codé beaucoup en Lisaac, et j'en fait à haute dose depuis quelques semaines, en debugant le compilateur en passant.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Enfin un langage qui écrit "Hello world!".puts() !
C'est vrai quoi, "Hello World!" est une chaine, et l'affichage de cette chaine doit être fait par un message de l'objet chaine.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
C'est pour !a que je disais que C++ était une application bizarre du worse is better : ça colle pas trop avec le modèle.
D'ailleurs dans son "Model of software acceptance" son explication de C++ est elle aussi bizarre.
J'avoue que ça m'interroge : ce langage est franchement mauvais, complexe, peu prévisible.
Mais il a une syntaxe à la C : donc facile à apprendre.
En fait, la principale raison de son succès, AMHA, c'est qu'en fait C++ était à l'époque le seul langage à permettre de faire de l'objet avec des perfs. Smalltalk, c'était, c'est encore lent (interprété).
ObjectiveC a l'air pas mal, mais je ne sais pas ce que ça vaut.
Donc, comme C++ était seul sur cette niche du "objet mais rapide", il a pris son essor et est devenu bloat.
Oui, bien vu ;-) J'ai lu ça, sachant que tout ce qu'il y a sur le site à côté est extrêmement intéressant, et je me dis, mhhh c'est gros quand même.
Et comme je me suis dit que c'était une occasion de ricaner une fois de plus sur ce bloat language.
Sur la structure, ça me rappel un peu une série de 30mn par papes du XXème siècle sur Arte. Evidemment pour Jean-Paul 1er ils ont du consacrer 30mn...
Ils ont donc développé la fameuse théorie de l'assassinat pendant 1/4 d'heure, avant de la démonter le 1/4 d'heure suivant.
1 - 1 = 0
J'ai un peu fait la même chose ici ;-)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Non pas du tout, mais tu ne l'a pas écrit en prémaché, et prêt à penser, donc tu te fais jeter.
Si on adhère un tant soit peu à ce qui est expliqué dans ce film, qui je l'avoue, m'a pas mal impressionné, mettre son argent à la NEF est une suite naturelle. Je connais des gens qui y sont depuis des années.
J'y pense de plus en plus sérieusement, et faudrait que je me renseigne savoir si j'ai bien la gestion de mon compte en ligne et une CB pour passer chez eux..
Pour me moinsser, c'est là
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
C'est marrant, en objet à prototype, tu n'as besoin de factory : si tu veux un singleton, tu redéfinis la méthode clone en lui faisant rendre lui même.
Du coup, tu as un singleton naturel.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je suis pas sur..
Au vu du nombre de ligne de codes écrites en Java, et le panurgisme de nombre d'ingénieurs de SSII et de leurs supérieurs qui sont eux-même d'anciens ingénieurs, je pense que Java a de beaux jours devant lui.
Tant que développer, vendre au client, utiliser les frameworks libres à la mode comme Spring (qui bouffent 20Go de mémoire de base) sera gratuit, ils continueront !
Il y aura juste un peu moins d'huile et ça grognera un peu.
La majeur partie de la spec de java est derrière nous. Et quand tu vois le nombre d'année qu'il a fallu pour que tout le monde passe à Java 1.5 (et encore c'est pas le cas partout), Java7 c'est pas pour demain.
Python ? Oui pourquoi pas, mais c'est pas à la mode chez les daïcidors.
Ruby ? Trop conceptuel pour eux, 80% des développeurs ont du mal à comprendre, déjà qu'ils ont du mal avec l'objet...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
C'est aussi l'une des raisons pour lesquelles j'aime Perl, là où d'autres le détestent: tous ces marqueurs ($,@,%,...), ça les perturbe, alors qu'après pas mal de temps à les avoir manipulés, moi je trouve ça naturel.
Et comme tous professionnel dans sa branche, ça te permet de jargonner et de te sentir assuré par la particularité de tes connaissances ;-)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
J'ai essayé de piger l'intérêt de Cduce, mais j'ai jamais réussi, c'est pas terriblement vulgarisé aussi...
Tu entend quoi par sous-type qu'il y en aurait plein ?
Pour moi du xml c'est tout simplement :
type xml =
| Element of (string * (string * string) list * xml list)
| PCData of string
Tes sous-types sémantique, ça serait prendre en compte le nom des balises et regarder la cohérence grammatical qu'il y a dans l'arbre ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
J'ai l'impression qu'il y a pas vraiment d'étude sur le sujet. Après mon expérience perso me fait penser que "typage fort => Moins de bugs".
J'ai pratiqué, dans l'ordre le :
- Basic (quand j'étais gamin, ya 20 ans donc)
- Pascal (pas mal)
- C
- Ocaml
- (SQL)
- Lisaac
- Java
- Ruby
Typiquement, en caml, quand le compilateur me dit "ok" en général ça marche. Mais c'est pas très représentatif, parce que je l'utilise surtout dans des problématique ou je dois manipuler des grammaires.
Pour les langages objets, entre java, lisaac et ruby, ce qui est indéniable dans mon expérience, c'est les Call On Null.
En java et ruby, je m'en prend plein partout à l'exécution. D'où une boucle, trouver où c'est, corriger, relancer/retester.
En Lisaac, pas mal de Call on Null sont détectés à la compilation, et c'est un vrai gain (surtout depuis l'ajout param w_null du compilateur dont la stable est en préparation, qui nous affiche tous les call on null potentiels du code).
Ca t'oblige à faire une passe sur ton code lorsque tu le compiles.
C'est un peu vexant au début, mais tu te retrouve avec beaucoup moins de problèmes.
Pour le reste, le typage avancé et fort, et je pense surtout dans mon expérience en Lisaac et en Ocaml, me permette surtout de faire des choses très avancées, très courte, très propre, qui aurait été des bidouillage infames en Java, voire des fois en Ruby et qui auraient donc été super bugués.
C'est donc plutôt en rendant le code plus "clair" pour quelqu'un qui a l'esprit assez "théorique" pour comprendre que ça diminue le nombre de ligne, simplifie le code et le rend moins sujets à bug.
C'est plus une question d'expressivité.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Les 20% restants tu les faits en ligne de commande. ETerm est très bien, tu as des tabs, il est scriptable...
C'est sur que si tu tiens absolument à ton clickodrome ça devient plus compliqué.
Mais Macos reste un Unix et ça c'est cool
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je pense que grub peut remplacer ce bootloader, car l'OS est compilé suite à un fichier en C, et qu'il me faut donc faire un jump sur le point d'entrée (main tout simplement) comme c'est très bien montré dans le lien que je pointe plus haut : http://a.michelizza.free.fr/pmwiki.php?n=TutoOS.Grub
Le code d'init est en effet très simple :
start:
push ebx
call kmain
[^] # Re: Traductions ?
Posté par Ontologia (site web personnel) . En réponse à la dépêche Attempto Controlled English. Évalué à 2.
Pour la bibliothèque publique ou pour le DAF qui veut faire un petit peu de contrôle de gestion en farfouillant la base, l'application est claire.
Pour le milieu professionnel oui et non, et en fait ça dépend de plusieurs paramètres :
- Couverture du langage : si le langage contrôlé est assez limité, oui c'est vite un problème, parce que tu vas passer un temps fou à trouver une forme grammaticalement correcte (et je l'ai bien vu en jouant avec APE ces deux derniers jours). Mais ça dépend de la couverture du langage. ACE a clairement vocation à grossir, et plus il grossi, plus il déjouera ce piège.
- Pour remplacer le SQL, s'il s'agit de proposer à un DBA de coder avec ça, on est d'accord, en l'état actuel des choses, c'est débile.
Mais quand tu regardes ce qui est développé, soit t'as un peu de SQL qui traine et qui est codé par des dev qui n'aiment pas ça et qui ne sont pas à l'aise, malgré que les requêtes soit jamais super complexe,
soit ils utilisent des frameworks qui cachent les requetes derrière des longues boucle sur les objets de l'ORM ou qui s'exprime en H(ibernate)QL.
Bref, je suis pas certains que cette approche soit condamnée à jamais. Elle est pas encore mûre, c'est claire (et l'industrie a toujours 40 ans de retard sur la recherche), mais elle reste prometteuse.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Traductions ?
Posté par Ontologia (site web personnel) . En réponse à la dépêche Attempto Controlled English. Évalué à 4.
Le pire c'est que j'ai bossé pour une boite qui fait des manuels techniques pour avion (mais c'était plus des listes de parts qu'autre chose) !
Effectivement, ce serait un outil à rajouter à la collection : il prendrait du DRS pour le traduire dans une langue souhaité.
ACE est quand même un langage super limité : tu es obligé d'utiliser le présent de l'indicatif, la voix active. les opérateurs modaux viennent d'être ajoutés. Les aspects temporels (j'en aurai d'ailleurs besoin pour ça), tu oublies, etc...
Mais tu as raison, le libre colonise tout !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Traductions ?
Posté par Ontologia (site web personnel) . En réponse à la dépêche Attempto Controlled English. Évalué à 2.
Ya un papier là dessus : http://www.ifi.uzh.ch/ddis/staff/goehring/btw/files/Bernstei(...)
Un prof a testé ses étudiants et au bout de 3 jours ils sont plus à l'aise avec ACE qu'avec SQL.
En gros partout ou tu travailles avec de la logique de premier ordre, tu pourrais utilement avoir besoin de ce genre d'outil, car ça te simplifie l'écriture de tes formules.
Pour la traduction, je n'y crois pas, et d'autant plus que c'est le métier de ma compagne et que j'en découvre chaque jour un peu plus l'énorme complexité.
Comme elle me le répète souvent : "Tu ne peux pas traduire un texte que tu ne comprend pas".
Or là ACE travaille uniquement sur la syntaxe, il n'essaye pas de comprendre le texte, l'approche choisie est très claire là dessus.
Ca peut des fois donner n'importe quoi car il n'a aucune notion de verbe de changement d'état ou de verbe d'action.
Cet outil a des limites très bornées, mais ce qui est génial, c'est qu'en plus d'être libre, cet outil est très abouti.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Différents langages
Posté par Ontologia (site web personnel) . En réponse à la dépêche Apprendre un langage de programmation par an. Évalué à 2.
De toi, dont je lis toujours les commentaires avec grand intérêt, je m'attendais à mieux :-(
Je voulais juste dire que on peut créer des structures de contrôles, créer des fonctions de fonctions (curryfication), jouer avec l'héritage, etc...
Toute chose qu'on ne peut faire avec C++, sans perdre de perfs.
En ce qui me concerne, mais c'est juste personnel, j'apprécie cela quand je code.
Joyeux noël !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Différents langages
Posté par Ontologia (site web personnel) . En réponse à la dépêche Apprendre un langage de programmation par an. Évalué à 3.
J'espère être réaliste en disant que dans deux ans on aura une stable (une version est en train d'être réécrite là)..
Mais pour le moment, comme le dit Nicolas, Lisaac c'est pour le type qui veut de la perf tout en utilisant des choses qu'il a l'habitude de faire en Ruby et sans être obligé de coder en C++.
Le compilateur actuel suffit très bien pour faire ça.
C'est mon cas en ce moment, parce que je code un jeu web et c'est vrai que c'est un langage dans lequel on est assez vite à l'aise en fait*, et dans lequel on peut inventer toutes sortes de choses assez couillues, surtout avec les blocks et l'héritage qui un monde énorme à défricher.
M'enfin c'est une question de gout, les pointeurs et les références, ça me fait fuir, certains adorent. Donc pour la perf, beaucoup de gens utiliseront encore C++
*Je dis ça parce que j'avais jamais vraiment codé beaucoup en Lisaac, et j'en fait à haute dose depuis quelques semaines, en debugant le compilateur en passant.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Ahhh enfin ! :-)
Posté par Ontologia (site web personnel) . En réponse à la dépêche Reia, un langage fortement inspiré de Ruby. Évalué à 1.
"Hello world!".puts()
!C'est vrai quoi, "Hello World!" est une chaine, et l'affichage de cette chaine doit être fait par un message de l'objet chaine.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Pourquoi créer un magazine ?
Posté par Ontologia (site web personnel) . En réponse au journal Recherche auteurs pour un nouveau magazine libre autour du développement logiciel. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: C++ aété créépour augmenter le salaire des programmeurs
Posté par Ontologia (site web personnel) . En réponse au journal C++ a été créé pour augmenter le salaire des programmeurs. Évalué à 4.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Ya pire ......
Posté par Ontologia (site web personnel) . En réponse au journal C++ a été créé pour augmenter le salaire des programmeurs. Évalué à -3.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: "Worse" is /not/ C++
Posté par Ontologia (site web personnel) . En réponse au journal C++ a été créé pour augmenter le salaire des programmeurs. Évalué à 3.
D'ailleurs dans son "Model of software acceptance" son explication de C++ est elle aussi bizarre.
J'avoue que ça m'interroge : ce langage est franchement mauvais, complexe, peu prévisible.
Mais il a une syntaxe à la C : donc facile à apprendre.
En fait, la principale raison de son succès, AMHA, c'est qu'en fait C++ était à l'époque le seul langage à permettre de faire de l'objet avec des perfs. Smalltalk, c'était, c'est encore lent (interprété).
ObjectiveC a l'air pas mal, mais je ne sais pas ce que ça vaut.
Donc, comme C++ était seul sur cette niche du "objet mais rapide", il a pris son essor et est devenu bloat.
D'ailleurs quand on utilise de l'objet en c++ ça devient lent en fait, mais ya débat : http://coldattic.info/shvedsky/pro/blogs/a-foo-walks-into-a-(...)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Ya encore pire ......
Posté par Ontologia (site web personnel) . En réponse au journal C++ a été créé pour augmenter le salaire des programmeurs. Évalué à 8.
Python -> Score 0
lol
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: C++ aété créépour augmenter le salaire des programmeurs
Posté par Ontologia (site web personnel) . En réponse au journal C++ a été créé pour augmenter le salaire des programmeurs. Évalué à 0.
Et comme je me suis dit que c'était une occasion de ricaner une fois de plus sur ce bloat language.
Sur la structure, ça me rappel un peu une série de 30mn par papes du XXème siècle sur Arte. Evidemment pour Jean-Paul 1er ils ont du consacrer 30mn...
Ils ont donc développé la fameuse théorie de l'assassinat pendant 1/4 d'heure, avant de la démonter le 1/4 d'heure suivant.
1 - 1 = 0
J'ai un peu fait la même chose ici ;-)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: MollAcademy
Posté par Ontologia (site web personnel) . En réponse au journal Recherche auteurs pour un nouveau magazine libre autour du développement logiciel. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Raté à 19 minutes prêt...
Posté par Ontologia (site web personnel) . En réponse au journal Voir un reportage est devenir FOU.. Évalué à -4.
Si on adhère un tant soit peu à ce qui est expliqué dans ce film, qui je l'avoue, m'a pas mal impressionné, mettre son argent à la NEF est une suite naturelle. Je connais des gens qui y sont depuis des années.
J'y pense de plus en plus sérieusement, et faudrait que je me renseigne savoir si j'ai bien la gestion de mon compte en ligne et une CB pour passer chez eux..
Pour me moinsser, c'est là
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Oracle pas très visionnaire
Posté par Ontologia (site web personnel) . En réponse au journal Apache vs Oracle. Évalué à 2.
Du coup, tu as un singleton naturel.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Oracle pas très visionnaire
Posté par Ontologia (site web personnel) . En réponse au journal Apache vs Oracle. Évalué à 8.
Au vu du nombre de ligne de codes écrites en Java, et le panurgisme de nombre d'ingénieurs de SSII et de leurs supérieurs qui sont eux-même d'anciens ingénieurs, je pense que Java a de beaux jours devant lui.
Tant que développer, vendre au client, utiliser les frameworks libres à la mode comme Spring (qui bouffent 20Go de mémoire de base) sera gratuit, ils continueront !
Il y aura juste un peu moins d'huile et ça grognera un peu.
La majeur partie de la spec de java est derrière nous. Et quand tu vois le nombre d'année qu'il a fallu pour que tout le monde passe à Java 1.5 (et encore c'est pas le cas partout), Java7 c'est pas pour demain.
Python ? Oui pourquoi pas, mais c'est pas à la mode chez les daïcidors.
Ruby ? Trop conceptuel pour eux, 80% des développeurs ont du mal à comprendre, déjà qu'ils ont du mal avec l'objet...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: typage mou
Posté par Ontologia (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 4.
Et comme tous professionnel dans sa branche, ça te permet de jargonner et de te sentir assuré par la particularité de tes connaissances ;-)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: typage mou
Posté par Ontologia (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 3.
Tu entend quoi par sous-type qu'il y en aurait plein ?
Pour moi du xml c'est tout simplement :
type xml =
| Element of (string * (string * string) list * xml list)
| PCData of string
Tes sous-types sémantique, ça serait prendre en compte le nom des balises et regarder la cohérence grammatical qu'il y a dans l'arbre ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: typage mou
Posté par Ontologia (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 3.
let concatMap f x = List.fold_left (@)
C'est quoi le @ ?return n'est pas un mot clé ?
let (>>) v f = let _ = concatMap f v in [];;
pourquoi le let _ ? ça fait quoilet test () =
je comprend pas ce que ça signifie, syntaxiquement, sémantiquement...« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Mais sinon, pourquoi je devrais m'intéresser à ce énième langage
Posté par Ontologia (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: typage mou
Posté par Ontologia (site web personnel) . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 8.
J'ai l'impression qu'il y a pas vraiment d'étude sur le sujet. Après mon expérience perso me fait penser que "typage fort => Moins de bugs".
J'ai pratiqué, dans l'ordre le :
- Basic (quand j'étais gamin, ya 20 ans donc)
- Pascal (pas mal)
- C
- Ocaml
- (SQL)
- Lisaac
- Java
- Ruby
Typiquement, en caml, quand le compilateur me dit "ok" en général ça marche. Mais c'est pas très représentatif, parce que je l'utilise surtout dans des problématique ou je dois manipuler des grammaires.
Pour les langages objets, entre java, lisaac et ruby, ce qui est indéniable dans mon expérience, c'est les Call On Null.
En java et ruby, je m'en prend plein partout à l'exécution. D'où une boucle, trouver où c'est, corriger, relancer/retester.
En Lisaac, pas mal de Call on Null sont détectés à la compilation, et c'est un vrai gain (surtout depuis l'ajout param w_null du compilateur dont la stable est en préparation, qui nous affiche tous les call on null potentiels du code).
Ca t'oblige à faire une passe sur ton code lorsque tu le compiles.
C'est un peu vexant au début, mais tu te retrouve avec beaucoup moins de problèmes.
Pour le reste, le typage avancé et fort, et je pense surtout dans mon expérience en Lisaac et en Ocaml, me permette surtout de faire des choses très avancées, très courte, très propre, qui aurait été des bidouillage infames en Java, voire des fois en Ruby et qui auraient donc été super bugués.
C'est donc plutôt en rendant le code plus "clair" pour quelqu'un qui a l'esprit assez "théorique" pour comprendre que ça diminue le nombre de ligne, simplifie le code et le rend moins sujets à bug.
C'est plus une question d'expressivité.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Et le choix de Ruby on Rails ?
Posté par Ontologia (site web personnel) . En réponse au journal Pourquoi réécrire LinuxFr.org ?. Évalué à 1.
C'est sur que si tu tiens absolument à ton clickodrome ça devient plus compliqué.
Mais Macos reste un Unix et ça c'est cool
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: image de la disquette et grub
Posté par Ontologia (site web personnel) . En réponse au message Construire un boot grub pour un OS sur un DD en ext2. Évalué à 4.
Et ça marche !!!
Merci d'avoir cherché avec moi !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: PLus d'infos?
Posté par Ontologia (site web personnel) . En réponse au message Construire un boot grub pour un OS sur un DD en ext2. Évalué à 2.
http://a.michelizza.free.fr/pmwiki.php?n=TutoOS.Grub
Le code d'init est en effet très simple :
start:
push ebx
call kmain
cli ; stop interrupts
hlt ; halt the CPU
Le code est ici http://git.debian.org/?p=lisaac/application.git;a=tree;f=isa(...) et si tu regardes dans x86/bootloader/startup.asm , tu pourras voir qu'en gros on fait un jump après avoir activé le mode protégé :-)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: PLus d'infos?
Posté par Ontologia (site web personnel) . En réponse au message Construire un boot grub pour un OS sur un DD en ext2. Évalué à 2.
dd if=/dev/zero of=hddIsaac bs=1024 count=8192
mkfs hddIsaac
# montage de l'image
mount -o loop -t ext2 hddIsaac /mnt/loop
#
# # creation de l'arborescence initiale
mkdir /mnt/loop/grub
#
cp /boot/grub/stage* /mnt/loop/grub
#
cat > /mnt/loop/grub/menu.lst << EOF
title=Pepin
root (fd0)
kernel /kernel
boot
EOF
cp kern/kernel /mnt/loop
umount /mnt/loop
#
# # installation de grub
grub --verbose --device-map=/dev/null << EOF
device (fd0) hddIsaac
root (fd0)
setup (fd0)
quit
EOF
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker