Rozdział 30.
Inne kompilatory
Tim Parker
W tym rozdziale:
Ada
COBOL
DSP
Eiffel
FORTRAN
LISP
Modula-3
OGI
Scheme
Scilab
Do tej pory przyjrzeliśmy się najpopularniejszym i najczęściej używanym językom programowania dla Linuxa. Jeśli jednak nie jesteś entuzjastą C, C++, Perla, awk czy Tcl, ale chciałbyś programować w języku Ada czy FORTRAN, nie trać nadziei. Dla systemu Linux dostępnych jest również wiele innych kompilatorów i narzędzi wspomagających tworzenie aplikacji w innych językach programowania. W tym rozdziale wymienimy dostępne obecnie języki programowania dla platformy Linux, podamy też wskazówki co do tego, gdzie można je znaleźć.
Na pewno nie uda się wymienić wszystkich dostępnych kompilatorów, ponieważ nowe wersje i ulepszenia pojawiają się właściwie co tydzień. Postaramy się jednak przedstawić najpopularniejsze z nich.
Ada
Język Ada jest językiem powszechnie używanym w zastosowaniach militarnych. W związku z jego rozpowszechnieniem wśród programistów tworzących tego typu aplikacje, powstało również kilka wersji tego języka dla systemu Linux. Najpopularniejszą z nich jest GNAT (Gnu Ada Translator), pakiet opracowany i pierwotnie wspierany przez New York University. Jeśli chcesz dowiedzieć się czegoś więcej na temat projektu GNAT lub sprawdzić, jaka jest jego najnowsza wersja, wyślij pocztą elektroniczną wiadomość pod adres gnat-request@cs.nyu.edu. Aktualna wersja kompilatora języka Ada dostępna jest w wielu węzłach FTP i musi zostać skompilowana za pomocą kompilatora GNU C.
|
Archiwum GNAT dostępne jest na serwerach uniwersytetu w Nowym Jorku, jak również w innych węzłach FTP. Najświeższą wersję znajdziesz zawsze pod adresem tsx-11.mit.edu/pub/linux/packages/ada |
GNAT obsługuje standardy Ada83 i Ada90 i jest kompatybilny z niektórymi kompilatorami komercyjnymi.
COBOL
COBOL to język programowania istniejący od bardzo dawna; prawdopodobnie w języku COBOL napisano więcej kodu niż w jakimkolwiek innym języku programowania. Istnieje kilka komercyjnych kompilatorów tego języka przeznaczonych dla systemu Linux, z których najważniejszy jest chyba COBOL-85 firmy Acucobol (szczegółowe informacje o nim można znaleźć pod adresem http://www.acucobol.com). Obecnie, choć w węzłach FTP można znaleźć różne narzędzia wspomagające pisanie programów w tym języku, nie jest dostępny żaden darmowy kompilator.
DSP
Pakiet do cyfrowej obróbki sygnałów (ang. Digital Signal Processing) dostępny dla Linuxa nazywa się ObjectProDSP. Jest to narzędzie obiektowe, posiadające interfejs graficzny oparty na systemie X, używane w wielu zastosowaniach inżynierskich i naukowych.
|
Kilka wersji pakietu ObjectProDSP dostępnych jest w węzłach FTP, na przykład pod adresem tsx-11.mit.edu/pub/linux/packages/ dsp. Jeśli używasz przeglądarki HTML, powinieneś podać adres ftp://tsx-11.mit.edu/pub/linux/packages/dsp |
Z autorem pakietu ObjectProDSP można skontaktować się pod adresem
mtnmath@mtnmath.com.
Eiffel
Eiffel to obiektowy język programowania, mający szczególnie duże możliwości, jeśli chodzi o ponowne wykorzystanie kodu. Od czasu opracowania jego pierwszej wersji przez Bertranda Meyera w późnych latach osiemdziesiątych język ten bardzo się rozwinął. Dla wszystkich udostępniła go organizacja Nonprofit International Consortium for Eiffel (NICE). Posiada wszystkie najlepsze cechy, których mógłbyś spodziewać się po języku zorientowanym obiektowo.
|
Kompilator języka Eiffel dostępny jest w węzłach FTP i pod adresem http://www.cm.cf.ac.uk/Tower |
FORTRAN
FORTRAN (ang. Formula Translator) był językiem powszechnie używanym w zastosowaniach inżynierskich w latach sześćdziesiątych i siedemdziesiątych. Dla Linuxa dostępnych jest kilka implementacji standardu FORTRAN77, pojawiają się również niekomercyjne wersje implementujące standard FORTRAN90.
|
Kilka wersji kompilatorów języka FORTRAN dostępnych jest pod adresem tsx-11.mit.edu/pub/linux/packages/fortran. Również tam dostępne są programy narzędziowe dla programujących w tym języku. |
Oprócz kompilatorów języka FORTRAN, dostępnych jest również wiele programów narzędziowych mających ułatwić pracę z tym językiem, nie wyłączając translatorów na język C.
Programiści powinni również zwrócić uwagę na zestaw programów narzędziowych i bibliotek mających rozliczne zastosowania, na przykład ułatwiających drukowanie czy formatowanie danych wyjściowych. Pakiet mpfun umożliwia obliczenia ze zmienną precyzją, nawet z dokładnością do 16 milionów cyfr znaczących (!). Istnieją również narzędzia pozwalające na konwersję pomiędzy standardami FORTRAN77 i FORTRAN90.
LISP
LISP jest językiem zaprojektowanym pod koniec lat pięćdziesiątych do programowania sztucznej inteligencji. Kompilator o nazwie clisp dostępny jest praktycznie z każdą dystrybucją Linuxa, można go również znaleźć w każdym z węzłów FTP oferujących oprogramowanie dla Linuxa.
Modula-3
Modula-3 to poprawiona wersja języka Modula-2 (który z kolei wywodzi się z Pascala), opracowana przez Digital Equipment Corporation. Jest to język zorientowany obiektowo, zaprojektowany do tworzenia programów wieloprocesowych. Język Modula-3 oparty jest na interfejsie X.
|
Wersje języka Modula-3 dla systemu Linux dostępne są między innymi pod adresem gatekeeper.dec.com/pub/DEC/Modula-3 oraz ftp.vlsi.polymtl.ca/pub/m3/binaries/LINUX.m3. Stronę WWW poświęconą temu językowi można znaleźć pod adresem http://www.research.digital.com/SRC/ |
Co jakiś czas pojawiają się nowe wersje języka Modula-3, więc jeśli chcesz być „na bieżąco”, powinieneś co jakiś czas zaglądać pod wspomniane wyżej adresy i uaktualniać wersje kompilatora i narzędzi.
OGI
OGI Speech Tools to język przeznaczony do obsługi mowy - zarówno do jej syntezy, jak i analizy. Zaprojektowany został w Center for Spoken Language Understanding. Używając go, możesz budować interpretery języka mówionego oraz bazy danych zawierające wymowę poszczególnych słów, skąd już tylko krok do interfejsu głosowego. Do pracy z tym językiem niezbędna jest karta dźwiękowa.
|
Najnowsze wersje języka OGI dostępne są pod adresem sunsite. unc.edu/pub/Linux/apps/sound oraz tsx-11.mit.edu/pub/ linux/packages/ogi. |
Dokumentacja pakietu OGI (który jest dość skomplikowany) również dostępna jest w węzłach FTP.
Scheme
Scheme to język programowania sztucznej inteligencji, będący połączeniem języków LISP oraz C. Jest bardzo elastyczny i zaskakująco łatwy do opanowania. Oprócz różnych wersji kompilatorów, w węzłach FTP dostępne są również translatory na inne języki programowania.
Scilab
Scilab to pakiet matematyczny pozwalający na obliczenia macierzowe, rysowanie wykresów i projektowanie funkcji, przeznaczony głównie dla naukowców i inżynierów. Nie jest tak potężny jak konkurujące z nim aplikacje komercyjne, ale jest bezpłatny. Został zaprojektowany przez francuski Institut de Recherche Informatique et Automatique (INRIA).
|
Scilab dostępny jest pod adresem ftp.inria.fr/INRIA/ Projects/Meta2/Scilab. Zwykle można znaleźć tam kilka wersji pakietu Scilab - wybierz tę najnowszą. |
Scilab jest językiem łatwym do opanowania nawet dla tych, którzy nigdy wcześniej nie korzystali z żadnego interaktywnego języka matematycznego. Pracuje w oknie systemu X i jest zadziwiająco elastyczny.
Podsumowanie
Powyżej przedstawiliśmy tylko kilka z wielu języków dostępnych dla systemu Linux. O wiele więcej możesz znaleźć, przeglądając archiwa FTP, których adresy podaliśmy w dodatku A „Węzły FTP i grupy dyskusyjne poświęcone Linuxowi”. Jeśli szukasz konkretnego języka, polecamy użycie jednej z wyszukiwarek internetowych.
Język Smalltalk - oraz jego wersja przeznaczona do pracy w systemie X - przedstawiony jest w rozdziale 31. „Smalltalk”.
Jak skonfigurować obsługę poczty elektronicznej, która może oddać nieocenione usługi gdy natkniesz się na jakieś kłopoty podczas używania kompilatorów, dowiesz się z rozdziału 40. „Konfigurowanie poczty”.
Ładowanie i przeglądanie grup dyskusyjnych, pozwalających być na bieżąco z wydarzeniami dotyczącymi każdego z języków programowania, omówione jest w rozdziale 41. „Konfigurowanie grup dyskusyjnych”.
494 Część V ♦ Linux dla programistów
494 E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\30.DOC
E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\30.DOC 495
Rozdział 30. ♦ Inne kompilatory 495