C'est un salaire indirect mutualisé.
L'impôt est aussi un salaire indirect mutualisé : Tu ne payes pas rouler sur des routes (hors autoroutes de Vinci), tu ne payes pas pour l'école, tu payes moins cher ta place de théatre (sans quoi elle vaudrait 150€), tu payes pas 300 € pour les transports en communs, etc…
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
C'est fou ce que j'ai horreur d'employer charge/coût/etc pour le travail, mais j'ai beaucoup de mal à trouver les mots corrects. C'est fou ce que le MEDEF et autres libéraux/patrons nous mettent bien ces mots dans la tête.*
Appelle-ça du salaire indirect. Mon beau-frère est américain, il a une grosse paye, mais il doit payer avec sa retraite, sa santé, etc…
Donc c'est bien un salaire indirecte.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
J'ai tellement plus l'habitude des langages où on peut changer la valeur par référence ;-p
Dans ces cas là, dans la mesure du possible faire un clone.
Le problème en est donc l'optimisation du GC : les langages fonctionnels sont fait pour gérer ces valeurs qu'on réalloc au lieu de les modifier en place, et parfois c'est optimisé pour se comporter comme une modification de référence.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Il se trouve que je code en ce moment une GED d'environ 15 ksloc en OCaml, et je peux peut-être t'éclairer sur le fonctionnel en informatique de gestion.
Quand tu fais une appli qui interagit beaucoup avec le monde extérieur, il ne faut pas non plus être un ayatollah de la pureté (de toutes façon, si tu veux vraiment être un ayatollah, tu peux toujours coder en monades) : l'essentiel est que ta fonction prend des paramètres avec un typage fixe et renvoi des données ayant un typage fixe et ne travaille qu'avec ceux-ci (plus les variables locales).
L'intérêt du fonctionnel n'est pas là (en tout cas en ce qui me concerne), mais plutôt :
L'absence de boucles (qui personnellement m'insupporte) au profit de l'utilisation de map/filter/find/exists et fold (quand tu as acquis une certaine expérience pour le fold). Utiliser ces fonctions rend le code plus propre et plus court, parallélisable naturellement et beaucoup plus facile à coder
L'ordre supérieur, qui te permet de définir des fonctions de fonctions de … , ce qui te permet d'écrire des fonction ultra générique que tu vas pouvoir spécialiser en fonction de différents contextes. Par exemple, j'ai une fonction construitArbo qui va construire une arborescence de fichiers d'un espace utilisateur Alfresco. Je donne à construitArbo 2 paramètres, une fonction qui se charge de faire le "ls" (contrainte Alfresco, je suis obligé de faire comme ça), et une fonction qui va effectuer des traitements sur chaque noeud de l'arbre. Ainsi, je peux donner différentes fonctions en paramètre de construitArbo, ce qui peut être utile si j'utilise un FS Unix-lie pour faire un ls, ou si je dois appliquer un traitement différent sur mes noeuds.
Le fait de disposer d'un typage vraiment puissant, en particulier le type somme, qui te permet de mettre la complexité de ton appli dans la définition des types et ainsi de bénéficier des vérifications de type du compilateur, qui a tendance à accepter de compiler lorsqu'il ne reste plus beaucoup de bugs (depuis un an de dev 90% de mes bugs viennent d'erreur dans les requêtes SQL, la définition d'url, bref la communication avec l'exterieur)
L'interdiction ou l'absence de valeur nulle, ce qui t'évites des monceaux de bugs. Dans une SSII, sur un gros projet où j'ai essentiellement débugué du Java pendant 8 mois, j'ai calculé que j'ai couté 15 000 € à la SNCF à corriger des nullPointerException. Franchement, j'ai gagné des mois de code grâce à ça.
Complètement thread-safe et donc scalable, Carmack l'a très bien expliqué, inutile de revenir là dessus. Si, juste pour dire que dans mon appli, les rares infos qu'on mettrait habituellement en mémoire globale, je les ais mis dans un Memcache (un Couchbase maintenant), donc j'ai qu'à lui donner l'url du serveur memcache (dans son fichier de conf) et je peux démarrer autant d'instance serveur que je veux. En plus individuellement, elles scalent elles-même automatiquement.
Bref, ce que dit simplement Carmack, c'est : quand vous écrivez une fonction, faites en sorte qu'elle soit pure dans le sens où, à l'intérieur de celle-ci on n'interagit qu'avec les paramètres d'entrés et les variables locales.
Tu peux évidemment aller beaucoup plus loin, mais si tu respectes déjà cette hygiène simple dans l'écriture de tes fonctions/méthodes, c'est déjà beaucoup.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Pour un développement client spécifique, je dois réaliser une petite appli faisant une acquisition d'une plateforme externe connectée en USB, et (grrrr) uniquement sous windows (driver oblige).
J'ai utilisé Lazarus pour aller donner les ordres d'acquisitions et manipuler les résultats. Je n'ai eu besoin de que deux lignes pour déclarer les fonctions à utiliser dans la DLL, et ça a marché tout de suite.
L'outil est facile à prendre en main, et bien que je n'ai pas codé en Pascal depuis 15 ans, j'ai très très vite obtenu des résultats.
Excellent outil, vraiment, bravo aux bénévoles de ce projet !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Alors, disclaimer : je ne dis pas ça pour troller, j'ai horreur des langages impératifs, donc je risque pas de l'utiliser. Seulement un langage qui fait la même chose en moins bloat que C++, c'est forcément intéressant.
Je pense seulement que cela ne sert à rien de chercher à générer de l'assembleur soit même quand tu dois intégrer des centaines de règles d'optimisation du code (en asm), qui change en fonction de la révision du processeur en question. Tu ne pas gérer ça à quelques personnes. GCC et Intel C compiler ont des équipes entières dédiées à cela, elles ont l'infrastructure pour, l'expérience, les libs d'analyse, etc…
Donc on s'en fout que D soit Vala ou pas, la question, c'est que ça ne sert à rien de générer soit même de l'assembleur (à moins qu'on soit un langage fonctionnel et que générer du C soit trop problématique) alors qu'il suffit d'utiliser C comme un assembleur portable.
Il se trouve que D a un front-end GCC, mais ont-ils les ressources nécessaires pour que le code soit totalement optimisé par le back-end (normalement oui) ?
Bref, D pourrait décoller, s'il avait vraiment des perfs équivalente à C++. Autrement j'imagine mal qu'il est possible de convaincre des développeurs près à s'investir.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Quid niveau perf, car pour un langage de ce type, qui est salutaire, il ne peut percer que s'il fait mieux que C++. Or ce n'est pas le cas, et c'est essentiellement un problème de moyens.
Cela dit, D devrait générer du C facile à optimiser pour le compilateur, bénéficiant ainsi de toutes les optimisations implémentés dans les compilateurs C avancés (GCC, Intel C).
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Et tiens d'ailleurs, Gérard Berry expliquait dans son cours au collège de France que le lambda-calcul était impropre au SMP. qu'en est-il des autres recherches sur la question ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Le problème c'est qu'ils se posent beaucoup la question des raisons du succès/insuccès des langages fonctionnels dans l'industrie. Or (je me répète), c'est une question à poser aux profs de la fac de gestion : comprendre pourquoi un langage marche, c'est à peu près la même question que de se demander pourquoi une techno (les fraiseuses numériques au hasard) marche dans un champ industriel.
C'est donc une question de science humaine qui devrait être traité comme tel. Or là on a une discussion d'amateurs éclairés, sans plus, comme si j'allais moi sur le plateau donner mon avis sur les GADT.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Comme je comprenais pas la blague, effectivement le créateur d'Erlang est Joe Armstrong
et le chanteur de Green Day s'appelle Billie Joe Armstrong
Bien vu ;-)
Non, c'est vrai que ça aurait été intéressant d'avoir le créateur d'Erlang, ça aurait été intéressant d'explorer ces problèmes de SMP.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Pour le point 2 (je dois étudier le 1 et je connais pas le 3), j'écris une grosse appli de GED en Ocaml (10 klignes) en ce moment, et j'utilise massivement les None/Some (le type Maybe) et franchement ça ne m'empêche pas d'avoir plein d'exception : j'interagit avec pas mal de services extérieurs et ils peuvent merder eux aussi (ou alors je leur envoie les mauvais params, une ressource qui n'existe plus, etc…), donc certes ça me limite mes exceptions à des cas "fonctionnels", mais ça n'empêche pas que j'ai plein d'exception quand mon traitement est bloqué car le service extérieur n'as pas réagit correctement.
Et un jour falloir que je réfléchisse à gérer sérieusement un certain nombre d'entre elles.
Et là les problèmes vont commencer avec le try catch…
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Effectivement c'est assez pénible, il faudrait essayer un autre format moins libre :-(
Je note deux interventions intéressantes (j'ai pas encore tout vu) :
Leroy qui est en train de se demander s'il ne faudrait pas voir ailleurs que faire des système de type hyper strict car à force ça risque de gaver les utilisateurs. Après j'ai pas compris ce qu'il propose
McQueen qui pose le problème des exceptions, pour lui les exceptions sont un core dump. C'est un peu extrême comme point de vue, mais je me souviens m'être rendu compte au sein du projet Lisaac, après âpres discussions, que c'est un champ de recherche sous exploité (je peux me tromper). En fait c'est un problème essentiellement humain : dans un logiciel de E-Commerce, une exception pour disque plein peut provoquer un blocage de l'appli, alors que dans un airbus, c'est inimaginable. Donc ça dépend de la tolérance à la panne.
Plus généralement, ils se posent beaucoup la question de pourquoi un langage marche ou pas. Or, cette question pourrait être une problématique universitaire en… science de gestion. On a au mieux une question d'amateur éclairés (comme si je donnais mon avis sur le système de type de OCaml).
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ce qui me dérange un peu dans cette histoire, c'est le côté Linux-centric : Linux s'éloigne de plus en plus d'Unix pour devenir un objet à part entière, et il va être de plus en plus difficile de porter les logiciels entre différents systèmes.
Voilà pour le troll.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je ne disconviens pas du tout sur la stabilité de Gentoo, c'est juste qu'une Gentoo, t'as pas un mode "install auto" pour ma mère, à ce que je sache.
Gentoo est juste une distribution qui demande que l'on passe un peu de temps à configurer sons système, et c'est très bien, si ça plait à certains, c'est cool :-)
Je trouve personnellement plus compliqué d’avoir un système stable avec ubuntu qu’avec gentoo.
T'as surement raison, mais j'en sais personnellement rien du tout
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Moi c'est le contraire, j'ai eu des problèmes toute la journée. J'ai d'abord cru que c'était le DNS, au pire il mettait 100ms, et donc c'était bien l'accès google qui était super aléatoire..
Et effectivement Youtube est toujours ultra lent.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je suis assez d'accord, le problème fondamental, c'est qu'on peut difficilement demander à la machine d'extraire une sémantique du code qu'elle traite, et de la traiter.
Dans son exemple, il a géré la sémantique des fonctions de dessins basique : créer un rectangle, un disque, etc… Mais quand il va devoir s'attaquer au vast monde, ça va être plus dur.
Je pense que cette (très bonne idée) va être tranquillement digérée dans les années à venir, en commençant par les interfaces.
Si on veut passer la marche d'après, il va falloir sauter un gouffre : mettre de l'IA et une ontologie dans l'IDE.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Séminaire d'informatique fondamentale
Posté par Ontologia (site web personnel) . En réponse au journal Un cours en français sur la compilation : ne boudons pas notre plaisir !. Évalué à 8.
Le cours d'informatique fondamental, très complet, est aussi disponible. C'est passionnant !
http://www.college-de-france.fr/site/gerard-berry/#|m=seminar|q=/site/gerard-berry/seminar-2009-2010.htm|p=../gerard-berry/seminar-2010-01-20-10h15.htm|
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Et les cotisations ?
Posté par Ontologia (site web personnel) . En réponse au journal OWNI est à sec. Évalué à 4.
C'est un salaire indirect mutualisé.
L'impôt est aussi un salaire indirect mutualisé : Tu ne payes pas rouler sur des routes (hors autoroutes de Vinci), tu ne payes pas pour l'école, tu payes moins cher ta place de théatre (sans quoi elle vaudrait 150€), tu payes pas 300 € pour les transports en communs, etc…
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Et les cotisations ?
Posté par Ontologia (site web personnel) . En réponse au journal OWNI est à sec. Évalué à 10.
Appelle-ça du salaire indirect. Mon beau-frère est américain, il a une grosse paye, mais il doit payer avec sa retraite, sa santé, etc…
Donc c'est bien un salaire indirecte.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Diapos et code de la présentation
Posté par Ontologia (site web personnel) . En réponse à la dépêche Conférence sur Coq à la Cantine - Nantes le 27/11/2012. Évalué à 2.
Le code et les diaporamas de la présentation d'hier soir se trouvent ici.
Remercions Maxime pour son cours d'une très grande clarté !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Site du projet
Posté par Ontologia (site web personnel) . En réponse à la dépêche Conférence sur Coq à la Cantine - Nantes le 27/11/2012. Évalué à 2.
Ah oui, effectivement, oubli bête de ma part…
Les modérateurs pourraient-ils faire quelque chose ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Avantages de la programmation fonctionnelle?
Posté par Ontologia (site web personnel) . En réponse au journal Adopter un style de programmation fonctionnel. Évalué à 2.
J'ai tellement plus l'habitude des langages où on peut changer la valeur par référence ;-p
Dans ces cas là, dans la mesure du possible faire un clone.
Le problème en est donc l'optimisation du GC : les langages fonctionnels sont fait pour gérer ces valeurs qu'on réalloc au lieu de les modifier en place, et parfois c'est optimisé pour se comporter comme une modification de référence.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Avantages de la programmation fonctionnelle?
Posté par Ontologia (site web personnel) . En réponse au journal Adopter un style de programmation fonctionnel. Évalué à 10.
Il se trouve que je code en ce moment une GED d'environ 15 ksloc en OCaml, et je peux peut-être t'éclairer sur le fonctionnel en informatique de gestion.
Quand tu fais une appli qui interagit beaucoup avec le monde extérieur, il ne faut pas non plus être un ayatollah de la pureté (de toutes façon, si tu veux vraiment être un ayatollah, tu peux toujours coder en monades) : l'essentiel est que ta fonction prend des paramètres avec un typage fixe et renvoi des données ayant un typage fixe et ne travaille qu'avec ceux-ci (plus les variables locales).
L'intérêt du fonctionnel n'est pas là (en tout cas en ce qui me concerne), mais plutôt :
L'absence de boucles (qui personnellement m'insupporte) au profit de l'utilisation de map/filter/find/exists et fold (quand tu as acquis une certaine expérience pour le fold). Utiliser ces fonctions rend le code plus propre et plus court, parallélisable naturellement et beaucoup plus facile à coder
L'ordre supérieur, qui te permet de définir des fonctions de fonctions de … , ce qui te permet d'écrire des fonction ultra générique que tu vas pouvoir spécialiser en fonction de différents contextes. Par exemple, j'ai une fonction construitArbo qui va construire une arborescence de fichiers d'un espace utilisateur Alfresco. Je donne à construitArbo 2 paramètres, une fonction qui se charge de faire le "ls" (contrainte Alfresco, je suis obligé de faire comme ça), et une fonction qui va effectuer des traitements sur chaque noeud de l'arbre. Ainsi, je peux donner différentes fonctions en paramètre de construitArbo, ce qui peut être utile si j'utilise un FS Unix-lie pour faire un ls, ou si je dois appliquer un traitement différent sur mes noeuds.
Le fait de disposer d'un typage vraiment puissant, en particulier le type somme, qui te permet de mettre la complexité de ton appli dans la définition des types et ainsi de bénéficier des vérifications de type du compilateur, qui a tendance à accepter de compiler lorsqu'il ne reste plus beaucoup de bugs (depuis un an de dev 90% de mes bugs viennent d'erreur dans les requêtes SQL, la définition d'url, bref la communication avec l'exterieur)
L'interdiction ou l'absence de valeur nulle, ce qui t'évites des monceaux de bugs. Dans une SSII, sur un gros projet où j'ai essentiellement débugué du Java pendant 8 mois, j'ai calculé que j'ai couté 15 000 € à la SNCF à corriger des nullPointerException. Franchement, j'ai gagné des mois de code grâce à ça.
Complètement thread-safe et donc scalable, Carmack l'a très bien expliqué, inutile de revenir là dessus. Si, juste pour dire que dans mon appli, les rares infos qu'on mettrait habituellement en mémoire globale, je les ais mis dans un Memcache (un Couchbase maintenant), donc j'ai qu'à lui donner l'url du serveur memcache (dans son fichier de conf) et je peux démarrer autant d'instance serveur que je veux. En plus individuellement, elles scalent elles-même automatiquement.
Bref, ce que dit simplement Carmack, c'est : quand vous écrivez une fonction, faites en sorte qu'elle soit pure dans le sens où, à l'intérieur de celle-ci on n'interagit qu'avec les paramètres d'entrés et les variables locales.
Tu peux évidemment aller beaucoup plus loin, mais si tu respectes déjà cette hygiène simple dans l'écriture de tes fonctions/méthodes, c'est déjà beaucoup.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Précision
Posté par Ontologia (site web personnel) . En réponse à la dépêche Lazarus n’est pas mort \o/. Évalué à 2.
C'est ça avec les langages turing-complet, on a pas la preuve que ça finisse un jour…
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Excellent outil
Posté par Ontologia (site web personnel) . En réponse à la dépêche Lazarus n’est pas mort \o/. Évalué à 10.
Pour un développement client spécifique, je dois réaliser une petite appli faisant une acquisition d'une plateforme externe connectée en USB, et (grrrr) uniquement sous windows (driver oblige).
J'ai utilisé Lazarus pour aller donner les ordres d'acquisitions et manipuler les résultats. Je n'ai eu besoin de que deux lignes pour déclarer les fonctions à utiliser dans la DLL, et ça a marché tout de suite.
L'outil est facile à prendre en main, et bien que je n'ai pas codé en Pascal depuis 15 ans, j'ai très très vite obtenu des résultats.
Excellent outil, vraiment, bravo aux bénévoles de ce projet !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: dommage
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 3.
Les êtres inférieurs comme moi ou d'autres n'ont que rarement la capacité à voir qu'un fold répond au problème que l'on cherche à résoudre.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: dommage
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 2.
Alors, disclaimer : je ne dis pas ça pour troller, j'ai horreur des langages impératifs, donc je risque pas de l'utiliser. Seulement un langage qui fait la même chose en moins bloat que C++, c'est forcément intéressant.
Je pense seulement que cela ne sert à rien de chercher à générer de l'assembleur soit même quand tu dois intégrer des centaines de règles d'optimisation du code (en asm), qui change en fonction de la révision du processeur en question. Tu ne pas gérer ça à quelques personnes. GCC et Intel C compiler ont des équipes entières dédiées à cela, elles ont l'infrastructure pour, l'expérience, les libs d'analyse, etc…
Donc on s'en fout que D soit Vala ou pas, la question, c'est que ça ne sert à rien de générer soit même de l'assembleur (à moins qu'on soit un langage fonctionnel et que générer du C soit trop problématique) alors qu'il suffit d'utiliser C comme un assembleur portable.
Il se trouve que D a un front-end GCC, mais ont-ils les ressources nécessaires pour que le code soit totalement optimisé par le back-end (normalement oui) ?
Pas sûr.
Est-il possible de désactiver le GC.
Bref, D pourrait décoller, s'il avait vraiment des perfs équivalente à C++. Autrement j'imagine mal qu'il est possible de convaincre des développeurs près à s'investir.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: dommage
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 2.
Quid niveau perf, car pour un langage de ce type, qui est salutaire, il ne peut percer que s'il fait mieux que C++. Or ce n'est pas le cas, et c'est essentiellement un problème de moyens.
Cela dit, D devrait générer du C facile à optimiser pour le compilateur, bénéficiant ainsi de toutes les optimisations implémentés dans les compilateurs C avancés (GCC, Intel C).
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Le CCO c'est grand
Posté par Ontologia (site web personnel) . En réponse à la dépêche Conférences PHP à Nantes le 29 octobre. Évalué à 3.
Pour ceux qui ne connaissent pas, le CCO, c'est la tour Montparnasse version naine.
D'où une question : ya un numéro de salle, un étage ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: dommage
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 2.
N'oublie pas que l'INRIA alloue gentillement 2 jour.homme par mois à OCaml…
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Mouais
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 2.
Et tiens d'ailleurs, Gérard Berry expliquait dans son cours au collège de France que le lambda-calcul était impropre au SMP. qu'en est-il des autres recherches sur la question ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Mouais
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 3.
Le problème c'est qu'ils se posent beaucoup la question des raisons du succès/insuccès des langages fonctionnels dans l'industrie. Or (je me répète), c'est une question à poser aux profs de la fac de gestion : comprendre pourquoi un langage marche, c'est à peu près la même question que de se demander pourquoi une techno (les fraiseuses numériques au hasard) marche dans un champ industriel.
C'est donc une question de science humaine qui devrait être traité comme tel. Or là on a une discussion d'amateurs éclairés, sans plus, comme si j'allais moi sur le plateau donner mon avis sur les GADT.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Il manque...
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 3.
Comme je comprenais pas la blague, effectivement le créateur d'Erlang est Joe Armstrong
et le chanteur de Green Day s'appelle Billie Joe Armstrong
Bien vu ;-)
Non, c'est vrai que ça aurait été intéressant d'avoir le créateur d'Erlang, ça aurait été intéressant d'explorer ces problèmes de SMP.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: dommage
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 3.
Pour le point 2 (je dois étudier le 1 et je connais pas le 3), j'écris une grosse appli de GED en Ocaml (10 klignes) en ce moment, et j'utilise massivement les None/Some (le type Maybe) et franchement ça ne m'empêche pas d'avoir plein d'exception : j'interagit avec pas mal de services extérieurs et ils peuvent merder eux aussi (ou alors je leur envoie les mauvais params, une ressource qui n'existe plus, etc…), donc certes ça me limite mes exceptions à des cas "fonctionnels", mais ça n'empêche pas que j'ai plein d'exception quand mon traitement est bloqué car le service extérieur n'as pas réagit correctement.
Et un jour falloir que je réfléchisse à gérer sérieusement un certain nombre d'entre elles.
Et là les problèmes vont commencer avec le try catch…
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: dommage
Posté par Ontologia (site web personnel) . En réponse au journal The Future of Functional Programming Languages. Évalué à 9.
Effectivement c'est assez pénible, il faudrait essayer un autre format moins libre :-(
Je note deux interventions intéressantes (j'ai pas encore tout vu) :
Plus généralement, ils se posent beaucoup la question de pourquoi un langage marche ou pas. Or, cette question pourrait être une problématique universitaire en… science de gestion. On a au mieux une question d'amateur éclairés (comme si je donnais mon avis sur le système de type de OCaml).
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Et la compatibilité
Posté par Ontologia (site web personnel) . En réponse à la dépêche Archlinux utilise désormais systemd par défaut pour les nouvelles installations. Évalué à 10.
Ce qui me dérange un peu dans cette histoire, c'est le côté Linux-centric : Linux s'éloigne de plus en plus d'Unix pour devenir un objet à part entière, et il va être de plus en plus difficile de porter les logiciels entre différents systèmes.
Voilà pour le troll.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Utilise une distro de vrai masochiste
Posté par Ontologia (site web personnel) . En réponse au journal Enfin une distribution Linux ... (qui me convient). Évalué à 5.
Je ne disconviens pas du tout sur la stabilité de Gentoo, c'est juste qu'une Gentoo, t'as pas un mode "install auto" pour ma mère, à ce que je sache.
Gentoo est juste une distribution qui demande que l'on passe un peu de temps à configurer sons système, et c'est très bien, si ça plait à certains, c'est cool :-)
T'as surement raison, mais j'en sais personnellement rien du tout
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Utilise une distro de vrai masochiste
Posté par Ontologia (site web personnel) . En réponse au journal Enfin une distribution Linux ... (qui me convient). Évalué à 2.
Exherbo que des copains encensent régulièrement, est une Gentoo en plus dur. Et là tu peux faire ce que tu veux.
Je pense que ça serait pas mal pour ton égo…
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Pas remarqué
Posté par Ontologia (site web personnel) . En réponse au journal Free et Google. Effets de bord. Évalué à 2.
Moi c'est le contraire, j'ai eu des problèmes toute la journée. J'ai d'abord cru que c'était le DNS, au pire il mettait 100ms, et donc c'était bien l'accès google qui était super aléatoire..
Et effectivement Youtube est toujours ultra lent.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Le faire, c'est mieux quand c'est possible...
Posté par Ontologia (site web personnel) . En réponse au journal Nouvel article de Bret Victor sur sa vision de l'environnement de développement du futur. Évalué à 2.
Je suis assez d'accord, le problème fondamental, c'est qu'on peut difficilement demander à la machine d'extraire une sémantique du code qu'elle traite, et de la traiter.
Dans son exemple, il a géré la sémantique des fonctions de dessins basique : créer un rectangle, un disque, etc… Mais quand il va devoir s'attaquer au vast monde, ça va être plus dur.
Je pense que cette (très bonne idée) va être tranquillement digérée dans les années à venir, en commençant par les interfaces.
Si on veut passer la marche d'après, il va falloir sauter un gouffre : mettre de l'IA et une ontologie dans l'IDE.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Tiens, un autre
Posté par Ontologia (site web personnel) . En réponse au journal De tout, de rien, des bookmarks, du bla bla. Évalué à 1.
(surprise) http://vimeo.com/49828449
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker