12 Paź '20

Zaprogramuj swoje życie – czyli programowanie jako filozofia rozwiązywania problemów

Zaprogramuj swoje życie – czyli programowanie jako filozofia rozwiązywania problemów

Programowanie dla osób niezwiązanych z tą branżą często jawi się nieomal jako magia i coś niezwykle trudnego z czym mogą poradzić sobie tylko osoby o potężnych analitycznych umysłach. Często tego wyobrażenia dopełnia legendarny już wizerunek nerda w grubych okularach, który zazwyczaj nie wychodzi ze swojej jaskini z komputerem. Tymczasem programowanie jest elementem życia każdego z nas i świadomość, że możemy również swoje życie analizować tak jak program komputerowy, pomaga diametralnie je zmienić.

         By zrozumieć programowanie jako pewną koncepcję musimy oddalić od siebie nie tylko ten obraz „jajogłowych nerdów”, ale także sam obraz komputera. Na najbardziej podstawowym poziomie programowanie to ustalanie sposobów zachowania w określonych przypadkach. Tak właśnie dzieje się na przykład zarówno podczas logowania w aplikacji bankowej, jak i przy podejmowaniu decyzji podczas zakupów. W pierwszym przypadku program sprawdza, czy wprowadzone dane logowania są zgodne i zachowuje się inaczej, gdy dostrzeże różnice. W drugim przypadku sprawdzamy czy produkt, który planujemy kupić jest zgodny z naszymi oczekiwaniami i czy przypadkiem nie ma tańszej alternatywy oferującej taki sam zestaw funkcjonalności. W zależności od wyniku tej analizy dokonamy innego zakupu.

         Na tym podstawowym etapie jeszcze nie jesteśmy w stanie wskazać większej korzyści z analogii między programowaniem a życiem. Wystarczy nieco głębiej zanurzyć się w świat paradygmatu programowania obiektowego, by dostrzec jak wiele rozwiązań programistycznych, może znaleźć zastosowanie do rozwiązywania problemów dnia codziennego. Stojąc przykładowo przed problemem wyboru swojej ścieżki zawodowej albo szukając sposobu na efektywne inwestowanie kapitału musimy dokonać pewnego porządkowania swojej wiedzy oraz poddać refleksji swoje oczekiwania oraz możliwości. Podczas prób uporządkowania danych, co umożliwi nam w przyszłości podjęcie ważnej życiowej decyzji, istotne z psychologicznego punktu widzenia jest spisanie zarówno danych jak i naszych oczekiwań oraz możliwości. Choć szkoła nie uczy nas podejmowania decyzji w sposób racjonalny i przemyślany, to jednak stojąc w obliczu decyzji brzemiennych w skutki ponoszone latami, a niejednokrotnie nawet przez całe życie, rozsądnym wydaje się poświęcenie pewnego czasu procesowi decyzyjnemu.

         W tym punkcie zachęcam spróbować napisać program, w którym utworzymy obiekt z naszej osoby oraz obiekt problemu, który chcielibyśmy pokonać. Dla dokładniejszego kontekstu możemy również pokusić się o utworzenie obiektów nadrzędnych pamiętając o tym, że każdy z nas jest człowiekiem i należy przypisać nam także istotne z perspektywy rozwiązywania problemu cechy wspólne wszystkim ludziom. W następnej kolejności należy rozpatrzyć w jakich kategoriach decyzyjnych mieści się nasz problem i spróbować odnaleźć cechy typowe dla tej kategorii problemów oraz pokusić się o research w poszukiwaniu typowych rozwiązań dla podobnych problemów.

         Z tak przygotowaną programistyczną mapą myśli powinniśmy przystąpić do rozpisywania funkcji, które będą reprezentowały czynności, których będziemy się podejmować, by pokonać określone problemy. Tutaj z kolei przychodzi nam z pomocą główna idea przyświecająca programistom tworzącym najbardziej zaawansowane algorytmy na świecie: rozbij problem na atomy. Każdy duży problem możemy rozbić na mniejsze „podproblemy”. Spryt programistów polega na tym, że nawet najbardziej zawiły i skomplikowany problem rozbijają na najprostsze czynności, które można wykonać bez większego nakładu wysiłku.

         Czy chcąc w ten sposób zaprogramować swoje życie musisz znać jakikolwiek język programowania? W żadnym razie. Wystarczy, że zrozumiesz czym są obiekty oraz funkcje i zachowasz podstawowe zasady racjonalnego myślenia, a następnie uruchomisz swój edytor tekstowy albo ołówek i rozbijesz swój ogromny problem w kupkę mikroproblemów i rozprawisz się z nimi po kolei.

Autor: Edwin Harmata


multis_pazdziernik_2020_www
Szukaj
Multis Multum

Multis Multum to magazyn studencki tworzony przez Studentów Wyższej Szkoły Zarządzania i Bankowości pod nadzorem:

Redaktor Naczelna – mgr Aneta Idzik-Nowak

Adiustator – dr inż. Dominika Woźny  

Kontakt: a.idzik@wszib.edu.pl

Gdzie możesz nas czytać?

Multis Multum to bezpłatny kwartalnik dostępny na terenie uczelni WSZiB przy Al. Kijowskiej 14 w Krakowie.