Seminarium: Systemy Rozproszone
5 maj 2005, godzina
Twórcy platformy Java już na samym początku odrzucili potrzebę używania preprocesorów.
Uznali, że warunkowa kompilacja, makra i szablony są zbędne w przypadku, gdy kod jest niezależny od
maszyny docelowej.
Praktyka pokazuje jednak, że nie zawsze można się obejść bez preprocesora. Warunkowa kompilacja jest
wręcz niezbędna, gdy z poziomu programu Java wywołujemy kod niezarządzany. Makra i szablony pozwalają
często uprościć i skrócić kod.
Dobrym przykładem jest
implementacja SWT - dla maszyn 64 i 32 bitowych wymaga innej reprezentacji wskaźników do obiektów poza JVM.
Z drugiej strony przejrzysta struktura programu źródłowego pozwoliła stworzyć narzędzia takie jak Eclipse,
które na bieżąco podpowiadają i uzupełniają składnię, wskazują błędy, kompilują w tle. Czy kiedyś
doczekamy się czegoś podobnego dla języków C i C++, które mocno bazują na preprocesorze?
Jednocześnie Eclipse nie jest przystosowany do współpracy z programem Java zawierającym dodatkowe
polecenia preprocesora.
W ramach mojej pracy magisterskiej rozszerzam platformę Eclipse o możliwość współpracy z dowolnym
zewnętrznym preprocesorem języka Java.
Podczas prezentacji przedstawię kilka preprocesorów (np. Java+, Java Syntactic Extender) oraz
omówię funkcjonalność, którą chcę osiągnąć w kolejnych fazach realizacji projektu.
Do pobrania: prezentacja w formacie PowerPoint (70kB)
Zapraszam,
Tomasz Kokoszka