C'è un concetto con il quale concordo e che si può riassumere in:

Per diventare programmatori di computer bisogna trascorrere 10 anni a sfidare se stessi e migliorarsi

Consiglio di leggere il brano nel documento summenzionato, ci troverete altre piccole perle; tra le quali, ad esempio:

A language that doesn't affect the way you think about programming, is not worth knowing

Ma sto divagando.

Adesso, col passare del tempo, dovrei cambiare tempo al verbo e dire che "concordavo" con l'affermazione all'inizio di questo testo. D'altronde già nel 2009 Sussman,

rispondendo ad una domanda rispetto al fatto di aver sostituito l'uso dello Scheme con il Python, come supporto ad un corso universitario, affermava:

Code ran close to the metal, even Scheme -- it was understandable all the way down. […] 6.001 had been conceived to teach engineers how to take small parts that they understood entirely and use simple techniques to compose them into larger things that do what you want.
But programming now isn't so much like that […]

16 anni sono passati da quella risposta e, sono convinto, che le cose siano ancora cambiate e, per diventare un programmatore, bastino molto meno di 10 anni. Probabilmente anche un decimo di quel tempo sarebbe sufficiente.

Vedete, al momento mi risulta di non conoscere di persona, tra la mia cerchia di conoscenti più prossimi — e che si occupino di programmazione — , nessuno che si occupi di:

Come vedete, sto un po' barando. Giacché chiaramente esistono un certo numero di persone che si occupano di queste cose (e, per una serie di coincidenze, ne ho conosco diversi), ma in proporzione, si tratta di una frazione piccola di coloro che si occupano di programmare i computer (professionalmente o meno). Quindi sto restringendo il significato della parola "programmatore": scorretto ma è a fin di bene (farvi perdere tempo su internet)! 😅

La maggioranza di noi si occupa esclusivamente di programmazione su architetture client-server e la maggior parte di questi ultimi si specializza in una delle due grandi macro aree della programmazione web: il frontend e il backend.

Il mio non è un punto di vista elitista, sia chiaro, penso che gli strumenti disponibili fino ad adesso per questo tipo di programmazione: browser, react, angular, docker, k8s, compilatori che hanno come obbiettivo javascript, gestori di dipendenze, programmi come wordpress, persino assistenti basati su reti neurali (finché dureranno) ecc.. abbiano reso più semplice apprendere come affrontare i principali problemi che la società richiede al software di risolvere.

Con "più semplice apprendere", non intendo che i problemi siano più semplici di prima, o che necessitino di minor risorse cognitive per essere risolti, anzi quando vedo le persone usare un framework javascript le ammiro. Ma se dieci anni una persona mi avesse chiesto di voler imparare a programmare lo avrei incoraggiato ad iniziare, ma premettendo che sarebbe stata un'impresa lunga (10 anni appunto). Oggi mi sento di poter dire anche ad una persona della mia età di iniziare con la consapevolezza che, nel giro di un anno, molto probabilmente sarà in grado di costruire qualcosa di utile per se stesso o per altri.

Dato che — chi vuole — può ancora approfondire altri aspetti, pattern o persino paradigmi di programmazione liberamente (e con molta più facilità di 20 anni fa), trovo che gli sviluppi di questa attività siano parzialmente positivi, perché vanno nel senso di una diffusione più trasversale e (quindi) democratica di tali competenze.

Dico parzialmente perché per esattamente gli stessi motivi, noi programmatori siamo, in una frazione non trascurabile dei casi, divenuti lavoratori sottopagati e intercambiabili. O, come si dice, siamo diventati ancor più: "operai dei bit".

Ciao!

C.

#programmazione
indietro
Comment on the fediverse.