• Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way
Niebieski Pomarańczowy Zielony Różowy Purpurowy

Widelec

Post z kategorii technikalia. Napisał Newton, a był to Październik 9, 2007 roku.
paź 09

Zdażyło mi się w życiu napisać już parę programów. Zwykle ważniejsze niż stukanie w klawisze jest tutaj stukanie się w głowę, by wymyśleć sposób, w jaki konkretny fragment otaczającej nas rzeczywistości przedstawić w jakimś miłym lub mniej miłym języku programowania. Zazwyczaj trzeba było ten fragment rzeczywistości rozłożyć na kilka elementarnych czynności, które po sobie występowały.

Programowanie strukturalne pozwoliło lepiej nieco te elementarne czynności przedstawić – najpierw można było napisać małe części – funkcje i procedury (np. „okno”, „drzwi”, „dach”), a potem z nich stworzyć większą całość – „dom”, np. każąc programowi stworzyć 4 okna i jeden dach. Nie trzeba było za każdym razem od nowa uczyć głupiego komputera, jak to okno ma wyglądać – wystarczyło zrobić to raz.

Kolejny krok – programowanie obiektowe – pozwala na jeszcze lepsze odwzorowanie rzeczywistości. Twórca takiego paradygmatu w programowaniu musiał być chyba zafascynowany platońską filozofią – ideami i przedmiotami je odzwierciedlającymi. Bo i w programowaniu obiektowym mamy idee (nazywane klasami) i przedmioty, które są namacalnymi tych idei przedstawieniami (nazywają się te przedmioty obiektami). Można więc stworzyć ideę – klasę okna, a później zrobić jedno okno drewniane, inne szklane, a wszystkie te obiekty są tego właśnie typu – okna.

Jednak prawdziwy przewrót kopernikański (w końcu w Toruniu) nastąpił, gdy poznałem funkcję fork. Funkcja ta nie jest bezpośrednio związana z paradygmatami o których wyżej, ale ma wielkie znaczenie, którego chyba sobie jeszcze do końca nie uświadomiłem. Otóż funkcja fork (z ang. widelec) sprawia, że program się rozwidla. Od momentu jej wywołania działają jednocześnie dwa programy, wykonujące te same instrukcje (jeden nazwany potomkiem, drugi rodzicem). No, może nie całkiem równocześnie, ale człowiek (ani program) i tak nie zauważy różnicy.

Każdy z tych dwóch programów jest w stanie sprawdzić, którą instancją jest, a nawet skomunikować się z tym drugim. Oczywiście byłem świadom istnienia takiej możliwości, a nawet tego, że jest dość często używana, ale co innego słyszeć, a co innego samemu użyć i zobaczyć, że to działa i jest dość proste. Już nie ciąg operacji następujących po sobie, ale dwa ciągi zdarzeń. Albo cztery. Albo 128. Wszytko naraz. W jednej chwili. Szok.

Zostaw odpowiedź

Blog Newtona

Nazywam się Newton. Teraz będę kłamał.

  • Kategorie
    • arduino
    • emo
    • filmy
    • inne
    • książki
    • muzyka
    • nauka
    • podróże
    • technikalia
    • wiara
  • Archiwa
    • Styczeń 2012
    • Grudzień 2011
    • Wrzesień 2011
    • Sierpień 2011
    • Maj 2011
    • Marzec 2011
    • Luty 2011
    • Styczeń 2011
    • Grudzień 2010
    • Listopad 2010
    • Październik 2010
    • Sierpień 2010
    • Lipiec 2010
    • Maj 2010
    • Kwiecień 2010
    • Luty 2010
    • Grudzień 2009
    • Listopad 2009
    • Październik 2009
    • Wrzesień 2009
    • Sierpień 2009
    • Lipiec 2009
    • Czerwiec 2009
    • Maj 2009
    • Kwiecień 2009
    • Marzec 2009
    • Luty 2009
    • Styczeń 2009
    • Grudzień 2008
    • Listopad 2008
    • Październik 2008
    • Wrzesień 2008
    • Sierpień 2008
    • Lipiec 2008
    • Czerwiec 2008
    • Maj 2008
    • Kwiecień 2008
    • Marzec 2008
    • Luty 2008
    • Styczeń 2008
    • Grudzień 2007
    • Listopad 2007
    • Październik 2007
    • Wrzesień 2007
    • Sierpień 2007
    • Maj 2007
    • Kwiecień 2007
    • Marzec 2007
    • Luty 2007
  • Wyszukiwanie






  • Strona główna
  • Makler
  • Nauka
  • O autorze
  • To czytam
  • West Highland Way

© Copyright Blog Newtona. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Do góry!