[Scala] Ablauf unter .NET? Erfahrungen?

ReVo

Lieutenant
Registriert
Jan. 2006
Beiträge
567
Hallo, Scala soll ja auch unter .NET laufen.

Was ich aber jetzt nicht so ganz verstanden habe, vermutlich weil ich von Laufzeitumgebungen doch nicht soviel Ahnung habe, wie können zwei völlig verschiedene Laufzeitumgebungen wie die JVM und .NET ein Programm genau gleich ausführen?

Eigentlich war Scala 100% für die JVM. Lief alles wunderbar. Dann kam aber doch nicht die .NET Umgebung dazu. Wie ist das möglich? Ist die performance für .NET noch etwas schlechter? Oder sogar besser (unter Windows)? Jemand lust sein Wissen mal hier loszuwerden?

Gruß
 
C++... kann in .NET verwendet werden und nicht in .NET. Wie ist das möglich?

Es sind Sprachen. Sprachen sind an gar nichts gebunden... es wird halt ein passender Übersetzer benötigt (ohne mich jetzt in Scala genau auszukennen).
 
Zuletzt bearbeitet:
ReVo schrieb:
Eigentlich war Scala 100% für die JVM.
Falsch. Scala wurde von Odersky einfach als Sprache definiert, als Runtime die JVM zu nutzen war einfach sinnvoll, da sie weit verfügbar ist und zudem sehr performant. Es wurden natürlich manche Dinge der Sprache nachher so festgelegt, dass er auf der JVM ausführbar ist, aber das ist eine andere Sache (es gibt z.B. keine unsigned Zahlen).

ReVo schrieb:
Dann kam aber doch nicht die .NET Umgebung dazu. Wie ist das möglich? Ist die performance für .NET noch etwas schlechter? Oder sogar besser (unter Windows)? Jemand lust sein Wissen mal hier loszuwerden?
Hinkt Scala für .NET nicht noch der JVM-Version hinterher?


Aus welchen Gründen willst du denn unbedingt Scala für .NET nutzen und nicht für die JVM?
 
ice-breaker schrieb:
Aus welchen Gründen willst du denn unbedingt Scala für .NET nutzen und nicht für die JVM?

Ne ich will garnichts nutzen. Nur etwas mehr verstehen was und warum das so ist wie es ist.

Ein Grund für .NET wäre aber das es ab jetzt in jedem neuen Windows IMMER .NET ab der WinInstallation dabei ist und die JVM nicht. Wer jetzt eventuell nur für Windows entwickelt, der wäre mit der Scala .NET Lösung sicherlich besser unterwegs - zumindest würden die Produkte besser ohne großes JVM nachinstallieren laufen. Aber wiegesagt, das ist jetzt eher ne andere Geschichte, worüber wird natürlich aber auch reden können.

Und zu der performance. Nunja .NET Anwendungen laufen unter Windows gerne mal schneller *duck und weglauf* ... aber wenn Scala noch nicht so gut mit dem Windows Rootkit umgehen kann, dann ist das natürlich eine andere Sache.
 
Zuletzt bearbeitet:
Zwei Sekunden googlen haben ergeben:

Scala runs on the Java platform (Java Virtual Machine) and is compatible with existing Java programs. It also runs on Android smartphones.[9] An alternative implementation exists for the .NET platform.[10][11] (Wiki)

1. Also erstmal ja- scala Programme sind sowohl auf JVM als auch in .NET ausführbar.
2. Es ist natürlich theoretisch möglich jedes Programm (beliebiger) Sprache in den ausführbaren Code der jeweiligen Umgebung zu transformieren. Diese Transformationen übernimmt der Compiler. Ich vermute daher, dass für Scala zwei Compilertypen gibt: für JVM und .NET oder sogar ein Compiler mit unterschiedlichen Backends. Ohne mich jetzt in dem Thema stark auszukennen.
3. Was effektiver ist, musst du selber recherchieren. Dies hängt größtenteils davon, wie schnell der Compiler arbeitet. Und natürlich JVM, .NET spezifischen Vorteilen/Nachteilen.

Gruß
 
Zurück
Oben