Présentation du langage de programmation Dada, une expérience des créateurs de Rust, un langage comme Rust, devant ressembler plus à Java ou JavaScript et moins à C++.

Dada est une expérience de pensée. Que se passerait-il si on créait un langage comme Rust, mais qui ressemblerait plus à Java ou JavaScript, et moins à C++ ? Un langage qui n'aspire pas à être utilisé dans des noyaux ou de minuscules dispositifs embarqués et qui est prêt à exiger un temps d'exécution minimal. À quoi cela pourrait-il ressembler ?

Quel est l'état d'avancement de Dada ?

Pour l'instant, Dada n'existe pas vraiment, bien qu'il y ait quelques prototypes expérimentaux :

  • Il existe une sémantique opérationnelle expérimentale implémentée dans PLT Redex.
  • L'interpréteur, écrit en Rust, existe. Vous pouvez essayer une version basée sur WebAssembly.


Voici comment Dada devrait être dans toute sa splendeur.

Dada en quelques mots

Dada est un langage basé sur la propriété qui est, par certains aspects, similaire à Rust :

  • Comme Rust, Dada ne nécessite pas de garbage collector.
  • Comme Rust, Dada garantit la sécurité de la mémoire et l'absence de course aux données.
  • Comme Rust, les structures de données Dada peuvent être allouées dans la pile et utilisent des dispositions de mémoire plates.


Dada est cependant très différent à d'autres égards :

  • Comme TypeScript, Dada est un langage à typage progressif :

    • Cela signifie que vous pouvez commencer à utiliser Dada dans l'interpréteur, sans annotations de type, pour vous familiariser avec son fonctionnement.
    • Une fois que vous êtes à l'aise, vous pouvez ajouter des annotations de type et utiliser le compilateur pour obtenir des performances comparables à celles de Rust.

  • Dada cible WebAssembly en premier lieu :

    • Vous pouvez construire des cibles natives avec Dada, mais son système FFI est basé sur les types d'interface de WebAssembly.

  • Dada est orienté objet, mais pas de manière puriste :

    • Dada combine l'OO avec des fonctionnalités intéressantes comme le pattern matching, en s'inspirant de langages comme Scala.


Dada présente également certaines limitations par rapport à Rust :

  • Dada nécessite un runtime et ne cible pas les systèmes "bare metal" ou les noyaux.
  • Dada ne supporte pas l'assemblage en ligne ou le code arbitraire non sécurisé.


Nom : 1.png
Affichages : 101391
Taille : 26,2 Ko

Dada Manifesto

Dada est une nouvelle tendance en programmation. Pour s'en convaincre, il suffit de constater que jusqu'à présent, personne n'en savait rien et que demain, tout le monde en parlera sur Github. Dada vient du dictionnaire. C'est terriblement simple. En français, il signifie "cheval de loisir". En allemand, cela signifie "au revoir", "lâche-moi", "à un de ces jours". En roumain : "Oui, en effet, vous avez raison, c'est ça. Mais bien sûr, oui, tout à fait, c'est vrai." Et ainsi de suite.

Un mot international. Juste un mot, et le mot un mouvement. Très facile à comprendre. Terriblement simple. En faire une tendance artistique doit signifier que l'on anticipe les complications. Dada psychologie, dada Allemagne avec indigestion et paroxysme de brouillard, dada littérature, dada bourgeoisie, et vous-mêmes, honorables poètes, qui écrivez toujours avec des mots sans jamais écrire le mot lui-même, qui écrivez toujours autour du point réel. Dada guerre mondiale sans fin, dada révolution sans commencement, dada, vous amis et poètes, estimés messieurs, fabricants et évangélistes. Dada Tzara, dada Huelsenbeck, dada m'dada, dada m'dada dada mhm, dada dere dada, dada Hue, dada Tza.

Comment atteindre la félicité éternelle ? En disant dada. Comment devient-on célèbre ? En disant dada. Avec un geste noble et une délicatesse de bon aloi. Jusqu'à la folie. Jusqu'à la perte de conscience. Comment se débarrasser de tout ce qui sent le journalisme, les vers, tout ce qui est beau et bien, les œillères, le moralisme, l'européanisation, l'ennui ? En disant dada. Dada est l'âme du monde, dada est le prêteur sur gages. Dada est le meilleur savon au lait de lys du monde. Dada M. Rubiner, dada M. Korrodi. Dada M. Anastasius Lilienstein.

En clair, l'hospitalité des Suisses est quelque chose qu'il faut profondément apprécier. Et en matière d'esthétique, la clé est la qualité.

J'écrirai des programmes destinés à se passer des conventions linguistiques conventionnelles, rien de moins, et à en finir avec elles. Dada Johann Fuschgang Goethe, Dada Stendhal. Dada Dalaï Lama, Bouddha, Bible et Nietzsche. Dada m'dada. Dada mhm dada da. C'est une question de liens, et de les relâcher un peu pour commencer. Je ne veux pas de mots inventés par d'autres. Tous les mots sont des inventions d'autres personnes. Je veux mon propre matériel, mon propre rythme, et aussi des voyelles et des consonnes qui correspondent au rythme et qui sont toutes à moi. Si cette pulsation fait sept mètres de long, je veux des mots qui fassent sept mètres de long. Les mots de M. Schulz ne mesurent que deux centimètres et demi.

Cela servira à montrer comment le langage articulé naît. Je laisse les voyelles s'amuser. Je laisse les voyelles se produire tout simplement, comme un chat miaule... Des mots émergent, des épaules de mots, des jambes, des bras, des mains de mots. Au, oi, uh. Il ne faut pas laisser sortir trop de mots. Un vers de poésie, c'est l'occasion de se débarrasser de toutes les saletés qui s'accrochent à cette maudite langue, comme posées par des mains d'agents de change, des mains lissées par les pièces de monnaie. Je veux le mot là où il finit et où il commence. Dada est le cœur des mots.

Chaque chose a son mot, mais le mot est devenu une chose en soi. Pourquoi ne le trouverais-je pas ? Pourquoi un arbre ne peut-il pas s'appeler Pluplusch, et Pluplubasch quand il pleut ? Le mot, le mot, le mot en dehors de votre domaine, de votre étroitesse, de cette impuissance risible, de votre stupéfiante suffisance, en dehors de toute la parodie de votre évidente limitation. Le mot, messieurs, est une préoccupation publique de première importance.
Source : Documentation de Dada

Et vous ?

Pensez-vous que ce langage de programmation est crédible ou pertinent ?
Quel est votre avis sur le sujet ?

Voir aussi :

La version 1.76.0 de Rust, le langage de programmation compilé multi-paradigme, est disponible, et apporte une nouvelle documentation sur la compatibilité ABI, ainsi que d'autres améliorations

C++ vs Rust : une comparaison pratique de la vitesse de compilation et de test des deux langages de programmation, par Matthew Glazar, ingénieur en génie logiciel

La Maison Blanche invite les développeurs à abandonner le C et le C++ pour passer à des langages comme le Rust, jugés supérieurs pour sécuriser les espaces mémoire des logiciels