Question

Je l'ai vu quelques questions concernant les langages de programmation ésotériques préférées des utilisateurs stackoverflow (ou non). Il y a aussi des questions concernant la mise en œuvre des langues. Cependant, je suis curieux de voir si vous avez effectivement écrit votre propre langage de programmation (que ce soit ésotérique ou non) et je voulais aussi savoir à quoi il ressemble.

Je plaisir à lire et à essayer d'apprendre de nouvelles langues et inventives, donc je pensais que ce serait agréable de voir ce que la communauté stackoverflow a à offrir. :)

Je a écrit un pour le plaisir il y a quelques années.

Était-ce utile?

La solution

Je l'ai écrit un ensemble de 7 « micro » langues pour l'enseignement. Chacun est destiné à illustrer les idées clés d'un des langages de programmation complète suivantes:

  • une version typées de C
  • Système
  • C
  • Système F
  • ML
  • Smalltalk
  • Prolog

Les langues semblent délibérément très bien l'un comme l'autre, de sorte que les élèves ne voient que des différences essentielles, jamais celles gratuites. Je veux faire deux autres, sur la base Haskell et CLU.

Sam Kamin a eu l'idée originale et beaucoup aidé à la conception.

Autres conseils

Je travaille au large et sur DIFL, conçu comme une langue d'aventure texte déclaratif, mais moins en moins déclarative au fil du temps. Ses principales caractéristiques sont un système d'objets très lâche et un système d'action basé sur Multiméthodes. (Eh bien, ses principales caractéristiques seront, en supposant que je termine jamais.)

L'une des premières langues que j'ai essayé d'écrire était un langage assembleur fichier MIDI. Vous souhaitez définir le tempo et la banque d'instruments, puis beaucoup de lignes de note (nom Remarque, à partir-beat-de-la-courant mesure, la durée, l'accent en option), ponctués par des barres ( « Mesur \ n »), et dynamique (ppp, p, p, mp, mf, f, ff, fff).

Il était pas vraiment utilisable sans langage de macro pour répéter des séquences, changer de chaîne, et établir de nouvelles pistes. Cela a exigé ma première table de hachage, et un doigts croisés vos-tricksy appellent à qSort à entrelacer les canaux par séquence temporelle (implicitement porté par chaque billet-On / événement Note Off).

Quand je suis revenu un an plus tard, il avait été victime à la pourriture du peu. Après pas une petite lutte je redécouvre que la fonction de tri et de sortie tout a été déclenché par un code explicite EOF. Une chanson a été élargie macro-facilement 20.000 lignes avec cette ligne EOF cruciale ayant donc 1 / 20000e de chance d'être repéré en essayant de comprendre exactement ce que dans le diable va mal!

Je suis un peu heureux que toutes les preuves en toute sécurité à l'écart dans une unité centrale de traitement morts sous le panier à micro-ondes. Les horreurs !!

Modifier Après réflexion, il y a des choses intéressantes sur le format MIDI. Il a un type entier de longueur variable (en utilisant IIRC le bit de signe pour signaler le dernier octet). Il est axé sur l'octet, étant conçu pour exécuter plus de 9 fils parallèles; et il a quelque chose du temps de synchronisation fou je ne ai jamais compris. Mais tout ce que je voulais, c'était que le lecteur multimédia Windows95 pourrait interpréter la sortie (il pourrait même utiliser la 8bit banque de sons General MIDI intégré dans la carte son, les cymbales étaient glorieusement déformée)

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top