Frage

Viele Programmiersprachen teilen generic und sogar ziemlich universelle Funktionen. Zum Beispiel, wenn Sie im Vergleich Java, VB6, .NET, PHP, Python, dann würden Sie allgemeine Funktionen wie Kontrollstrukturen, numerische und String-Manipulation finden, usw.

Was getan wurde, diese Funktionen in einer Meta-Sprache (oder sprachunabhängig) Ebene zu definieren?

UML bietet einen beschreibenden Bezug von Software in jeder Hinsicht, aber der reale Fokus scheint Datenprozesse zu sein. Ist UML relevant?

Ich frage nicht, „Warum gehen wir nicht eine einzige Sprache, die die aktuellen Fülle ersetzt.“ Wir brauchen viele verschiedene Werkzeuge (zumindest in diesem eon).

Ich verlange nicht, dass alle Sprachen eine Vorlage passen - Montage vs. kompilierten Sprachen unterschiedlich genug sind, dass nicht machbar zu machen (und einige Leute nennen HTML eine Sprache, obwohl ich nicht). Jeder Versuch, würde mit einem richtig engen Anwendungsbereich beginnen. Im Einklang mit dieser, würde ich das Modell nicht erwarte sogar eine kleine Auswahl mit voller Gültigkeit zu decken.

Ich würde erwarten jedoch, dass ein solches Modell von einer Sprache in eine andere zu transponieren verwendet werden könnten (mit begrenzter Ziele - man denke jist Übersetzung).

War es hilfreich?

Lösung

Was Sie beschreiben, klingt wie die formale Semantik von Programmiersprachen . Es gibt eine Vielzahl von Ansätzen und jeder wird einen Weg geben, um formal die Bedeutung eines Programms in irgendeiner Programmiersprache angeben. In einigen Fällen ist diese Spezifikation im Wesentlichen eine Übersetzung in einer anderen Sprache, wie Lambda-Kalkül oder Zusammenstellung für eine formal festgelegte abstrakte Maschine wie SECD.

Es gibt so viel Arbeit hier ist es schwer, einen spezifischen Bezug zu holen. Aber ich hoffe, ich habe Ihnen einige nützliche Keywords gegeben, um Ihre Suche fortzusetzen.

Andere Tipps

Es gibt bei dieser viele Versuche unternommen worden, aber keine waren sehr erfolgreich. Die früheste ich bin mir dessen bewusst UNCOL mehr als 50 Jahren.

Sie haben eine Liste der Sprachen gegeben, die viel gemeinsam haben, weil sie ziemlich ähnlich sind - sie sind alle Verfahrenssprachen mit gemeinsamen Wurzeln und einige OO-Erweiterungen geworfen, so dass nicht zu ist überraschend. Wenn Sie beginnen bei verschiedenen Sprachen wie Lisp suchen, Haskell, Erlang, Prolog oder sogar SQL starten Sie ganz andere Dinge zu sehen.

UML wird in der Regel verwendete Algorithmen / Code in einfacheren Worten zu definieren, bevor Sie zu echtem Code zu bewegen.

zu beantworten, was ich bin zu raten, um Ihre Frage zu sein, gibt es bereits eine definierte Menge der benötigten Teile von Sprachen während, denn wenn, sonst ... Wird das jemals als Standard eingestellt wird oder in eine Basisbibliothek gemacht die von allen Sprachen verwendet wird. nein, das ist, weil die verschiedenen Entwickler von Sprachen wie es selbst tun

ich glaube, die nächste Sie dies ohne Beschränkung der Allgemeinheit erhalten können, ist eine Turing-Maschine, die nicht sehr nützlich für praktische Zwecke ist. Aber wenn Sie Turing Maschine Sprachen erlauben „markiert“ und wieder verwendet werden, können Sie die Konzepte aufbauen Sie benötigen, arbeiten von niedrig- bis auf hohem Niveau.

Ich denke, dass MOF die universelle Sprache ist. Sie können zum Beispiel erstellen UML-Diagramme von MOF über ein UML-Metamodell. Wenn Sie diese Metamodell Informationen in XMI speichern, dann können Sie sparen, was auch immer Informationen, die Sie brauchen, und noch mehr als in jeder Sprache. XMI semantisches ist so reich, dass es keine Begrenzung für die Nutzung ist. Wenn Sie auf der Spitze eines Metamodell Live synchronisieren mit MOF UML zu XMI Karte dann für mich ist die universelle Sprache.

Der Autor von Pattern Calculus scheint ein solches universelles Modell vorzuschlagen. Ich gehe davon aus, dass es sich herausstellen wird genauso nützlich sein wie frühere Versuche, ein universelles Modell zu definieren, die, gut in Teilen zu sagen, ist aber nicht das letzte Wort.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top