
Programowanie to bardzo fascynujące zajęcie. To kreatywność. Najbardziej niepojętym momentem jest moment przejścia pomysłu, obrazu, który bulgocze w twojej głowie, w coś namacalnego, w coś materialnego. Czego możesz dotknąć, poczuć, "stuknąć".
Nie mniej fascynujące jest obserwowanie, jak twoje dzieło robi (lub nie ;)) to, co zamierzałeś. Sam fakt, że ludzki umysł jest zdolny do stworzenia czegoś, co działa samodzielnie, jest wystarczająco stymulującym i motywującym momentem.
Kto by pomyślał, 20-30 lat temu, że programy będą pokazywać nam rekomendacje, oceniać niektóre rzeczy, a nawet porządkować rzeczy, które my, czasami, nie jesteśmy w stanie uporządkować sami.
Nowoczesne systemy są tak globalne (w danych, na których operują), tak głębokie (w jakości analizy), że jeśli spojrzysz na to wszystko "z lotu ptaka" — zapierają dech w piersiach.. Czy to wszystko naprawdę mogło zostać stworzone przez człowieka?! A jednak zostało stworzone. I to dokładnie przez człowieka.
Same algorytmy zasługują na nie mniejszą uwagę. Programowanie to algorytmy. "AlgoryFmy", jak napisał jeden z pierwszych cybernetyków ZSRR, Walerian Fiodorowicz Turczin. On zresztą wynalazł jeden z pierwszych języków programowania funkcyjnego, REFAL. Już w ’66! Niestety, mało się rozwinął..
A jeśli pomyślisz, jakie algorytmy i ile ich jest używanych w dużych systemach — zapiera dech w piersiach!
A jednak, to wszystko zostało stworzone przez człowieka. Przez "ludzi" :)
W przeciwieństwie do niektórych sfer działalności, programowanie operuje dość jasnymi kategoriami. Osoba musi być w stanie wyobrazić sobie związki przyczynowo-skutkowe. Jest to szczególnie zauważalne w dużych systemach. Kiedy jest bardzo wiele części systemu, kiedy często aktywnie ze sobą współdziałają. A jeśli zlekceważysz "kulturę pracy" (moja ulubiona fraza ;)) — możesz sobie narobić wielu kłopotów.
Co prowadzi nas do innej ważnej cechy programowania i programistów — do dyscypliny myślenia. Programista musi być wystarczająco zdyscyplinowaną osobą, aby stworzyć tak złożone rzeczy jak programy.
Nowoczesne kompleksy sprzętowo-programowe służą wielu kluczowym procesom i mechanizmom. I nie tylko to — całym przedsiębiorstwom! Czasami te przedsiębiorstwa i procesy należą do kategorii czasu rzeczywistego. Gdzie najmniejszy błąd, najmniejsze opóźnienie w czymś — może przerodzić się w katastrofę. I to nie w przenośni, ale w najbardziej dosłownym sensie. Twarde systemy operacyjne czasu rzeczywistego (RTOS) kontrolują najbardziej krytyczne systemy w życiu człowieka: elektrownie jądrowe, sprzęt medyczny, satelity kosmiczne, centra kontroli ruchu lotniczego. Nie licząc gazu, ropy, chemii, metalu i innych *procesów technicznych.
(Na przykład: W mieście Ottawa-Carleton (Kanada) opracowano system kontroli ruchu transportu miejskiego oparty na QNX. Łączy około 700 sygnalizacji świetlnych i 3000 czujników drogowych na 1100 kilometrach autostrady. Przepustowość tych autostrad wynosi 5,4 miliarda samochodów rocznie. Oprócz czasu i długości przełączania sygnałów świetlnych na każdym skrzyżowaniu w mieście, system kontrolny musi rejestrować zachodzące wydarzenia i analizować wydajność sprzętu za pomocą czujników drogowych. A najmniejsze zacięcie w tak dużym systemie — może prowadzić do wypadków. I do śmierci.)
Potrzebna jest pewna odpowiedzialność. Aby móc powiedzieć: "oto, napisałem program. I będzie działał niezawodnie". A to oznacza, że programowanie uczy odpowiedzialności.
Niezależnie od tego, jak interesujące mogą być programy, niezależnie od tego, jak inteligentne mogą być systemy ekspertowe, za tym wszystkim stoi — CZŁOWIEK. Odpowiedzialna osoba, zdyscyplinowana osoba, taka, która myśli o konsekwencjach.
...Idealnie ;))
W rzeczywistości..
W rzeczywistości ta rzeczywistość wprowadza swoje własne korekty. Wszyscy żyjemy w realnym świecie. Gdzie wszyscy uczestnicy tego realnego świata dyktują swoje własne zasady. Biznes dyktuje zasady budżetu finansowego i czasowego; życie codzienne i społeczeństwo dyktują swoje zasady; moralny i etyczny poziom samej osoby dyktuje jej własne zasady..
I wszystko to ma swoje skutki. Dość często — nie na lepsze.
A gdy tylko zostaniesz sam ze sobą, gdy twoje palce nawykowo zaczną sunąć po klawiszach — znów jesteś twórcą) znów tworzysz. Zaczynasz tworzyć interesujące rzeczy, które inni później będą używać, zaczynasz optymalizować, zaczynasz używać takich matematycznych sztuczek, które, prawdopodobnie, zrozumieją tylko matematycy)
I to właśnie w tym momencie rozumiesz — nie możesz wykonać pracy byle jak, nie możesz pracować niedbale, nie możesz nie uwzględniać, nie możesz upraszczać, nie możesz odkładać.
Wychodzisz na przerwę na papierosa, a za oknem..
Cześć, poranek!)


Komentarze 0
Brak komentarzy — bądź pierwszy.