9 Stimmen

Wie lautet der Fachbegriff für Sprachen vom Typ C# oder Java?

Dies ist wahrscheinlich eine sehr einfache Frage, aber wie lautet der Fachbegriff für diese Klasse von Sprachen?

Sie verwenden eine "Zwischen"-Assemblersprache, die durch die JVM oder CLR gesendet wird. Beide sind objektorientiert, und beide sind von einem Vermittler wie der Java Virtual Machine oder der Common Language Runtime abhängig, um in die native Maschinensprache zu kompilieren.

Im Gegensatz zu Asm/C/C++ lassen sie sich nicht direkt in native Maschinensprache kompilieren und erfordern intensive Kenntnisse der Speicherzuweisung. Sie verwenden beide die Garbage Collection.

Gibt es einen technischen Begriff, der Java und C# von C++ trennt?

27voto

Drew Noakes Punkte 282438

Ein wesentlicher Unterschied zwischen C++ und .NET/Java ist die automatische Rückgewinnung von nicht mehr benötigtem Speicher. Dies ist bekannt als Müllabfuhr . Wegen dieser Eigenschaft sind sie bekannt als verwaltet Plattformen.

Sowohl Java als auch .NET verzögern die Kompilierung von Bytecode in nativen Code bis zur letzten Minute. Für diese Eigenschaft sind sie bekannt als JIT-kompiliert (Just in Time).

Die Sprachen C#/Java/C++ sind bekannt als imperativ, objektorientiert Sprachen.

Das Typsystem sowohl in .NET als auch in Java erlaubt nur überprüfbare Methodenaufrufe. Für diese Eigenschaft werden sie als statisch typisiert .

C#/Java/C++ sind Turing vollständig Das bedeutet, dass sie in der Praxis jede Berechnung durchführen können.

0 Stimmen

Man könnte auch sagen, sie sind http://en.wikipedia.org/wiki/ALGOL basierenden Sprachen, da dies die Familie ist, von der sie abgeleitet sind.

0 Stimmen

Zu verwaltetem Code gehört viel mehr als nur die Garbage Collection; automatische Validierung und so weiter beweisen beispielsweise, dass sich der Code nicht auf unzulässige Weise verhalten kann. Plattformen mit Garbage Collection werden einfach Garbage-Collected-Plattformen genannt :)

0 Stimmen

Calum hat recht: Bei "managed" geht es nicht wirklich um Speicherverwaltung.

5voto

Stephan Tobies Punkte 101

Diese Sprachen werden gemeinhin als "verwaltete" Sprachen bezeichnet.

4voto

Greg Hewgill Punkte 882617

Die Zwischendarstellung ist eher eine Eigenschaft des Laufzeitsystems als der Sprache selbst. Diese Arten von Systemen werden oft als Bytecode Systeme.

0 Stimmen

Ich habe auch schon den Begriff "pseudo-kompiliert" gesehen.

0 Stimmen

Ich stimme mit Ihrem Punkt überein. Dies ist besonders einfach in der .NET-Umgebung zu bemerken, wo die Laufzeit und die Sprache(n), die Sie für diese RT verwenden können, eindeutig unterschiedliche Dinge sind.

4voto

milot Punkte 1050

Sie werden manchmal auch als statisch typisierte verwaltete Programmiersprachen bezeichnet.

3voto

Barry Kelly Punkte 40566

Seit Microsoft .NET auf den Markt gebracht hat, wird das Wort "managed" verwendet, um zwischen Sprachen zu unterscheiden, die - zumindest logisch - auf einer virtuellen Maschine laufen, und solchen, die auf dem Rohmaterial laufen. Der Begriff hat sich weitgehend durchgesetzt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X