
La programmazione è un'attività molto affascinante. È creatività. Il momento più inconcepibile è il momento di transizione di un'idea, di un'immagine che ribolle nella tua testa, in qualcosa di tangibile, in qualcosa di materiale. Che puoi toccare, sentire, "pungere".
Non meno affascinante è osservare come la tua creazione faccia (o non faccia ;)) ciò che intendevi. Il semplice fatto che la mente umana sia capace di creare qualcosa che funziona da sola è un momento sufficientemente stimolante e motivante.
Chi avrebbe mai pensato, 20-30 anni fa, che i programmi ci avrebbero mostrato raccomandazioni, valutato alcune cose, persino messo in ordine cose che, a volte, non siamo in grado di mettere in ordine noi stessi.
I sistemi moderni sono così globali (nei dati su cui operano), così profondi (nella qualità dell'analisi) che se guardi tutto questo "da un punto di vista a volo d'uccello" — rimani senza fiato.. Può davvero tutto questo essere stato creato da un essere umano?! Eppure è stato creato. E precisamente da un essere umano.
Gli algoritmi stessi meritano altrettanta attenzione. La programmazione è algoritmi. "AlgoriFmi", come scrisse uno dei primi cibernetici dell'URSS, Valentin Fyodorovich Turchin. Lui, tra l'altro, inventò anche uno dei primi linguaggi di programmazione funzionale, REFAL. Già nel '66! Sfortunatamente, poco sviluppato..
E se pensi a quali algoritmi e a quanti di essi vengono utilizzati nei grandi sistemi — ti toglie il fiato!
Eppure, tutto questo è stato creato da un essere umano. Da "esseri umani" :)
A differenza di alcune sfere di attività, la programmazione opera con categorie abbastanza chiare. Una persona deve essere in grado di immaginare relazioni di causa ed effetto. Questo è particolarmente evidente nei grandi sistemi. Quando ci sono molte parti del sistema, quando interagiscono spesso in modo attivo. E se trascuri "la cultura del lavoro" (la mia frase preferita ;)) — allora puoi causarti molti problemi.
Questo ci porta a un'altra caratteristica importante della programmazione e dei programmatori — alla disciplina del pensiero. Un programmatore deve essere una persona sufficientemente disciplinata per creare cose così complesse come i programmi.
I moderni complessi software-hardware servono a molti processi e meccanismi vitally importanti. E non solo a questo — intere imprese! A volte queste imprese e processi appartengono alla categoria Real-Time. Dove il minimo errore, il minimo ritardo in qualcosa — può trasformarsi in una catastrofe. E non in senso figurato, ma nel senso più diretto. I sistemi operativi in tempo reale (RTOS) controllano i sistemi più critici nella vita umana: centrali nucleari, attrezzature mediche, satelliti spaziali, centri di controllo del traffico aereo. Senza contare i processi tecnici di gas, petrolio, chimica, metallo e altri.
(Ad esempio: Nella città di Ottawa-Carleton (Canada), è stato sviluppato un sistema di controllo del traffico municipale basato su QNX. Unisce circa 700 semafori e 3000 sensori stradali lungo 1100 chilometri di autostrada. La capacità di traffico di queste autostrade è di 5,4 miliardi di auto all'anno. Oltre al timing e alla durata della commutazione dei segnali dei semafori a ciascun incrocio della città, il sistema di controllo deve registrare gli eventi che si verificano e analizzare le prestazioni dell'attrezzatura attraverso i sensori stradali. E il minimo intoppo in un sistema così grande — può portare a incidenti. E alla morte.)
È necessaria una certa responsabilità. Essere in grado di dire: "qui, io/noi abbiamo scritto un programma. E funzionerà in modo affidabile". E questo significa che la programmazione insegna responsabilità.
Non importa quanto possano essere interessanti i programmi, non importa quanto siano intelligenti i Sistemi Esperti, dietro tutto questo c'è — l'UMANO. Una persona responsabile, una persona disciplinata, che pensa alle conseguenze.
...Idealmente ;))
In realtà..
In realtà, questa stessa realtà fa le sue correzioni. Tutti noi viviamo nel mondo reale. Dove tutti i partecipanti di questo mondo reale dettano le proprie regole. Gli affari dettano le regole del budget finanziario e temporale; la vita quotidiana e la società dettano le loro regole; il livello morale ed etico della persona stessa detta le proprie regole..
E tutto questo ha il suo effetto. Molto spesso — non per il meglio.
E non appena rimani solo con te stesso, quando le tue dita iniziano abitualmente a scivolare sui tasti — sei di nuovo un creatore) stai creando di nuovo. Inizi a creare cose interessanti che altri utilizzeranno in seguito, inizi a ottimizzare, inizi a usare trucchi matematici che, probabilmente, solo i matematici capiranno)
Ed è proprio in questo momento che capisci — non puoi fare un lavoro approssimativo, non puoi lavorare in modo negligente, non puoi non tenere conto, non semplificare, non rimandare.
Esci per una pausa sigaretta, e fuori dalla finestra..
Ciao, Mattina!)



Commenti 0
Nessun commento ancora — sii il primo.