Dzięki uprzejmości BSC mam okazję osobiście przekonać się o zaletach i wadach Kyliksa. Kylix wydaje mi się interesujący głównie z powodu pojawiających się informacjach o planach wypuszczenia na rynek Open Edition, czyli pełnej, nieokrojonej wersji, za pomoca której będzie można tworzyć wolne oprogramowanie. Rzecz jasna, można je także tworzyć przy użyciu wersji Server Development/Desktop, jakkolwiek jest to dość kosztowna opcja (ten pierwszy kosztuje niecałe $2000).
Pierwszą rzeczą, która mnie zdziwiła, jest konieczność zainstalowania nowszej wersji glibc, ze względu na błąd w wersjach obecnie powszechnie używanych. Podobno Kylix jest szczególnie na niego wrażliwy, dlatego bez aktualizacji nie jest możliwa nawet instalacja. Na płytce znajdują się odpowiednie łaty, źródła i gotowe binaria. Problem w tym, że programy kyliksowe… nie będą działać ze starszymi wersjami glibc (tj. starszymi niż 2.1.3-22B)… Oto, czego potrzebuje okienkowe (400-kilobajtowe!) „Hello world”:
[arturs@darkstar test1]$ ldd Project1 /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40015000) libqtintf.so => /usr/lib/libqtintf.so (0x4001f000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401a3000) libpthread.so.0 => /lib/libpthread.so.0 (0x40247000) libdl.so.2 => /lib/libdl.so.2 (0x4025b000) libc.so.6 => /lib/libc.so.6 (0x4025f000) libqt.so.2 => /usr/lib/libqt.so.2 (0x40354000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x409eb000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x409fa000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40a04000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40a1c000) libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0x40a3b000) libm.so.6 => /lib/libm.so.6 (0x40a7d000) [arturs@darkstar test1]$
Jak kiedyś zauważył Macias, daje się zauważyć opóźnienie w wyświetlaniu menu w samym Kyliksie – na szczęście nie w projektach utworzonych za jego pomocą. Jest to nieco irytujące, ale nie przeszkadza w pracy.
Nie byłbym sobą nie sprawdziwszy jak Kylix sprawuje się w kompilacji programów konsolowych. Nie jest tak źle – obawiałem się kilkusetkilobajtowego olbrzyma, a tu proszę:
[arturs@darkstar test3]$ ll razem 32 -rwxrwxr-x 1 arturs arturs 17300 kwi 10 15:23 Project2 -rw-rw-r-- 1 arturs arturs 174 kwi 10 15:23 Project2.conf -rw-rw-r-- 1 arturs arturs 79 kwi 10 15:23 Project2.dpr -rw-rw-r-- 1 arturs arturs 631 kwi 10 15:23 Project2.kof [arturs@darkstar test3]$ ldd Project2 /lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40015000) libpthread.so.0 => /lib/libpthread.so.0 (0x4001f000) libdl.so.2 => /lib/libdl.so.2 (0x40032000) libc.so.6 => /lib/libc.so.6 (0x40036000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) [arturs@darkstar test3]$
„ledwo” nieco ponad 17kB (odpowiednik skompilowany gcc – 11kB). Plik .conf zawiera opcje kompilatora, .kof opcje projektu, a .dpr to plik źródłowy ({$APPTYPE CONSOLE begin writeln(’Hi there’); end. ). Dodatkowo można jeszcze zaoszczędzić trochę miejsca wyłączając różne opcje kompilatora.
Jutro postaram się przedstawic pierwsze wrażenia z pracy z prostymi projektami.
Archiwalny news dodany przez użytkownika: arturs.
Kliknij tutaj by zobaczyć archiwalne komentarze.