"Par contre si je comprends bien l'interrupt coalescing. Il s'agit de remplacer les interruptions hardware pour les envoyer des une file. Pour réduire les interruptions et avoir un meilleur débit en augmentant la latence, là où la programmation réactive a pour objectif de réduire la latence quitte à limiter le débit."
De mémoire, c'est revenu à la mode, quand les cartes ethernet 1000mbits sont arrivé : les PC n'arrivaient pas à utiliser la moitié de la bande passante disponible. Les OS passaient leur temps dans la gestion d'interruption très bas niveau. Le but est de remplacer des cycles de gestion par des cycles vraiment utiles. Donc, oui, cela augmente le débit. Il n'y a pas de gestion logiciel de file, c'est le hardware qui gère.
Concernant la latence, il est faux de dire qu'une latence est basse quand il y a n threads pour n taches. En cas de forte charge, on a aucune idée de la latence maximale possible. Une fonction cyclique va fournir la même latence quelle que soit la charge.
Pour résumer, un système uniquement réactif aura une latence faible si il y a peu d’événements, dés que cela monte, une fonction cyclique offrira bien plus de garantie.
Je me demandais si quelqu'un avait essayer de faire un terminal qui va "plus loin".
En jouant avec les couleurs, on peut voir le genre de commande que l'on peut transmettre à un terminal. Tout le monde connait ncurse pour faire des applications à l'intérieur du terminal. On a aussi vu des terminal capable d'afficher directement des images, bien que j'ai du mal à voir l'utilité.
Est-ce que quelqu'un a essayer de faire un peu mieux que d'afficher du texte pure, comme afficher des sorties XML ou json de façon arborescente, ou une autre innovation qui permet d'utiliser l'entrée et la sortie standard d'un programme tout en lui donnant un GUI un peu plus riche, sans passer par la création d'un serveur web ?
J'imagine que c'est le même bazard pour les 2 autres activités sous évaluées : la vulgarisation et l'expertise pour l’État.
Lors d'une interview a la radio, il était question des problèmes de conflit d’intérêt avec les experts fiscalistes qui conseillent à la fois les Etats et les entreprises, avec un énorme conflit d’intérêt. L'excuse pour l’État est de dire 'c'est compliqué', alors qu'ils ont des experts mais peu intéressé à ses questions car cela ne rentre pas en compte dans leur évaluation de carrière. Ses chercheurs pourraient aider entre autre, avec des livres ou article de vulgarisation.
cela ne devrait pas être trop difficile de monter un repository github avec toutes les versions centralisés. Par contre, il faut une personne qui s'en occupe.
Les dépendances read-after-write sont importantes surtout sur les "cpu simples", mais avec les monstres que sont les X86, la taille de la fenêtre d'observation permet d'aller aux instructions suivantes.
Le regroupement des load&store peut potentiellement avoir beaucoup d'impact de performance, car le cpu ne peut pas faire un store et un load en parallèle, il est obliger de vérifier qu'il n'est pas entrain de relire ce qu'il vient d'écrire.
Non, ce cas n'est pas géré. Flag reconnait simplement qu'il s'agit d'un entier. Il faudrait une couche de vérification supplémentaire.
D'ailleurs, j'ai découvert l'usage de errors.Wrap(err, "fonction_en_cours"), il n'y a pas si longtemps que je trouve assez génial : on wrap une erreur pour ajouter de l'information sur la redirection d'une erreur, la fonction ajoute aussi un moyen d’accéder au ligne/fichier. Et l'objet reste du type "error", ce qui permet de réutiliser ou d’injecter ce genre d'erreur sans problème de compatibilité.
D'ailleurs, dans le domaine de l'embarqué, pour avoir des boucles ultra courtes, il s'agit simplement de fonction lancé par un timer à intervalle régulier sans gestion de la mémoire (tout est pré-alloué). Je ne sais pas si une personne a déjà essayer de faire un serveur qui pré-alloue les ressources pour gérer 11 000 connections à la fois.
Je crois que l'on s'est mal compris. Je parle du même genre d'api sous entendu dans le code SQL mais écrit dans un langage moins tordu. Je parle bien d'API de haut niveau. Mais pour du code mis en tant que module ajouté à la BDD, pour suivre la mode de µservice qui lie un peu de code avec une BDD.
Donc, on aurait toujours les garanties ACID, le code ne stock rien en dehors de la BDD, et fonctionne de façon parallélisable, et propose au monde extérieur une API web (JSON, XML, gRPC).
On peut me dire que la scalabilité sera plus limitée, si on ne peut pas multiplier les front-end de code, mais je répondrais que la limite va vite se déplacer sur la scalabilité de la base elle-même.
"Le problème, c'est de le faire correctement, de faire un langage dont la syntaxe permette de mélanger le paradigme des SGBDR avec à minima du procédural voire de la POO ou du fonctionnel. Et ça ne (me, du moins) semble pas trivial."
Je ne comprend pas trop ou est le problème. Il n'est pas possible de faire des fonctions get/set ou de proposer un map/fold sur les tables dans n'importe quel langage ? Je parle bien sûr d'un code type "12 principes" de heroku sans aucun état conservé par le programme lui-même entre 2 requêtes extérieurs.
A l'inverse, la complexité du SQL vient du fait qu'il essaye de cacher que parfois que l'accès se fait avec une table de hash, et parfois, il parcourt entièrement les tables.
Avec la mode des µservices, dont il est possible de tout réécrire entre 2 versions d'un logiciel ( ce qui est un impossible pour un gros monolithe et qui rend douloureux tout changement de technologie), il y a un peu de code avec une BDD (genre un modèle DDD persisté, et qui sort en API REST HTTP JSON ou XML ou en protobuf ou les 3).
Est-ce qu'il serait délirant d'avoir un vrai langage classique lié avec une BDD dans le but de faire un microservice complet ? L'API devrait être simplifié pour fournir les garanties ACID, mais on pourrait éviter les acrobaties dés qu'il faut faire un truc un peu compliqué.
Je trouve chiante et instable la façon de gérer les extensions emacs : cela a peut être changer mais pour moi, on est loin de npm/ go get /urpmi il s'agit toujours d'aller chercher une version à la main et modifier le fichier de config.
Et une fois, le truc installé, il faut deviner tout seul comment le module marche. Il me semble que tuareg est fournis de base maintenant, mais il ne semble pas que tu peux "jumper" d'un fichier à l'autre pour trouver définition de code et usage de code. tu n'as pas auto-complétion sémantique ou de library (à moins d'ouvrir tout dans un buffer…) ou de refactoring, ou de vérification de la syntaxe en ligne.
Quelqu'un a un avis sur cloud9 ? Avec codinggame, j'avais trouvé l'idée génial d'avoir un éditeur à distance : plus besoin de maintenir une suite d'outils à jour sur chaque machine de chaque développeur ou serveur de build : sauvegarde intégré, build intégré, bref, il y a avait potentiellement beaucoup d'avantage.
En plus de IEEE754 que je trouve utile pour les cpu, mais compliquer pour les développeurs et les compilateurs, il y a bien d'autre sujet difficile à creuser.
Je pense à l'usage par des langages des instructions cpu un peu spécifique, il y a eu le SIMD qui a entrainé l’auto-vectorisation dans GCC, mais il y a plein d'autre instruction ésotérique comme pour aes ou la manipulation de bit (popcount).
Il y a le refactoring de code, on peut par exemple penser à la sortie d'une nouvelle version de lib, et le bordel, l'énergie dépensée uniquement pour porter les applications dans la nouvelle version. Je crois que le problème s'est posé avec Qt4 et Gtk3. On pourrait imaginer un moyen de décrire sémantiquement la migration automatiquement un programme d'une version de lib à l'autre.
Concernant le test, avec mon expérience dans le code aéronautique, il manque des outils pour générer automatiquement des entrées, pour "couvrir" totalement le code. Ensuite, il faut un moyen pour valider les sorties. Le plus simple est un modèle complet de test. Si on a un "équivalence checker" pas besoin du générateur d'entrée. Les techniques de "fuzzer" s'approche de ce modèle, mais sans garanti sur la couverture du code. Par définition plus un code est complexe, et moins il est couteux de redévelopper un code différent de test, que de faire une couverture total par des tests classiques.
Pour aller encore plus loin, même si il existe des outils proprio qu'il le fait, on pourrait imaginer des tag pour faire la traçabilité entre la spec, le code, procédure de test et code de tests. Ainsi on peut savoir ce que les tests valident. On peut vérifier que les tests du 1.1 de la spec, couvre bien entièrement le code lié au point 1.1, et non pas un autre test qui le fait par hasard et sans vérifier les sorties (vécu). Si un outil vérifie la cohérence de l'ensemble, il devient facile d'estimer l'impact dans un projet en cas de modification de spec. Actuellement, c'est fait avec divers outils, Excel inclus.
J'imagine qu'il y a plein d'autres problèmes de ce genre.
Une autre question, est-ce que vous faites des rencontres avec des codeurs pour qu'ils exposent leur problème de la "vie réelle". Je suis souvent soufflé par le manque de contexte des chercheurs en informatique que je rencontre.
Un dev génial d'un nouveau langage qui est surpris d'apprendre qu'il existe des programmes qui se chiffrent en millions de ligne de code. Un chercheur en compilation qui ne comprends que très vaguement les contraintes hardwares des cpu modernes (false sharing sur les lignes de cache, dépendances read-after-write, write buffer,…). Un codeur linux qui cherche une solution précise dans la littérature scientifique sur un problème de lock, mais il ne trouve que des solutions mono-cpu, ce qui n'existent plus.
Pourquoi rien n'est venu remplacer IEEE754 qui est une horreur à traiter automatiquement, car il n'y a aucune propriétés mathématiques utilisables ?
Bref, cela aurait un sens d'organiser les "rencontres recherche et développeurs", avec les développeurs qui exposent leur problèmes, et les scientifiques qui expliquent leur solution. Qu'en penses-tu ?
"Our code releases tend to be quite specific to exact Coq versions, so don't expect any of the below to work in any Coq version beside the one specified; yes, even newer versions that are only off by a few characters!"
Sérieux ! Les scientifiques devraient un peu plus se pencher sur l’intérêt de la compatibilité ascendante ! C'est impossible d'utiliser ce genre de code avec ce genre de contrainte. C'est la deuxième fois que je vois ce genre de problème avec un code issue du publique.
"tu écris un programme efficace/optimisé que tu veux utiliser en production, et un programme simple et naïf que tu utilises comme "spécification" (ou implémentation de référence), et tu essaies de montrer qu'ils sont équivalents."
ou l'inverse, la version simple étant le modèle de teste. As-tu des noms de langages qui font ça ?
[^] # Re: Vieille solution
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Des vieilles bases d'unix à la hype reactive actuelle. Évalué à 3.
De mémoire, c'est revenu à la mode, quand les cartes ethernet 1000mbits sont arrivé : les PC n'arrivaient pas à utiliser la moitié de la bande passante disponible. Les OS passaient leur temps dans la gestion d'interruption très bas niveau. Le but est de remplacer des cycles de gestion par des cycles vraiment utiles. Donc, oui, cela augmente le débit. Il n'y a pas de gestion logiciel de file, c'est le hardware qui gère.
Concernant la latence, il est faux de dire qu'une latence est basse quand il y a n threads pour n taches. En cas de forte charge, on a aucune idée de la latence maximale possible. Une fonction cyclique va fournir la même latence quelle que soit la charge.
Pour résumer, un système uniquement réactif aura une latence faible si il y a peu d’événements, dés que cela monte, une fonction cyclique offrira bien plus de garantie.
"La première sécurité est la liberté"
# un terminal qui va plus loin ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Quel terminal pour 2018 ?. Évalué à 8.
Je me demandais si quelqu'un avait essayer de faire un terminal qui va "plus loin".
En jouant avec les couleurs, on peut voir le genre de commande que l'on peut transmettre à un terminal. Tout le monde connait ncurse pour faire des applications à l'intérieur du terminal. On a aussi vu des terminal capable d'afficher directement des images, bien que j'ai du mal à voir l'utilité.
Est-ce que quelqu'un a essayer de faire un peu mieux que d'afficher du texte pure, comme afficher des sorties XML ou json de façon arborescente, ou une autre innovation qui permet d'utiliser l'entrée et la sortie standard d'un programme tout en lui donnant un GUI un peu plus riche, sans passer par la création d'un serveur web ?
"La première sécurité est la liberté"
[^] # Re: Hem...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Misogynie et discrimination à l'embauche. Évalué à 2.
Comment ce poste argumenté peut être noté négativement ?!
"La première sécurité est la liberté"
[^] # Re: Retour d'expérience sur 10 ans
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche G’MIC : 2.2, v’là les filtres !. Évalué à 5.
J'imagine que c'est le même bazard pour les 2 autres activités sous évaluées : la vulgarisation et l'expertise pour l’État.
Lors d'une interview a la radio, il était question des problèmes de conflit d’intérêt avec les experts fiscalistes qui conseillent à la fois les Etats et les entreprises, avec un énorme conflit d’intérêt. L'excuse pour l’État est de dire 'c'est compliqué', alors qu'ils ont des experts mais peu intéressé à ses questions car cela ne rentre pas en compte dans leur évaluation de carrière. Ses chercheurs pourraient aider entre autre, avec des livres ou article de vulgarisation.
"La première sécurité est la liberté"
[^] # Re: Exception
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le droit d'auteur en France et le domaine public. Évalué à 3.
Il y a plein d'exceptions dans le droit d'auteur français concernant le logiciel.
Il n'y a pas de droit à la copie privé par exemple, en dehors d'une sauvegarde.
"La première sécurité est la liberté"
[^] # Re: Droit d'auteur illogique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le droit d'auteur en France et le domaine public. Évalué à 3.
A l'origine, c'était pour protéger les auteurs, ce n'est plus le cas aujourd'hui, il est devenu une manière de créer une rente.
"La première sécurité est la liberté"
[^] # Re: Attention, programme bogué
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Portage de TapTempo en Golang. Évalué à 4.
il y a aussi les samples négatifs qui font planter le truc.
"La première sécurité est la liberté"
[^] # Re: Regroupement
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Portage de TapTempo en Tcl. Évalué à 4.
cela ne devrait pas être trop difficile de monter un repository github avec toutes les versions centralisés. Par contre, il faut une personne qui s'en occupe.
"La première sécurité est la liberté"
[^] # Re: Réordonnancement étrange...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche De la nécessité d’adopter les opérations atomiques C11 ?. Évalué à 3.
Les dépendances read-after-write sont importantes surtout sur les "cpu simples", mais avec les monstres que sont les X86, la taille de la fenêtre d'observation permet d'aller aux instructions suivantes.
Le regroupement des load&store peut potentiellement avoir beaucoup d'impact de performance, car le cpu ne peut pas faire un store et un load en parallèle, il est obliger de vérifier qu'il n'est pas entrain de relire ce qu'il vient d'écrire.
"La première sécurité est la liberté"
[^] # Re: bornes ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Portage de TapTempo en Golang. Évalué à 5.
Non, ce cas n'est pas géré. Flag reconnait simplement qu'il s'agit d'un entier. Il faudrait une couche de vérification supplémentaire.
D'ailleurs, j'ai découvert l'usage de errors.Wrap(err, "fonction_en_cours"), il n'y a pas si longtemps que je trouve assez génial : on wrap une erreur pour ajouter de l'information sur la redirection d'une erreur, la fonction ajoute aussi un moyen d’accéder au ligne/fichier. Et l'objet reste du type "error", ce qui permet de réutiliser ou d’injecter ce genre d'erreur sans problème de compatibilité.
"La première sécurité est la liberté"
# Vieille solution
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Des vieilles bases d'unix à la hype reactive actuelle. Évalué à 3.
La méthode de remplacer un thread par travail à faire par une fonction cyclique, existe depuis longtemps dans la gestion des interruptions : cf https://en.wikipedia.org/wiki/Interrupt_coalescing
D'ailleurs, dans le domaine de l'embarqué, pour avoir des boucles ultra courtes, il s'agit simplement de fonction lancé par un timer à intervalle régulier sans gestion de la mémoire (tout est pré-alloué). Je ne sais pas si une personne a déjà essayer de faire un serveur qui pré-alloue les ressources pour gérer 11 000 connections à la fois.
"La première sécurité est la liberté"
[^] # Re: Réordonnancement étrange...
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche De la nécessité d’adopter les opérations atomiques C11 ?. Évalué à 4.
Cela se justifie par les performances, regrouper des opérations prends moins de temps que de les fragmenter (Lecture/écriture depuis les write cache).
"La première sécurité est la liberté"
[^] # Re: Portage ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Portage de TapTempo en Bash. Évalué à 4.
La perl aussi ? il y a 2 print, au lieu d'un seul, j'ai l'impression. Il demande un ctl-d au lieu de 'q'.
"La première sécurité est la liberté"
# Portage ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Portage de TapTempo en Bash. Évalué à 4.
c'est vraiment le service minimum, il n'y a aucune option de ce programme.
"La première sécurité est la liberté"
[^] # Re: N'importe quoi !
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Interview de Dimitri Fontaine, contributeur majeur à PostgreSQL. Évalué à 3.
Je crois que l'on s'est mal compris. Je parle du même genre d'api sous entendu dans le code SQL mais écrit dans un langage moins tordu. Je parle bien d'API de haut niveau. Mais pour du code mis en tant que module ajouté à la BDD, pour suivre la mode de µservice qui lie un peu de code avec une BDD.
Donc, on aurait toujours les garanties ACID, le code ne stock rien en dehors de la BDD, et fonctionne de façon parallélisable, et propose au monde extérieur une API web (JSON, XML, gRPC).
On peut me dire que la scalabilité sera plus limitée, si on ne peut pas multiplier les front-end de code, mais je répondrais que la limite va vite se déplacer sur la scalabilité de la base elle-même.
"La première sécurité est la liberté"
[^] # Re: N'importe quoi !
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Interview de Dimitri Fontaine, contributeur majeur à PostgreSQL. Évalué à 5.
Je ne comprend pas trop ou est le problème. Il n'est pas possible de faire des fonctions get/set ou de proposer un map/fold sur les tables dans n'importe quel langage ? Je parle bien sûr d'un code type "12 principes" de heroku sans aucun état conservé par le programme lui-même entre 2 requêtes extérieurs.
"La première sécurité est la liberté"
[^] # Re: N'importe quoi !
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Interview de Dimitri Fontaine, contributeur majeur à PostgreSQL. Évalué à 6.
A l'inverse, la complexité du SQL vient du fait qu'il essaye de cacher que parfois que l'accès se fait avec une table de hash, et parfois, il parcourt entièrement les tables.
Avec la mode des µservices, dont il est possible de tout réécrire entre 2 versions d'un logiciel ( ce qui est un impossible pour un gros monolithe et qui rend douloureux tout changement de technologie), il y a un peu de code avec une BDD (genre un modèle DDD persisté, et qui sort en API REST HTTP JSON ou XML ou en protobuf ou les 3).
Est-ce qu'il serait délirant d'avoir un vrai langage classique lié avec une BDD dans le but de faire un microservice complet ? L'API devrait être simplifié pour fournir les garanties ACID, mais on pourrait éviter les acrobaties dés qu'il faut faire un truc un peu compliqué.
On éviterait ainsi la communication réseau.
"La première sécurité est la liberté"
[^] # Re: Emacs un jour, Emacs toujours
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Quel IDE pour quel langage. Évalué à 2.
Je trouve chiante et instable la façon de gérer les extensions emacs : cela a peut être changer mais pour moi, on est loin de npm/ go get /urpmi il s'agit toujours d'aller chercher une version à la main et modifier le fichier de config.
Et une fois, le truc installé, il faut deviner tout seul comment le module marche. Il me semble que tuareg est fournis de base maintenant, mais il ne semble pas que tu peux "jumper" d'un fichier à l'autre pour trouver définition de code et usage de code. tu n'as pas auto-complétion sémantique ou de library (à moins d'ouvrir tout dans un buffer…) ou de refactoring, ou de vérification de la syntaxe en ligne.
"La première sécurité est la liberté"
# cloud9 ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Quel IDE pour quel langage. Évalué à 4.
Quelqu'un a un avis sur cloud9 ? Avec codinggame, j'avais trouvé l'idée génial d'avoir un éditeur à distance : plus besoin de maintenir une suite d'outils à jour sur chaque machine de chaque développeur ou serveur de build : sauvegarde intégré, build intégré, bref, il y a avait potentiellement beaucoup d'avantage.
"La première sécurité est la liberté"
[^] # Re: Language Server Protocol
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Quel IDE pour quel langage. Évalué à 3.
Faudrait que j’essaie, il y a un plug-in Emacs pour LSP, et LSP supporte beaucoup de chose.
"La première sécurité est la liberté"
[^] # Re: raspberrypi ?
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Cozy, votre domicile numérique. Évalué à 4.
g'mic peut être rapide. Il utilise openMP et il me semble que l'autovectorisation de gcc marche dessus.
"La première sécurité est la liberté"
[^] # Re: Perl6
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La recherche en langages de programmation au quotidien. Évalué à 3.
En plus de IEEE754 que je trouve utile pour les cpu, mais compliquer pour les développeurs et les compilateurs, il y a bien d'autre sujet difficile à creuser.
Je pense à l'usage par des langages des instructions cpu un peu spécifique, il y a eu le SIMD qui a entrainé l’auto-vectorisation dans GCC, mais il y a plein d'autre instruction ésotérique comme pour aes ou la manipulation de bit (popcount).
Il y a le refactoring de code, on peut par exemple penser à la sortie d'une nouvelle version de lib, et le bordel, l'énergie dépensée uniquement pour porter les applications dans la nouvelle version. Je crois que le problème s'est posé avec Qt4 et Gtk3. On pourrait imaginer un moyen de décrire sémantiquement la migration automatiquement un programme d'une version de lib à l'autre.
Concernant le test, avec mon expérience dans le code aéronautique, il manque des outils pour générer automatiquement des entrées, pour "couvrir" totalement le code. Ensuite, il faut un moyen pour valider les sorties. Le plus simple est un modèle complet de test. Si on a un "équivalence checker" pas besoin du générateur d'entrée. Les techniques de "fuzzer" s'approche de ce modèle, mais sans garanti sur la couverture du code. Par définition plus un code est complexe, et moins il est couteux de redévelopper un code différent de test, que de faire une couverture total par des tests classiques.
Pour aller encore plus loin, même si il existe des outils proprio qu'il le fait, on pourrait imaginer des tag pour faire la traçabilité entre la spec, le code, procédure de test et code de tests. Ainsi on peut savoir ce que les tests valident. On peut vérifier que les tests du 1.1 de la spec, couvre bien entièrement le code lié au point 1.1, et non pas un autre test qui le fait par hasard et sans vérifier les sorties (vécu). Si un outil vérifie la cohérence de l'ensemble, il devient facile d'estimer l'impact dans un projet en cas de modification de spec. Actuellement, c'est fait avec divers outils, Excel inclus.
J'imagine qu'il y a plein d'autres problèmes de ce genre.
"La première sécurité est la liberté"
[^] # Re: Perl6
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La recherche en langages de programmation au quotidien. Évalué à 8. Dernière modification le 09 février 2018 à 08:50.
Une autre question, est-ce que vous faites des rencontres avec des codeurs pour qu'ils exposent leur problème de la "vie réelle". Je suis souvent soufflé par le manque de contexte des chercheurs en informatique que je rencontre.
Un dev génial d'un nouveau langage qui est surpris d'apprendre qu'il existe des programmes qui se chiffrent en millions de ligne de code. Un chercheur en compilation qui ne comprends que très vaguement les contraintes hardwares des cpu modernes (false sharing sur les lignes de cache, dépendances read-after-write, write buffer,…). Un codeur linux qui cherche une solution précise dans la littérature scientifique sur un problème de lock, mais il ne trouve que des solutions mono-cpu, ce qui n'existent plus.
Pourquoi rien n'est venu remplacer IEEE754 qui est une horreur à traiter automatiquement, car il n'y a aucune propriétés mathématiques utilisables ?
Bref, cela aurait un sens d'organiser les "rencontres recherche et développeurs", avec les développeurs qui exposent leur problèmes, et les scientifiques qui expliquent leur solution. Qu'en penses-tu ?
"La première sécurité est la liberté"
[^] # Re: Perl6
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La recherche en langages de programmation au quotidien. Évalué à 5.
Sérieux ! Les scientifiques devraient un peu plus se pencher sur l’intérêt de la compatibilité ascendante ! C'est impossible d'utiliser ce genre de code avec ce genre de contrainte. C'est la deuxième fois que je vois ce genre de problème avec un code issue du publique.
"La première sécurité est la liberté"
[^] # Re: Perl6
Posté par Nicolas Boulay (site web personnel) . En réponse au journal La recherche en langages de programmation au quotidien. Évalué à 3.
ou l'inverse, la version simple étant le modèle de teste. As-tu des noms de langages qui font ça ?
"La première sécurité est la liberté"