[ Pobierz całość w formacie PDF ]
.Tak siê sk³ada, i¿ moim ulubionym jêzykiem programowania jest Pascal, z którymzwi¹zany jestem niemal od samych jego pocz¹tków (dok³adniej — od jego pierwszejdostêpnej w Polsce implementacji na CDC CYBER 70).Wielokrotnie s³ysza³em iczyta³em, jak programiœci pos³uguj¹cy siê jêzykiem C++ odmawiaj¹ Pascalowimiana „powa¿nego” jêzyka, ograniczaj¹c jego rolê wy³¹cznie do celówedukacyjnych.Jakby na przekór tym opiniom niedawno ukaza³a siê szósta ju¿wersja (opartego na rozbudowanym Pascalu) Delphi, nie to jest jednaknajwa¿niejsze: celem moich osobistych wywodów jest zwrócenie uwagi na fakt, i¿Pascal jako taki charakteryzuje siê znacznie wiêkszym stopniem defensywnoœcini¿ C czy C++ — kto nie wierzy, niech przeanalizuje prezentowane w niniejszejksi¹¿ce przyk³ady rozmaitych b³êdów i zastanowi siê, które z nich nie mog³ybywyst¹piæ w Pascalu (nie zezwalaj¹cym np.na u¿ywanie instrukcji przypisania wroli wyra¿eñ, czy samodzielne definiowanie przeci¹¿onych operatorów).Byæ mo¿eów argument w obronie zas³u¿onego Pascala oka¿e siê komuœ pomocny w wyborzepomiêdzy Delphi a C++Builderem jako potencjalnymi narzêdziami do realizacjiokreœlonego projektu.I jeszcze jedno: zdecydowaliœmy siê na wydanie niniejszej ksi¹¿ki, mimo i¿ jejorygina³ powsta³ przed niemal oœmioma laty.W technologii informatycznej toprzecie¿ ca³a epoka — tymczasem prawie ca³oœæ prezentowanego materia³u wci¹¿zachowuje sw¹ aktualnoœæ, co z jednej strony jest dowodem na istnienie pewnychuniwersalnych idei tkwi¹cych u samej istoty tworzenia oprogramowania, z drugiejnatomiast wymaga odrobiny dystansu czytelnika do pewnej szczególnej kwestii.Otó¿ w sytuacji rozpowszechnienia siê systemów operacyjnych wykorzystuj¹cychchroniony (protected) tryb pracy procesora (m.in.Windows 9x) wiele b³êdówprogramistycznych prowadzi do wykonywania operacji nielegalnych z punktuwidzenia samej architektury komputera, wskutek czego b³êdne programy czêstokoñcz¹ siê b³êdem ochrony dostêpu, zamiast dzia³aæ w sposób losowy i (cowa¿niejsze) destrukcyjny; mo¿na zaryzykowaæ stwierdzenie, i¿ wzrost wspomnianej„defensywnoœci” nie omin¹³ tak¿e sprzêtu komputerowego.Szczególnie podatnymina awaryjne zakoñczenie s¹ programy dokonuj¹ce odwo³ywania siê do „nie swoich”obszarów pamiêci lub pos³uguj¹ce siê wskaŸnikami „wisz¹cymi”, zerowymi alboniezainicjowanymi.Z treœci ksi¹¿ki mo¿na wywnioskowaæ, i¿ autor obraca siêraczej w krêgu trybu adresowania bezpoœredniego (real mode — chocia¿ nie brakwzmianek o b³êdach ochrony dostêpu) , w którym b³êdy tego rodzaju czêstoprzechodz¹ niemal niezauwa¿one.Nie zmienia to oczywiœcie w niczym faktu, i¿programy przejawiaj¹ce wspomniane zachowanie s¹ programami ewidentnie b³êdnymi,niezale¿nie od platformy systemowej, na której s¹ uruchamiane.Zagadnienie niezawodnoœci oprogramowania, a tym bardziej — metodologiiprogramowania prowadz¹cej do owej niezawodnoœci — wci¹¿ jest zagadnieniemznacznie mniej sformalizowanym ni¿ wiele innych zagadnieñ algorytmicznych.Niniejsza ksi¹¿ka nie pretenduje wiêc do miana jakiegoœ oficjalnego podrêcznikana ten temat (taki podrêcznik trudno by³oby zrealizowaæ w formie ksi¹¿ki o takma³ej objêtoœci), stanowi raczej rezultat osobistych (i notabene bardzopouczaj¹cych) doœwiadczeñ autora.Jest wiêc rzecz¹ naturaln¹, i¿ wieluprogramistów-praktyków mog³oby wzbogaciæ jej treœæ o w³asne uwagi, czy nawetzakwestionowaæ zasadnoœæ niektórych pogl¹dów autora.Ciekawi jesteœmy opiniinaszych Czytelników w tym wzglêdzie i oczekujemy na nie w naszej internetowejksiêdze goœci.Zaawansowanym Czytelnikom proponujemy ponadto pouczaj¹cedoœwiadczenie, polegaj¹ce na przejrzeniu kodu Ÿród³owego jakiegoœ popularnegooprogramowania — na przyk³ad Delphi, czy rozmaitych odmian Linuksa — izwrócenie uwagi na te jego fragmenty, których okreœlona postaæ podyktowana jestwzglêdami defensywnoœci oprogramowania.Byæ mo¿e zaowocuje to wiêksz¹niezawodnoœci¹ w³asnego, tworzonego teraz i w przysz³oœci, oprogramowania.Mamy nadziejê, i¿ niniejsza ksi¹¿ka przyczyni siê do wielu sukcesów w walce zplag¹ dokuczliwych b³êdów, kr¹¿¹cych wci¹¿ po oprogramowaniu i czyhaj¹cych nanic nie podejrzewaj¹cych programistów.Je¿eli przyczyni siê ona do unikniêciachocia¿ jednej nieprzespanej nocy albo zapobie¿e stracie wakacji, to bêdzieoznaczaæ, ¿e by³o warto — z nadziej¹ na co pozostajemy.W imieniu wydawnictwaAndrzej Gra¿yñskiw listopadzie 2001 [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • rurakamil.xlx.pl
  •