[linux-l] Re: Mono - war: Re: Wiki mit oder ohne DB?

Olaf Radicke olaf_rad at gmx.de
Mi Okt 19 00:48:05 CEST 2005


Am Dienstag, 18. Oktober 2005 18:59 schrieb Rocco Rutte:
> * Olaf Radicke [05-10-18 20:12:24 +0000] wrote:
> >Am Dienstag, 18. Oktober 2005 17:29 schrieb Frank Reker:
> >> Am Tue 18. Oct 2005 18:07 +0000 schrieb Olaf Radicke:
[...]
> >Ja, gehen tut alles. Aber der Aufwand. Ich habe mal versucht ein
> >C++/Qt-Projekt die make Datei und Pre-Compiler-Anweisungen so anzupassen,
> > das sie unter SuSE und RedHat/Aurox/Mandrake laufen sollten. Wir haben es
> > auch später zu zweit nicht geschafft.
>
> Mit make? Spontan würde ich folgendes versuchen:
> | ifneq ($(shell cat /etc/redhat-release),)
> | include $(WURZEL)/GNUmakefile.Einstellungen.RedHat
> | endif
> | ifneq ($(shell cat /etc/suse-spezifisch),)
> | ...
>
> Ich mache das immer so.

Ja, bei einem Hallo-Welt-Programm mit reinen ISO C++ geht das noch ganz 
einfach...

[...]
> >Wir werden sehen. Wenn jemand ein Java-Anwendungs-Server unter Windows
> > laufen hat, wird er nicht freiwillig das Experiment wagen, auf Linux
> > umzusteigen. Die Gefahr das unüberwindbare Probleme auftauchen ist
> > wahrscheinlich zu groß.
> >
> >Mit Mono/.NET wird das kein Problem sein.
>
> Naja, ich steige hier mal aus der Diskussion aus, weil es IMHO völliger
> Quatsch ist auf unterschiedlichen Betriebssytemen Layer einzufügen, die
> identische Schnittstellen haben (damit Code überall läuft) statt einfach
> die Betriebssysteme und deren Schnittstellen einheitlich zu gestalten.

Das reicht nicht. Weil die Hardware auch noch eine Rolle Spiel. So ist ein int 
nicht überall genauso groß, um nur mal ein Beispiel zu nennen. Nicht ohne 
Grund hat die Qt-Lib eigene Typen.

> Das hätte nämlich den enormen Vorteil, dass es dadurch nicht mehr immer
> nur langsamer würde (mehr Abstraktion und Zwischenschichten können es
> nämlich nicht schneller machen). 

Das hat mit der Sprache nichts zu tun. Du musst nicht alles in der VM laufen 
lassen. Mono ist "nur" das was du eigentlich vorderste: Eine Spezifikation. 
Wie du sie umsetzt ist deine Sache. Unterstützt werden z.Z. (meines Wissen) 
z.B. C#, Basic, Java, Python. Du kannst dich hinsetzen und einen Compiler 
schreiben der Maschinencode herstellt. Mit ECMA wird garantiert, das das der 
Code durch deinen Compiler genauso geht, wie auf Monos VM. Und irgendwann 
wird es auch einen GC# geben wie es auch schon ein GJC gibt. Wo ist das 
Problem?

Gruß
Olaf



Mehr Informationen über die Mailingliste linux-l