Programowanie jest wszędzie, postaraj się je zauważyć.

Programowanie na ogół kojarzy nam się z komputerami, telefonami, serwerami. Rzadko zastanawiamy się jak to się dzieje że światła na skrzyżowaniu zmieniają się same, albo pralka „wie” dokładnie ile czasu ma pracować i w jakim trybie. Postaramy się przybliżyć wam kilka przykładów z życia codziennego, gdzie programowanie odgrywa ważną rolę, choć nie do końca zdajemy sobie z tego sprawę.

 

Zacznijmy od świetlnej sygnalizacji drogowej. Zauważycie, że zazwyczaj przy skrzyżowaniach ze światłami stoi skrzynka. W środku niej znajduje się mikrokontroler, który nimi steruje. Takie urządzenie zaprogramowane jest (zazwyczaj) w języku Asembler. Jest to język niskiego poziomu (mało intuicyjny i zrozumiały dla człowieka), w którym operujemy na rejestrach. Wybrany został on ze względu na brak zakleszczeń (problem gdy dwie operacje chcą uzyskać dostęp do tych samych zasobów np. włączenie światła). Mikrokontroler co pewien czas zmienia światła biorąc pod uwagę np. wciśnięcie przycisku na przejściu dla pieszych lub obraz z kamery na skrzyżowaniu.

 

Także w naszym domu mamy wiele zaprogramowanych urządzeń. Sprzęt typu kuchenki/lodówki/pralki działa na podobnym mikrokontrolerze jak światła drogowe, jednak częściej programowane one są w języku C/C++. Powodem dla którego użyto tych języków jest wygoda. Języki te są bardziej czytelne i zrozumiałe dla człowieka. Wiele innych urządzeń w domach działa w oparciu o sterownik np. piec grzewczy steruje pompami, inteligentne domy sterują oknami, światłem, dźwiękiem, klimatyzacją. Przejdźmy dalej - telewizory na przykład coraz częściej posiadają system Android, bardzo podobny do tego na telefonach. Moc obliczeniowa telewizorów jest niska, dlatego przygotowana jest specjalna wersja tego systemu. Aplikacje dostępne w takich telewizorach programowane są (zazwyczaj) w Javie.

 

Wyjdźmy na zewnątrz. W samochodach od pewnego czasu producenci montują komputer. Taki komputer różni się nieco od znanych nam PC, musi być dodatkowo odporny na wstrząsy, wilgoć oraz wibracje. Do niedawna komputery te były dość proste i miały ograniczoną funkcjonalność (np. mierzyły tylko przebytą drogę i spalanie). W dzisiejszych czasach komputer i jego urządzenia umożliwiają oglądanie filmów, odtwarzanie muzyki, ale też sprawdzanie parametrów takich jak zużycie paliwa, czas, przebyta droga, temperatura otoczenia/silnika itp.

 

Tego typu rozwiązań jest więcej! W sklepach spotykamy się z kasami fiskalnymi, terminalami płatniczymi, w tramwaju mamy tablice wyświetlające przystanki, przy drodze są bilboardy z animowanymi reklamami, w bibliotekach rezerwacje książek, urządzenia w bankach, na poczcie, na giełdzie. I wiele, wiele, więcej. Wszystkie te urządzenia zostały zaprogramowane do wykonywania określonej funkcji. Jak widać programowanie nas otacza, dotyka niemalże każdego aspektu naszego życia - więc warto się go uczyć.