Chyba w niedzielę słuchałem podcastu Lex’a Fridmana ze Stephenem Wolframem (twórcą Wolfram Alpha).
I tam było ciekawe stwierdzenie, że nie umiemy uruchamiać programów w naszej głowie .Niby rozsądne, ale czemu tak jest?
I wg mnie sprawa sprowadza się do pamięci. Nie umiemy spamiętać programu, nie umiemy utrzymać wartości zmiennych i nie umiemy utrzymać wartości w strukturach danych.
Chociaż gdyby to było programowanie funkcyjne, to powinno być ciut łatwiej... ale tylko dla działania danej funkcji. Może na mózgu by się dało bezstanową lambdę odpalić ;-)
Chociaż do już arytmetyki też trzeba by było lepszej pamięci. Przecież dodawanie czy nawet mnożenie dużych liczb to nie jest taka strasznie trudna sprawa, ale jednak trzeba wartości tych liczb zapamiętać.
Ale już powinno się dać uruchamiać programy na mózgu + kartka papieru :-), mózg z kartką papieru powinien być w stanie symulować maszynę Turinga. Chociaż są ograniczenia, bo wolne byłoby przetwarzanie i dostęp do pamięci, ale jednak dałoby się nawet wielowątkowy kod wykonywać, tylko trzeba by było pewnie użyć dodatkowego licznika (znów na kartce ;-)) do wywłaszczania.
W ogóle nasza pamięć jest słaba pod tym względem, umiemy w głowie utrzymać niby teoretycznie max 7 rzeczy na raz, ale tak naprawdę 4, w porywach do 5. Chunkowanie pomaga... i jakby zchunkować jakiś prosty program (zwykle jedną funkcję) to można by spróbować uruchamiać kod w głowie, przecież tak się robi debugowanie w blindfold programming.
Podobne postybeta
Kartka i ołówek
DEC z INC odpowiedź i mała Maszyna Wirtualna ;-)
Komputery są naprawdę stare ;-)
Kod jako insight w umysł ;-)
GCJ mnie przerosło ;-)
Brak komentarzy:
Prześlij komentarz