juin
2013
En langage C, la déclaration d’un enum énumère une liste d’identifiants associés avec cet enum (d’où son nom) et affecte une valeur numérique unique pour chacun d’entre eux. En Java, l’idée est la même mais les identifiants appartiennent au namespace de l’Enum et les valeurs peuvent être non-numériques. Exemple d’enum en C: (C) enum style { plan, relief, creux, cadre }; Le type enum de dodo est différent. En fait, il correspond au type des […]
avril
2013
Une particularité intéressante de dodo est qu’il s’agit d’un langage prototypes, à l’instar de Javascript, qui est aussi fortement typé. Comment résoudre cet antagonisme? Nous y avons déjà touché dans l’article Le Modèle Objet de Dodo. En dodo, l’appartenance à un type implique que la variable dérive d’un prototype donné, et l’interface du type permet d’accéder ou manipuler la variable sur cette base. Dans cet épisode nous allons nous intéresser particulièrement aux prototypes. La façon […]
juillet
2012
Représentation Une chaîne de caractères en dodo peut simplement s’écrire entre double guillemets. « Bonjour » Par défaut, le programme utilise le même encodage de caractères que le fichier source. Le compilateur détermine l’encodage du fichier à sa lecture. Cependant la détection d’encodage de fichier n’est pas une science exacte et dépend souvent de la configuration du système. Le compilateur doit permettre de fournir le nom d’un encodage de caractères au moment de la compilation. Pour choisir […]
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 […]
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.
août
2010
Le projet dodo a commencé il y a bien longtemps, et l’idée de mettre ses concepts en pratique me trottait dans la tête depuis un bon moment. Malheureusement je ne voyais pas clairement comment m’y prendre. Eh bien grâce à une suggestion que l’on m’a faite, il semble que j’aie finalement la solution.