mars
2012
Le modèle de programmation parallèle basé sur les tâches et la mémoire partagée est le plus répandu aujourd’hui, on le retrouve en particulier dans Java, C# et C avec OpenMP.
septembre
2011
Quoi de neuf dans l’univers de dodo? Malgré les apparences, je ne suis pas resté complètement oisif. Documentation Pour une part j’ai commencé à mettre à jour la documentation du langage. Dites-moi ce que vous en pensez! Dodo – Introduction (anglais) Implémentation J’ai aussi fait des tentatives d’implémentation de dodo en d’autres langages. Je reparlerai de la version C une autre fois. Pour le moment, je vous invite à regarder cette adaptation du modèle objet […]
juin
2011
Le concept de transaction est bien connu des utilisateurs de base de données, où il sert à grouper des opérations pour permettre l’accès concurrent et consistant aux données de la base. La programmation parallèle peut faire appel à la notion de transaction pour manipuler les variables partagées. Le principal intérêt de ce modèle est la simplicité d’utilisation et une efficacité meilleure que d’autres modèles comparables.
juin
2011
Pour introduire le système d’exceptions de dodo (je préfère parler d’événements) je propose de s’atteler à une tâche simple, la traduction d’une méthode Java gérant les exceptions dans le langage dodo. Sans plus d’ambages, voici la méthode en question: private void openStore() { try { store = RecordStore.openRecordStore(« CALCULATOR », true); for (int recordId = 1, last = store.getNextRecordID(); recordId < last; recordId++) { byte[] record = null; try { record = store.getRecord(recordId); } catch (InvalidRecordIDException x) […]
novembre
2010
Le modèle du passage de messages est très simple et il s’apparente au fonctionnement de l’Internet. Le client demande des informations par l’envoi d’un message (requête), et le serveur retourne un message (réponse) avec les informations requises, par exemple une page web. En attendant la réponse, le client peut s’occuper à d’autres tâches. Si les informations demandent du temps à être reçues, le client peut utiliser les données partielles pour commencer son travail, par exemple […]
novembre
2010
Mr Haskell Curry est un logicien qui a donné son nom à une technique utilisée en programmation fonctionnelle, le currying. Celle-ci a pour origine les travaux de Gottlob Frege et Moses Schönfinkel, ce qui a poussé Christopher Strachey à suggérer le nom de schönfikelisation en tant qu’alternative. Ne nous attardons pas plus longtemps sur les détails triviaux. Voyons ce que le terme signifie en informatique.
octobre
2010
Le jour est venu, dodo a maintenant un interpréteur qui permet d’écrire de petits programmes et les exécuter! Certes il est limité à un petit nombre d’éléments du langage mais on peut déjà faire des choses intéressantes. Assurez-vous de lire Readme.txt et les exemples. Page du projet: http://sourceforge.net/projects/dodo Autres liens: http://blog.developpez.com/dodo/p7976/langage/dodo/langage-minimal-pour-dodo http://blog.developpez.com/dodo/p9236/technique/vers-une-premiere-implementation-de-dodo
septembre
2010
Le dernier ticket sur la gestion d’exception (ou d’événement), malgré sa longueur, ne décrit pas un aspect délicat de celui-ci: la gestion d’exception dans les instructions de finalisation. En effet, si les instructions d’un bloc try ont terminé sur le retour de la fonction (return) ou sur une exception non capturée, il reste toujours des instructions de finalisation a exécuter. D’autres langages comme Java ont des règles peu satisfaisantes en ce qui concerne les exceptions […]
septembre
2010
Pour être reconnu aujourd’hui, un nouveau langage se doit d’apporter des nouveautés dans le domaine de la programmation. Certains se distinguent en visant la facilité d’utilisation, ou en étant spécialisé pour une application précise. Mais ce à quoi tout le monde s’intéresse, c’est le parallélisme.
septembre
2010
Une valeur de vérité (booléen) peut prendre deux valeurs en logique, soit vrai soit faux. En fait la logique s’étend à des ensembles de valeurs plus grand mais on ne s’intéresse qu’à ces deux-là ici. Dès lors, on peut considérer une valeur de vérité comme un ensemble de taille maximale un.