, bredelet 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 de dodo à Javascript (incomplet):
Vous devez être identifié pour poster un commentaire.
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) {
// record was deleted
}
if (record == null) {
continue;
}
Statement stmt = new Statement(recordId, record);
try {
Compiler compiler = new Compiler(stmt.text);
Compiler.Expression expr = compiler.compile();
if (expr instanceof Compiler.Declaration) {
((Compiler.Declaration)expr).declare(bindings);
}
stmt.state = Statement.COMPILED;
} catch (CompileError x) {
stmt.state = Statement.ERROR;
}
statements.addElement(stmt);
}
} catch(Exception x) {
}
}
Vous devez être identifié pour poster un commentaire.
, bredelet 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.
Vous devez être identifié pour poster un commentaire.
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.
Vous devez être identifié pour poster un commentaire.
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.
Vous devez être identifié pour poster un commentaire.
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 pour réserver de la place à une image dans une page.
Je ne vais pas poursuivre l’analogie du navigateur Internet plus loin. Mais vous pouvez la garder en tête quand je vais discuter le passage de message dans dodo, car les deux se rejoignent parfois.
Vous devez être identifié pour poster un commentaire.
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.
Vous devez être identifié pour poster un commentaire.
Le modèle objet de dodo repose sur le prototype, comme nous avons vu dans la première partie.
Nous allons maintenant voir comment dodo interprète la notion de classe, un classique de programmation orientée objet, en terme de prototypes.
Vous devez être identifié pour poster un commentaire.
Dodo est un langage à prototypes, à l'instar de Self ou de Javascript. Un objet est défini sur la base d'un autre objet. Il permet aussi de définir des classes, qui décrivent des objets tous issus du même prototype.
Cet arrangement permet à dodo de proposer un modèle objet très complet, simple et cohérent.
Vous devez être identifié pour poster un commentaire.
Certains aspects de dodo sont quelque peu étranges ou bien archaïques, en ce qu'ils ont été décidés au tout début de la conception du langage puis sont restés. Ils donnent à dodo une saveur "hors norme" particulière.
Vous devez être identifié pour poster un commentaire.
Dodo est un nouveau langage de programmation de ma conception.
Quand on s'intéresse aux langages de programmation d'hier, d'aujourd'hui et de demain il est naturel qu'un jour on désire écrire le sien propre. Étant programmeur de formation j'ai franchi le pas.
Une première motivation, je crois, était que en admirateur des langages de style fonctionnel (Lisp, Haskell, Scala), mais décidément plus à l'aise avec le style impératif (C, Java) je désirais trouver le "juste milieu" où les styles se rejoignent.
Vous devez être identifié pour poster un commentaire.
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Copyright © 2000-2012 - www.developpez.com