1. Język
W poprzednim wykładzie poznaliśmy pojęcie algorytmu. Wiemy
już, że rozwiązanie jakiegoś problemu za pomocą komputera wymaga najpierw
algorytmu. Pisząc programy przekładamy, zapisujemy algorytmy w jakimś
konkretnym języku programowania.
Uczyć się programowania będziemy na przykładzie języka
Java. Wykład 4 będzie wprowadzeniem do tego olbrzymiego i fascynującego
środowiska programowania, dalsze wykłady - krok po kroku będą odkrywać
tajniki Javy.
Zanim to jednak nastąpi warto przyjrzeć się elementarnym
konstrukcjom programistycznym w znacznie prostszym i bardziej intuicyjnie
zrozumiałym środowisku.
Jest nim język REXX, a raczej jego uproszczona, zmodyfikowana
dla potrzeb wykładu, wersja.
Warto zauważyć, że teraz pod hasłem "Podstawy
programowania" nie będziemy zajmować się jeszcze koncepcjami programowania
obiektowego. Zagadnienia obiektowe pojawiać się będą stopniowo od
następnego wykładu, a ich systematyczne i pełne omówienie zaplanowane
jest na drugi semestr.
W tym kontekście wybór REXXa jako środowiska prezentacji
elementarnych koncepcji programistycznych jest całkiem świadomy.
W przeciwieństwie bowiem do swoich starszych braci ( ObjectREXXa i NetRexx'a) jest on językiem nieobiektowym. Podejście obiektowe powstawało jako sposób eliminacji pewnych
słabości podejścia strukturalnego i związanych z nim nieobiektowych
języków programowania (takich jak Algol, Fortran, PL/I, C czy właśnie
REXX).
Zatem, tak naprawdę, znaczenie i istota programowania obiektowego
są lepiej i łatwiej rozumiane przez tych, którzy mają również pewną
wiedzę o językach nieobiektowych. Choćby dlatego warto poświęcić trochę
czasu na ten wykład. Zresztą wszystkie prezentowane tu elementy językowe
będą mialy swoje odpowiedniki w Javie.
Ale skoro tak, skoro wszystko ponownie odnajdziemy w Javie,
to po co zaczynać od elementów innego języka, poznawać inną składnię
(nawet jeśli to poznawanie będzie raczej fragmentaryczne).
Otóż cztery charakterystyczne cechy języka REXX:
- składnia zbliżona do naturalnej składni języka angielskiego,
- brak konieczności deklaracji zmiennych i określania ich typów
- dynamiczne tablice
- bogaty zestaw wbudowanych funkcji o naturalnych nazwach i argumentach
w dużym stopniu pozwalają używać go jako swoistego pseudo-kodu do opisu algorytmów.
Potraktujmy zatem ten wykład jako połączenie ćwiczeń polegających
na zapisywaniu prostych algorytmów w swoistym pseudo-kodzie z poznawaniem
elementarnych pojęć programowania bez konieczności (na razie) zwracania
uwagi na takie kwestie jak np. typy zmiennych, deklaracje, czy sposób
alokowania obszarów dla wartości zmiennych w pamięci komputera.
Te zagadnienia będą ważne w nauce Javy i w nauce innych
języków programowania. Nie są one jednak istotne w kontekście poznawania
podstawowych koncepcji programistycznych i dlatego właśnie staramy
się teraz "nie rozpraszać".
A przy okazji okaże się, że nasze proste, pisane niemal że w pseudo-kodzie,
programy będą działać, będziemy mogli je łatwo testować i modyfikować.
Na koniec trzeba jeszcze raz podkreślić, że wykład ten
nie jest poświęcony językowi REXX (tak naprawdę zobaczymy tylko pewne
jego fragmenty, przy czym niektóre z nich będą zmodyfikowane dla potrzeb
niniejszego wykładu). Warto jednak zachęcić do głębszego poznania
tego języka, jest on bowiem bardzo prostym, ciekawym i wygodnym narzędziem
programowania.
Zobacz więcej informacji o języku REXX
Linki do stron o językach
REXX, NetRexx i ObjectRexx
|