Re: Edukacja informatyczna (Bylo: Generator dzwieku)

Autor: Miroslaw Prywata (mpry_at_fuw.edu.pl)
Data: Wed 15 Jan 1997 - 12:56:53 MET


> >: Juz na pierwszy rzut oka widac ze autorzy C (Kerningham, Ritchie)
> >: nigdy tego jezyka nie zaprojektowali. Oni zwyczajnie usiedli
> >: i zaczeli pisac kompilator. W miare jak im rosl pod rekami -
> >: dodawali nowe funkcje i zawsze poswiecali skladnie na rzecz mocy
> >: jezyka.
> >
> >Jakies konkretne przyklady moze?
>
> prosze bardzo:
> 1. typowo assemblerowe przyjecie ze pierwszy index tablicy
> jest zawsze rowny 0.
Tylko przy statycznych tablicach. A kto ich tak uzywa ? ???
Nawet tutaj mozna to zmienic, wystarczy wskaznik przesunac o jeden...

W praktyce w C mozesz miec tablice o dowolnych numerach i roznym
ksztalcie, np macierz dolno trojkatna etc.

> 2. inkrementacje/dekrementacja przed i po obliczeniu wyrazenia
> (swietnie poprawia efektywnosc w pewnych przypadkach, ale
> "jeszcze swietniej" utrudnia zrozumienie nawet autorowi
> kodu [po tygodniu czy po miesiacu])
To zalezy tylko od stylu programowania.

> 4. nieodroznianie instrukcji od wyrazen tzn. wyrazenia
> ktore sie wykonuja i instrukcje ktore maja wartosc.
> i=j=k to po prostu piekne, to puszka pandory z ktorej
> wysypuja sie miliony efektow ubocznych
j.w.
> 5. nieodroznianie liczb o wartosci boolowskich i znakow
> while (s[k++]) typowa "elegancka" w rozumieniu
> programistow C konstrukcja - dla mnie jedynie krotka
> w zapisie i latwa do kompilacji, ale beznadziejna
> w sensie czytelnosci kodu tzn, zwiazku syntaktyki
> z semantyka.
j.w. Typowy przyklad jak nie nalezy pisac (chyba, ze jednorazowe programy,
ktorych sie nigdy potem nie bedzie ogladalo).
> 6. o wszystkich swinstwach z rachunkami na wskaznikach
> nawet tam gdzie jest to zupelnie niepotrzebne szkoda nawet
> gadac - tu miesci sie 90% bezsennych nocy spedzonych
> przez C-programmers na poszukiwaniu burakow we wlasnych
> programach
Ale przeciez to czy uzywasz wskaznikow, czy nie zalezy tylko i wylacznie
od Ciebie, wiec jezeli robisz w nich za duzo bledow, nie uzywaj ich.

Wyciagnalbym zgola odmienne wnioski. Jezyk C daje mozliwosc napisania
programu zupelnie nieczytelnego, cos robiacego, zapisanego w bardzo
skondensowanej formie. Ale w wiekszosci podrecznikow C sposob pisania
skondendowaego kodu jest odradzany. Nalezy zachowac pewien umiar w tym co
sie robi i nie przesadzac, to ze cos jest w jezyku dozwolone nie znaczy,
ze trzeba z tego nagminnie korzystac. Od wyczucia programisty zalezy jak
duzo "kwiatkow" wlozy do swojego programu.

                                                Mirek



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