Pozdrowienia Dijkstra napisał, że nawet kilka wierszy pozornie prostego kodu może być beznadziejnie niejednoznaczne. W co najmniej jednym dziele, którego nie mogę teraz znaleźć, aby uratować mi życie, podał mały przykładowy program, który ma wykazać tę dwuznaczność. Czy ktoś może wskazać mi jego artykuł, w którym zawiera jeden z tych przykładów?
12
FILE_NOT_FOUND
;)Czy jesteś pewien, że papier napisał Dijkstra? Refleksje na temat Trusting Trust autorstwa Kena Thompsona brzmią tak, jakbyś mógł o tym myśleć. To pokazuje, jak absolutnie proste, proste i poprawne programy mogą skończyć, robiąc coś absolutnie nieoczekiwanego, co w ogóle nie jest widoczne w źródle. Nawet jeśli to nie to, o czym myślisz, warto przeczytać.
Idąc w innym kierunku, jeśli chcesz doskonałych przykładów krótkich programów o zaskakującym zachowaniu, podstępny konkurs C jest świetny. Na przykład spójrz na zwycięzcę z 2008 roku . Wyzwanie polegało na napisaniu programu wiersza polecenia, aby usunąć część obrazu w taki sposób, aby obraz był idealnie wygaszony, ale plik zachowuje pewne informacje o zredagowanej części obrazu. ORAZ w taki sposób, że Twój kod może przejść przegląd kodu. (Możesz wybrać format, w którym zdjęcie jest przechowywane.)
źródło