Subsections

Wstęp

Czym są języki programowania

Komputery są maszynami, wykonującymi zlecone przez użytkownika zestawy instrukcji. Aby użytkownik mógł porozumieć się z komputerem - zlecić mu zadanie i mieć możliwość uzyskania wyników, potrzebny jest określony zestaw poleceń - instrukcji sterujących. Tak więc wszystko co ma związek z PRACĄ komputera, jest zestawem rozumianych przez komputer instrukcji-poleceń. Z kolei informacje, które podlegają PRZETWARZANIU przez komputer, są - DANYMI. Nasuwa się więc pytanie - jakie instrukcje rozumie komputer?

Jak zapewne większość z nas doskonale wie, komputer pracuje w logice binarnej, tzn. informacje, które przetwarza oraz instrukcje umożliwiające proces przetwarzania danych, są reprezentowane w postaci ciągów zer i jedynek, które z kolei odpowiadają konkretnym literom i znakom. Odpowiednia kombinacja zer i jedynek oznacza więc polecenie uruchomienia danego programu, wysłania wiadomości e-mail, czy wreszcie jest zbiorem czyichś danych osobowych. Procesor komputera przetwarza ciągi zer i jedynek, traktując je jak liczby i wykonując na nich operacje matematyczne - jest to wykonywaniem tzw. poleceń maszynowych, których zbiór oznacza w praktyce wykonanie danego zadania: wczytanie danych i wykonanie na nich określonej operacji: wyszukanie czegoś w bazie danych, zapisanie informacji w pamięci dyskowej,.... Odpowiednie instrukcje maszynowe, były więc tworzone przez programistów, dla realizacji określonych zadań, a ich zbiór - instrukcji maszynowych - nazywamy programem komputerowym. W początkach komputeryzacji, programowanie6.1, polegało więc, na tworzeniu programów w postaci podawanej do wykonania bezpośrednio procesorowi, a więc polecenia i ich argumenty zapisywano w postaci ciągów zer i jedynek6.2. Tak więc, ciąg zer i jedynek powstaje z zapisania w reprezentacji binarnej poleceń w postaci rozumianej przez procesor.
Taki stan rzeczy był niezwykle niewygodny i rodził ryzyko powstania sporych błędów, jeśli w którymś momencie ciągu - o co wcale nietrudno - zamiast ``0'' pojawiłaby się ``1''. Stworzono więc język programowania, tzw. assembler, który umożliwiał zapisywanie programu komputerowego przy pomocy skrótów, reprezentujących instrukcje kodu maszynowego. Kod programu jest następnie tłumaczony na instrukcje kodu maszynowego, w tzw. procesie kompilacji. Takie rozwiązanie uczyniło programy komputerowe bardziej czytelnymi i łatwiejszymi do zrozumienia. Powstawały kolejne języki, umożliwiające zapisywanie programu komputerowego w postaci zdań, czyli reprezentacji zbliżonej do algorytmu danego problemu6.3. Były to języki wysokiego poziomu - gdyż umożliwiały pisanie programu w notacji rozumianej przez ludzi - kompilowalne6.4 i skryptowe 6.5, 6.6.
W kolejnych latach powstało wiele języków: COBOL, BASIC, LISP, Fortran, jednakże największym wydarzeniem było powstanie języka C6.7. Uniwersalność języka, łatwa do opanowania składnia i oferowane spore możliwości sprawiły, że język C, stał się szybko popularnym językiem programowania. Ponadto jego rozszerzenie o możliwości obiektowe6.8 spowodowało że, jest to najważniejszy spośród języków umożliwiających programowanie obiektowe, a jednocześnie najbardziej popularny i najczęściej stosowany język programowania - mimo szeregu wad i utrudnień.
Inne współcześnie popularne języki programowania to:

Na przestrzeni lat, rozwijano i zmieniano zasady dotyczące tworzenia programów komputerowych. Ze względu na sposób organizacji kodu programu, rozróżnia się podział na:

Na zakończenie wstępu, wyjaśnię jeszcze jedno pojęcie związane z programowaniem - debugowanie. Jest to proces kontroli działającego programu, umożliwiający testowanie i wyszukiwanie błędów. Dokładniej omawiam zagadnienia dotyczące debugowania programów w dodatku A, poświęconym - działającemu w środowisku systemu operacyjnego Linux - debugerowi DDD(Data Display Debuger).

Marcin Maźniewski 2006-05-15