# Wozu wurde ecj (Eclipse Java Compiler) geschrieben?



## T0M (14. Jul 2007)

Ich frage mich schon seit längerem, wozu man sich die Arbeit gemacht hat, diesen Compiler zu schreiben? Ging es nur darum, einen OpenSource-Java-Compiler zu haben (wie gcj?) oder welche besonderen Fähigkeiten bietet er gegenüber dem Sun JDK Java-Compiler? Wann verwendet man besser welchen Compiler?
Ich hab bisher nur mit dem JDK von Sun programmiert und auch kein Eclipse und SWT verwendet, kenn mich damit also nicht aus.


----------



## Guest (14. Jul 2007)

T0M hat gesagt.:
			
		

> Ich frage mich schon seit längerem, wozu man sich die Arbeit gemacht hat, diesen Compiler zu schreiben? ...


Damit man Eclipse nur mit JRE verwenden kann, ohne SDK zu installieren.


----------



## T0M (14. Jul 2007)

Anonymous hat gesagt.:
			
		

> T0M hat gesagt.:
> 
> 
> 
> ...


Aber das ist doch den Aufwand, einen ganzen Compiler zu schreiben, nicht wert!? 

Wurde für den Eclipse Compiler eigentlich auch ein neuer Classpath geschrieben, also die ganze java.*-Klassen und vielleicht auch Klassen aus javax.*? Blick da leider nicht durch.


----------



## hupfdule (14. Jul 2007)

Ob das der Hauptgrund war, weiß ich zwar nicht, aber es ist für mich der wichtigste Punkt: Der Compiler von Eclipse erlaubt "Hot Code Replacement". Ist man im Debugging-Modus und ändern einen Codeabschnitt, erlaubt Eclipse den Austausch dieses Codeabschnitts während der Laufzeit. Man kann also Organe am lebenden Objekt austauschen. ;-) 
Das beschleunigt die Fehlersuche und -behebung enorm.


----------



## Roar (15. Jul 2007)

hupfdule hat gesagt.:
			
		

> Der Compiler von Eclipse erlaubt "Hot Code Replacement". Ist man im Debugging-Modus und ändern einen Codeabschnitt, erlaubt Eclipse den Austausch dieses Codeabschnitts während der Laufzeit.


das ist ein feature der vm und nicht des compilers. und so toll ist das feature auch nicht implementiert da man nur code in bestehenden methoden austauschen kann (keine neuen methoden hinzufügen, keine felder hinzufügen, keine klassenhierarchien ändern)


----------



## T0M (15. Jul 2007)

Aber eine eigene Java VM hat Eclipse nicht, oder doch?  ???:L


----------



## mephi (15. Jul 2007)

mit eclipse 3.5 soll auch ein eigenes betriebssystem kommen


----------



## Guest (15. Jul 2007)

mephi hat gesagt.:
			
		

> mit eclipse 3.5 soll auch ein eigenes betriebssystem kommen


----------



## Wildcard (15. Jul 2007)

Im Gegensatz zum SUN Compiler erlaubt der in Eclipse verwendete IBM Compiler inkrementelles builden. Das ist dann auch schon der größte Unterschied.


----------



## T0M (16. Jul 2007)

Danke für die Antworten, ich markiere den Thread dann mal als gelöst.  :toll:


----------

