Jeżeli to

Dzisiaj kolejna część wprowadzenia do programowania. Ostatnia część dotyczyła samego opisywania rzeczywistości. Spróbowałem w niej wskazać dlaczego język naturalny nie nadaje się do programowania i jak on ewoluował do języków programistycznych. Pokazałem co to jest obiekt, co to są właściwości i przemyciłem jedną z fundamentalnych zasad programowania:

Nie powtarzaj się!

Zasada DRY (Don’t Repeat Yourself) mówiąca, żeby się nie powtarzać. Po polsku dobrze by brzmiało Nie Powtarzaj Się!, skrót NPS!, ale na razie nie widziałem jeszcze, żeby ktoś takiej wersji używał. (Słowo ‘dry’ po angielsku oznacza czysty). Dalej będę pisał o Czystym Programowaniu jako o programowaniu w myśl zasady NPS.

Skarb

Skoro wiadomo już jak opisywana jest rzeczywistość w językach programowania, wiadomo co to jest obiekt i co to są właściwości, warto byłoby się zastanowić, jak w językach programowania wykonuje się jakieś czynności, akcje.

Mapy pirackie to sekwencja operacji do wykonania. Idź 3 kroki do przodu, obróć się w prawo, idź 3 kroki do przodu, obróć się w lewo itd. Już prostszego sposobu opisu jakiegoś zadania do realizacji nie ma. Taki opis jest bezwarunkowy: jeżeli wykonasz te czynności, znajdziesz skarb. Jak zapisze to programista?

IdźDoPrzodu
IdźDoPrzodu
IdźDoPrzodu
ObrócSięWPrawo
IdźDoPrzodu
IdźDoPrzodu
IdźDoPrzodu
ObróćSięWLewo

Jak coś trzeba zrobić więcej niż raz normalny człowiek się irytuje, a programista używa pętli:

zrób to 3 razy: IdźDoPrzodu
ObrócSięWPrawo
zrób to 3 razy: IdźDoPrzodu
ObróćSięWLewo

Pętli w programowaniu jest kilkanaście rodzajów, i jak ktoś słusznie zauważył nikt nie wymyśli już nowej [pętli while]. Także na każdą potrzebę jest gotowa już jakaś pętla i niekoniecznie trzeba znać je wszystkie, żeby móc programować. Sam nie znam ich wszystkich, o niektórych wiem tylko, że istnieją.

Czytaj podobne  Dokumentacje API popularnych mikroblogów, Grona i Delicious

No dobrze, ale co to jest ‘IdźDoPrzodu’, ‘ObrocSieWLewo’, ‘ObrocSieWPrawo’? To są akcje, operacje, działania itp. Programiści nazywają je jednak metodami, funkcjami albo procedurami. Różnica między tymi nazwami jest taka jak między ‘folderem’ a ‘katalogiem’, czyli w gruncie rzeczy żadna. Dalej będę mówił o metodach, nazwa ta jest dalsza od matematyki niż funkcje, mniej ma związku z BHP niż procedury, myślę więc, że jest dosyć dobra.

No dobrze, ale czy w metodach można używać innych metod? Tak! A czy obiekty mogą mieć metody? Tak! Więc jak wygląda metoda na znalezienie skarbu?

ZnajdźSkarb
{
zrób to 3 razy: IdźDoPrzodu
ObrócSięWPrawo
zrób to 3 razy: IdźDoPrzodu
ObróćSięWLewo
}

No i teraz widać jak programowanie ułatwia życie! Zauważ, że opisane 3 metody pozwalają dojść właściwie wszędzie. Mateusz (bohater ostatniego wpisu) może więc opisać za pomocą nich opisać sposób dojścia do teatru, do warzywniaka, czy do sklepu spożywczego i umieścić to wszystko w odpowiednich metodach.

Jeżeli to

No dobrze, ale nie zawsze wszystko można zrobić tak wprost. Czy taka metoda wystarczy do znalezienia skarbu? A co jak skarbu w tym miejscu nie będzie? Jak będzie trzeba kopać bez potrzeby? Tutaj by się przydał wykrywacz metali. Jeżeli wskaże on że skarb jest pod ziemią, to można go wykopać, a jeżeli nie to nie pozostaje nic innego jak szukać kolejnej pirackiej mapy. Oznacza to, że w tym miejscu trzeba użyć warunku ‘Jeżeli to’. W programowaniu na warunek mówi się ‘instrukcja warunkowa’. Instrukcji warunkowych jest więcej rodzajów, ale że powyższa jest najczęściej używana to będę nazywał ją po prostu warunkiem.

Czytaj podobne  Ewolucja języka

ZnajdźSkarb
{
zrób to 3 razy: IdźDoPrzodu
ObrócSięWPrawo
zrób to 3 razy: IdźDoPrzodu
ObróćSięWLewo
Jeżeli WykrywaczMetali.JestMetal
{
WykopSkarb
}
inaczej
{
SzukajNastepnejMapy
}
}

Tutaj nasuwa się takie pytanie: skąd brać te wszystkie obiekty, które są potrzebne do programowania i czy trzeba pisać je wszystkie samemu. Na szczęście nie trzeba, dużo
takich obiektów jest już gotowych, a własne pisze się, jeżeli gotowe nie wystarczą. No i to było wszystko w tym poście.

Przeczytaj też

Najlepsza książka do Pythona Nie wiesz, z jakiej książki/ebooka uczyć się programowania w języku Python? Postanowiłem zrobić zestawienie 10 książek z Heliona na ten temat, abyś mó...
Komplet 28 ebooków i kursów, aby zostać programist... Od jakiegoś czasu dostaję zapytania na temat tego jakie książki, kursy i ebooki polecam. W związku z tym postanowiłem przygotować dzisiaj zestaw, któr...
120 tapet programistycznych za darmo do pobrania Trochę mi się nudziło, więc przygotowałem zestaw 120 tapet dla programistów. Możesz go pobrać. Tapety są w rozdzielczości 1366x768. Podzielone ...
10 fiszek do nauki programowania w Pythonie Uczysz się programowania w Pythonie? Pobierz te 10 fiszek, które ułatwią Ci zapamiętanie funkcji wbudowanych* w Pythona! Programowanie potrafi ...
Napisano w Kolumna Tagi: , , ,

Menu