Jezyki programowania

Autor: Piotr Tauzowski (ptauz_at_omk.il.pw.edu.pl)
Data: Sun 12 Jan 1997 - 15:23:51 MET


Czesc!
Jestem tak zwanym "zielonym" i jest to moj pierwszy list do listy dyskusyjnej.
Liste ta czytam od jakichs trzech tygodni.Szczegolnie zabawne sa listy z cyklu
" O Wyzszosci Swiat Wielkiejnocy nad Swietami Bozego Narodzenia",
Dziwne jest to, ze ludzie niby znajacy sie na rzeczy z taka latwoscia
przesadzaja oczyms co jest rzecza wzgledna jak np. czytelnosc jezyka.
C a szczegolnie C++ jest przede wszystkim jezykiem elastycznym.
A to znaczy ze moze byc bardzo nieczytelny a moze byc bardzo czytelny.
Wszystko zalezy od programisty, a ten ma leb i wie co dla niego
jest czytelne a co nie i nie da sie sformulowac "jedynie slusznych"
kryteriow czytelnosci. Niektorzy sie bardzo szybko przyzwyczajaja
do C++ a inni nie. Utozsamianie typow BOOL i int, nierozroznianie
wyrazen od instrukcji ,automatyczna konwersja int - double i double int
czy moznosc definicji zmiennych w dowolnym miejscu i inne ktorych mozna
wymieniac dlugo ja akurat uznaje za zalety jezyka bo nie zawraca mi glowy
nieistotnymi detalami, ale to moje zdanie i nie sadze aby mozna bylo z
naukowym obiektywizmem "ponad wszelka watpliwosc" uznac za wady
czy zalety (nie jestem z wyksztalcenia informatykiem). I dlatego ten list
nie ma byc zrozumiany jako "O Wyzszosci C++ ..." a jedynie moje wlasne
zdanie w kontekscie tego co robie w C++. A zajmuje sie numeryka
(Metoda Elementow Skonczonych) i uwazam C++ za doskonaly do tych
celow a pisalem tez wczesniej w TURBO PASCALU. Co mnie przekonalo
do C++ to prostota jezyka (jak wyzej) ale to sa szczegoliki. Wazniejsze juz
jest lepsza "obiektowosc" C++ niz np. TP. Mozliwosc dziedziczenia z wielu
obiektow a nie tylko z jednego jak w TP zwieksza mozliwosci przy tworzeniu
chierarchii klas.Bo wazne jast aby tworzyc obiekty, nadawac im cechy
i wzajemne ich zaleznosci takie jak w modelu matematycznym problemu, a
nie tak jak w programowaniu strukturalnym: model matematyczny potem
gleboka przepasc i dopiero implementacja komputerowa. Calosc dopelnia
wspaniala syntaktyczna zaleta jezyka C++: definiowanie operatorow.
Nie ma przeciez w matematyce procedur a dzialania wykonywane sa przez
operatory. Moge zdefiniowac operator np. mnozenia * zeby wykonywal
np. mnozenie macierzy. Definiujac reszte operatorow arytmetycznych
mamy rachunek macierzowy realizowany w bardzo wygodny sposob.
Pelne dowolne wyrazenia macierzowe z nawiasami zapisywane tak jak
dzialania na zmiennych prostych! Tego nieststy nie posiadal TP ani
(niby przeznaczony do numeryki) FORTRAN, a jest to znaczne ulatwienie
programowania i uczytelnienie zrodel programu zawierajacego duza ilosc
operacji na macierzach (czyli u mnie prawie wszystkie). Niestety musze czsami
zajrzec do wydrukow na koncu ksiazek mechanicznych czy numerycznych i
dzialania na macierzach przez zwykle procedury sa dla mnie meczace bo
bardzo nieczytelne. Takze jak widac na czytelnosc w C++ programujacy ma
duzy plyw i oczywiscie gdyby w tym momencie wpasc w huraoptymizm i
definiowac jak leci wszystkie "ptaszki" i "fistaszki" jakie tylko sa na klawiaturze
i ktore sa operatorami, to efekt bedzie odwrotny do zamierzonego i rzeczywiscie
program nie da sie analizowac. Ja definiuje tylko operatory zapisu strumieniowago
<< >> , arytmetyczne, oraz np. ~ to transpozycja macierzy, takze podsumowujac
znalazlem w C++ mozliwosci jakich nie mialy inne jezyki.

P.S Jak by ktos znal adres listy dyskusyjnej poswieconej numeryce bede wdzieczny.

Piotr Tauzowski




To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:51:41 MET DST