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?

1voto

Greg Beech Punkte 127525

Managed", "Memory-Managed" oder "Garbage-Collected" sind akzeptable Begriffe, um sie hinsichtlich der Art und Weise zu unterscheiden, wie Speicher zugewiesen/gesammelt wird, obwohl der erste Begriff heutzutage wohl der gebräuchlichste ist.

Was die Kompilierung in eine Zwischensprache (IL) betrifft, so hängt dies davon ab, wie die virtuelle Maschine (VM) funktioniert, auf der sie laufen. In .NET kompiliert die Common Language Runtime (CLR) VM die IL in Maschinencode, kurz bevor sie ausgeführt wird, was als Just-in-Time-Kompilierung oder "JIT-Kompilierung" bezeichnet wird. In anderen Umgebungen wird der Code nicht in Maschinencode kompiliert, sondern lediglich interpretiert, was deutlich langsamer ist und als "interpretierte" Sprache bezeichnet wird.

1voto

Gerald Punkte 22563

Ich glaube, dass es sich um verwaltete Sprachen handeln würde.

0voto

DrHazzard Punkte 221

Es kommt darauf an, ob sie auf einer virtuellen Maschine laufen, dann werden sie als JIT-kompiliert (Just-In-Time) oder als Bytecode (logisch 1/2 kompiliert und 1/2 interpretiert) betrachtet.

Wenn Sie über die Garbage Collection sprechen, dann werden sie einfach als Garbage Collect bezeichnet.

Der springende Punkt dabei ist, dass die beiden Attribute getrennt sind. Eine Garbage-Collected-Sprache muss nicht über eine virtuelle Maschine verfügen und eine auf einer virtuellen Maschine basierende Sprache muss nicht Garbage-Collected sein.

Python ist zum Beispiel eine interpretierte Sprache mit Garbage Collection, die jedoch interpretiert wird und nicht auf einer virtuellen Maschine läuft.

0voto

Tom Hawtin - tackline Punkte 142461

Die zwischengeschaltete "Bytecode"-Darstellung ist nur ein Detail der Implementierung. C++ kann z. B. in ANDF (Architecture Neutral Distribution Format) kompiliert werden. P-Code war früher sehr beliebt. Andererseits werden JavaCards im Allgemeinen ohne die Möglichkeit, die Zwischenform auszuführen, verteilt, und es gibt Java-Compiler, die direkt in Maschinencode kompilieren.

C++ kann Garbage Collected sein. Das sollte in C++0x expliziter sein. Real-Time Java hat eine eingeschränkte Speichernutzung für Echtzeit-Threads.

Also, ein Begriff für Sprachen vom Typ Java/C#: Java-Dialekte.

(Java ist eine Marke von Sun Microsystems, ebenso wie JavaScript).

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