Następna strona Poprzednia strona Spis treści

3. Języki programowania

Tradycyjnie w GNU/Linuksie używanymi językami są C, Lisp i Perl. Ostatnio do grupy tej dołączyły Python, PHP, Java i C++.

3.1 Pojęcia użyte w tabeli

Język

Powszechnie używana nazwa języka.

Początkujący

Czy język jest dobrym wyborem dla początkującego programisty?

Szybkość

Jak szybko aplikacje będą w praktyce działać. W zasadzie zależy to bardziej od jakości ułożonego przez programistę algorytmu, niż od samego języka. Generalnie przyjmuje się, że języki C, C++ i Fortran oferują większą szybkość niż ich alternatywy. Wszystko zależy jednak od celu, jaki chcemy osiągnąć: czasem języki te mogą okazać się bardziej nieporęczne od innych. (Mam pomysł na mało naukowe porównanie języków: należy napisać w każdym z nich prosty algorytm sortujący i porównać czas jego wykonania. To oczywiście nie zmierzy szybkości samych języków -- taki pomysł byłby bez sensu -- a jedynie ich implementacji. Nie jest to również szczególnie niezawodna ani dokładna metoda, pozwala jednak porównać szybkość wykonania zadania. Ktoś chce spróbować?)

OOP, programowanie obiektowe kontra inne metody

Programowanie obiektowe jest ważną i coraz bardziej popularną metodą tworzenia aplikacji. W tym modelu struktury danych i algorytmy połączone są w jednostki zwane klasami. OOP przeciwstawia się często programowaniu proceduralnemu (w którym używa się oddzielnych algorytmów i struktur danych). Nie jest to wyłącznie kwestia języka; można programować obiektowo w językach nie opisanych jako obiektowe, i odwrotnie: proceduralnie w językach obiektowych. Jako języki obiektowe wymieniłem te, które takie programowanie ułatwiają różnymi dodatkami. Języki funkcjonalne (np. Lisp) to jeszcze inna sprawa, bowiem programowanie funkcjonalne jest nadzbiorem obiektowego. Z drugiej strony programowania logicznego (np. Prolog), zwanego także programowaniem deklaratywnym, nie można w podobny sposób odnieść do innych modeli programowania.

RAD (błyskawiczne programowanie aplikacji)

Zależy bardziej od używanych narzędzi niż języka. Istnieje dokument HOWTO omawiający narzędzia ułatwiające tworzenie GUI pod Linuksem, jest jednak przestarzały. Dobre narzędzie znacznie przyspiesza prace nad graficznym interfejsem użytkownika, umożliwia także prace nad istniejącym już kodem; wolnodostępne oprogramowanie jest tu więc doskonałym punktem wyjścia.

Zastosowania

Domeny programowania, w których dany język jest najczęściej używany. Istnieją także inne, mniej lub bardziej sensowne zastosowania języka, są jednak mniej typowe.

Uwagi

Dodatkowe informacje o języku, np. jego możliwości lub odmiany.

3.2 Najważniejsze języki

Perl
Początkujący: tak - OOP: tak
Zastosowania: Skrypty, administracja systemem, WWW
Uwagi: Doskonały do przetwarzania tekstów

Python
Początkujący: tak - OOP: tak
Zastosowania: Skrypty, skrypty do aplikacji, WWW
Uwagi: 

TCL
Początkujący: tak - OOP: nie
Zastosowania: Skrypty, administracja systemem, aplikacje
Uwagi: 

PHP
Początkujący: tak - OOP: tak
Zastosowania: WWW
Uwagi: Używany przy tworzeniu sieciowych baz danych

Java
Początkujący: tak - OOP: tak
Zastosowania: Programy działające na wielu platformach systemowych, WWW
Uwagi: Zakres zastosowań rozszerza się (np. handel elektroniczny)

Lisp
Początkujący: tak - OOP: funkcjonalny
Zastosowania: Tryby Emacsa (Elisp), AI (Sztuczna inteligencja)
Uwagi: Odmiany: Elisp, Clisp i Scheme

Fortran
Początkujący: nie  - OOP: nie
Zastosowania: Aplikacje matematyczne (naukowe)
Uwagi: Odmiany: f77 i f90/95

C
Początkujący: nie  - OOP: nie
Zastosowania: Oprogramowanie systemowe, aplikacje
Uwagi: 

C++
Początkujący: nie  - OOP: tak
Zastosowania: aplikacje
Uwagi:

3.3 Programowanie w powłoce (szelu)

Powłoki są również ważnym środowiskiem programistycznym. Nie omawiam ich, ponieważ nie zrozumiałem jeszcze dokładnie całości tematu. Znajomość powłok jest istotna dla wszystkich używających regularnie Linuksa, szczególnie administratorów. Istnieje wiele podobieństw między programowaniem w szelu i pisaniem skryptów w innych językach -- często osiągnąć można identyczne rezultaty, wybór jest więc wolny. Do najpopularniejszych powłok należą bash, tcsh, csh, ksh i zsh. Podstawowe informacje o nich znajdują się w podręczniku systemowym (użyj polecenia man, np. man bash).

3.4 Inne języki

Inne warte zauważenia języki to: AWK, SED, Smalltalk, Eiffel, Ada, Prolog, asembler, Objective C, Logo, Pascal (konwerter p2c).

3.5 Odnośniki


Następna strona Poprzednia strona Spis treści