Teoria, a praktyka (krótka historia informatyki)
Większość Czytelników kojarzy mnie z branżą finansową / inwestycyjną, ale tak naprawdę jestem przede wszystkim informatykiem (AGH rulez!). Dziś nieco nawiążę do ciekawej historii informatyki, by pokazać jak pewne prawidła w naszym świecie są uniwersalne i ponadczasowe.
Inspiracją do tego wpisu jest podcast jaki wysłuchałem w RMF Classic, autorstwa prof. Ryszarda Tadeusiewicza – byłego rektora AGH, człowieka, który ma ogromny wkład w rozwój informatyki w Polsce. Będzie o programowaniu… ale może kogoś zainteresuje. 🙂
Programowanie do dziś kojarzy się większości z czymś skomplikowanym. Uwierzcie, że były czasy, kiedy było znaaaaaacznie trudniej. Aby komputer coś dla nas wykonał trzeba było mu wydać polecenie w tzw. kodach wewnętrznych / binarnych (a o czymś takim jak system operacyjny nikt nawet nie marzył).
Na przykład by wykonać prostą operację dodawania trzeba było podać adresy komórek pamięci w których były odpowiednie wartości, wydać odpowiednią komendę komputera i jeszcze zapisać pod wskazanym adresem w pamięci wynik (i przypadkiem nie nadpisać czegoś ważnego). To wszystko było bardzo zagmatwane i prowadziło do wielu pomyłek podczas pisania programów.
Narodził się pomysł, aby zamiast człowiek uczył się języka komputera, to komputer nauczył się języka człowieka (no prawie ;-)). Tak powstały pierwsze języki programowania. Zwłaszcza warto wspomnieć tu o języku FORTRAN autorstwa Johna Backusa, który powstał w laboratoriach firmy IBM w latach 50. XX wieku. Taki język programowania był prostszy do zrozumienia dla człowieka niż posługiwanie się kodami wewnętrznymi maszyny. Teraz to specjalny translator tłumaczył kod zapisany w języku programowania (np. FORTRANIE) na kody wewnętrzne komputera.
FORTRAN szybko okazał się świetnym językiem programowania. Był to język stworzony i rozwijany przez praktyków dla praktyków.
Informatyka teoretyczna jeszcze raczkowała gdy powstał FORTRAN, ale teoretycy też chcieli dodać coś od siebie w tym zakresie. Powiedzieli, że tak to nie może wyglądać jak w FORTRANIE, gdzie wszystko jest bez ładu i składu – trzeba stworzyć piękną, elegancką gramatykę języka, z mocnymi podwalinami teoretycznymi.
Tak powstał język programowania ALGOL. Miał być piękny, a okazał się… pomnikiem teoretyków. Był tak skomplikowany, że ciężko było stworzyć translator ALGOLA, żeby zrozumieć mógł go jakikolwiek komputer. Kolejne odsłony ALGOLA pogarszały sytuację, język był przeteoretyzowany.
Efekt? Dziś FORTRAN nadal jest wykorzystywany po niemal 70 latach (zwłaszcza w środowiskach naukowych), podczas gdy ALGOL jest przede wszystkim ciekawostką informatyczną. 🙂
Ta anegdota pokazuje jak świat teorii może rozminąć się ze światem praktyki, zwłaszcza gdy teoretycy chcą „za bardzo”.
Podobną sytuację widzę w świecie inwestowania. Choć sam jestem zwolennikiem podejścia „evidence-based”, lubię podwaliny teoretyczne / naukowe, to jednak bardzo szanuję praktyków. Nie bez powodu mówi się, że inwestowanie jest bardziej „street smarts” niż „book smarts”. 🙂