Większość z nas z całą pewnością będzie zdziwiona faktem, że z pozoru prosta strona internetowa najpopularniejszej wyszukiwarki, w rzeczywistości jest bardziej skomplikowana pod względem programistycznym niż najbardziej kolorowe i interaktywne witryny www. Jakimi jeszcze informacjami koderzy mogliby zaskoczyć niejedną osobą niezwiązaną z branżą IT? Kontynuujemy przegląd faktów na temat programistów i programowania, które dla przeciętnych zjadaczy chleba bywają zupełnie niezrozumiałe.
Nie wszystko złoto, co się świeci
„Nie mam pojęcia, w jaki sposób, ale mój kod działa” – mógłby powiedzieć niejeden programista. I bynajmniej prawda ta nie dotyczy początkujących koderów. Gdyby rozłożyć na czynniki pierwsze wzorcowe, wydawałoby się, oprogramowania, z których korzystamy codziennie (np. Facebooka), okazałoby się, że zawierają taką liczbę bugów i dziwnych operacji koderskich, że można odnieść wrażenie, iż całość ledwo trzyma się kupy. To jakby rozebrać Boeinga 747 i odkryć, że linia paliwowa przymocowana jest spinaczami biurowymi a podwozie trzyma się na taśmie klejącej. Z punktu wiedzenia użytkownika wszystko może świetnie funkcjonować, kiedy jednak zajrzy się do środka, można się zdziwić, jak to jest możliwe, że w ogóle działa.
Testowanie i debugowanie to część programowania
Większość osób jest święcie przekonanych, że wcielanie się w rolę użytkownika końcowego to zadanie dla testera oprogramowania. Owszem, jednak w praktyce żaden szanujący się programista nie przekaże swojego kodu w fachowe ręce specjalisty QA, bez wcześniejszego przetestowania wszystkich wartości brzegowych, profilowania czy sprawdzenia wycieków pamięci. Nie będzie przesadą stwierdzenie, że analizowanie potencjalnych zagrożeń i wyszukiwanie błędów, zastanawianie się, jakim tropem pójdzie użytkownik, gdzie może kliknąć i jakie frazy wpisać , to niemal jedna czwarta czasu poświęconego na stworzenie aplikacji.
Programiści liczą od zera
Kluczową cechą osób programujących w C#, C++, JavaScript, PHP, Python czy Ruby jest to, że liczenie dla nich rozpoczyna się od zera. Ich „0” to „1” dla pozostałej części ludzkości, „9” to „10”. Z czego to wynika? Otóż w programowaniu liczy się efektywność i nawet niewielkie usprawnienia na tym polu robią ogromną różnicę. Komputery posługują się systemem binarnym, w którym są do dyspozycji tylko dwie cyfry: 0 i 1, za pomocą których można zapisać każdą inną liczbę. Znane każdemu koderowi tablice, służące do przechowywania wielu zmiennych tego samego typu, numerację swoich kolejnych indeksów zaczynają właśnie od zera. Choć może to budzić zdziwienie, jest to po prostu łatwiejsze, bardziej funkcjonalne i pozytywnie wpływające na efektywność programowania.
Najlepiej programuje się w stanie „przepływu”
Przepływ to znane w psychologii pozytywnej pojęcie określające maksymalną koncentrację i całkowite oddanie się jakiejś czynności. Ten stan umysłu charakteryzuje się m.in. głębokim relaksem, utratą poczucia czasu, wrażeniem „uskrzydlenia” i brakiem obaw przed porażką. Dobrze znany jest artystom i sportowcom , którym pozwala osiągać najlepsze efekty. To tłumaczy, dlaczego tylu koderów jest nocnymi markami. Otóż późna pora to często jedyna część doby, kiedy mogą w pełni skoncentrować się na pracy nie narażając się na obecne w ciągu dnia dystraktory. To wręcz idealne warunki do programowania.
Choć nowe technologie otaczają nas z każdej strony a developer to obecnie jedna z najpopularniejszych i najbardziej poszukiwanych profesji, ilość faktów na temat programowania, które budzą powszechne zdziwienie świadczy o tym, że dla zdecydowanej większości osób kodowanie pozostaje wiedzą tajemną.
Źródło: Quora
Jeśli nie zapoznałeś/-aś się jeszcze z pierwszą częścią artykułu zapraszamy do jego lektury: 7 faktów na temat programowania, o których nie wiedzą osoby spoza branży (cz. I).