Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Komendy CMD bat w Win 7 - odmowa dostępu

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Komendy CMD bat w Win 7 - odmowa dostępu
From: "Grzegorz Niemirowski" <gnthexfiles@poczta.onet.pl>
Date: Tue, 28 Jul 2015 17:21:58 +0200
ACMM-033 <valhalla@interia.pl> napisał(a):
To tak się zastanawiam - czemu w ogóle kompilator dopuścił do
skompilowania  wadliwego kodu?

A dlaczego nie? Po pierwsze to nie jego rola. On ma kompilować, czyli tłumaczyć kod z danego języka na maszynowy, a do tego musi sprawdzić zgodność z zasadami danego języka programowania. A nie czy kod ma sens i jest odporny na nietypowe dane. Po drugie nie wszystko da się sprawdzić na etapie kompilacji.

Generalnie błędy o których wspomniałem to błędy polegające na tym, że zachodzi jakaś sytuacja, której programista nie przewidział. Np. odebranych zostało więcej danych niż było na nie miejsca. W językach w których jest automatyczne zarządzanie pamięcią, np. C#, Java, kompilator może wychwycić problemy związane z zarządzaniem pamięcią. Ale nie będzie myślał za programistę.

Czy może dlatego, że celem uproszczenia programu nie sprawdzamy danych wejściowych, co wejdzie to wejdzie, co wykorzystują źli ludzie, czy
choćby z  powodu błędu też to nastąpi...? Nie sprawdzamy długości
danych, ich ilości,  bufory dla uproszczenia kolejkujemy po sobie, byle
bliżej, a potem ała zły  kod się wykonał.

Dokładnie tak. Programista nie dodaje sprawdzenia wszystkich możliwości. Czy to z braku czasu czy z tego powodu, że dana sytuacja po prostu nie przyjdzie mu do głowy.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 51 days, 21 hours, 56 minutes and 55 seconds

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>