Il C è morto, viva il C!

Ho un grossissimo debito di riconoscenza verso il linguaggio C e, di conseguenza, verso Dennis Ritchie, il suo creatore.

E’ stato il linguaggio che più di tutti mi ha aiutato all’inizio della mia carriera quando ancora avevo la grossissima fortuna di scrivere del codice per cose fighe. Niente bolle e fatture come capitava alla maggior parte dei mie colleghi ma, piuttosto, compilatori, spooler di stampa, interpreti. Tutta roba superfiga.

Lo imparai moltissimi anni prima di cominciare a lavorare e fu su uno splendido Amiga 1000 che lo usai per scriverci le prima righe di codice.

Quel libro me lo ricordo benissimo. The C Programming Language con la sua copertina bianca e la grandissima lettera C di colore blu sulla copertina. Lo ho divorato e negli anni lo ho letto e riletto centinaia di volte arrivando a squadernare la mia copia che, mi dispiace moltissimo, ho perso durante uno dei vari traslochi.

Ad ogni occasione scoprivo qualcosa di nuovo ed ogni volta ne rimanevo affasciato. Mi piaceva la sintesi del linguaggio e la sua potenza assoluta.

Certo ho realizzato sin da subito che questa potenza era pericolosa. Il primo pezzo di codice che scrissi sull’Amiga 1000 generò istantaneamente una Guru Meditation quando provai a lanciare il programma dal terminale al termine della sua compilazione.

Il C ti permette di fare delle cose fighissime ma delle quali devi avere piena consapevolezza per non fare casini irreparabili.

A me questa cosa piaceva da impazzire perché ti costringeva a pensare a quello che stavi facendo con attenzione. Dovevi avere rispetto del linguaggio e della macchina sulla quale questo linguaggio faceva funzionare una applicazione.

Per questa ragione quando ieri sono incappato in questo articolo mi sono preso il tempo necessario per gustarlo: Some Were Meant for C

Ora, so che è una affermazione forte, ma per me è stato come leggere una lettera d’amore ad una persona non più giovanissima.

This essay is a
C programmer’s reaction to the call to abandon ship.

it traces C’s ultimate strength to a
communicative design which does not fit easily within the
usual conception of “a programming language”, but can be
seen as a counterpoint to so-called “managed languages”.

“C doesn’t cause buffer overflows;
programmers cause buffer overflows”

Non vi svelo altro perché se siete come me siete già fuggiti da questo sito per andare a leggere quel paper che vi ho linkato sopra.

Grazie C. Ti devo molto, ancora oggi. Se tu non ci fossi stato molto probabilmente oggi non sarei qui. Ancora con lo stesso entusiasmo di allora.


Shameless self promotion ahead…

Nel caso non ve ne foste accorti qui in giro c’è anche un podcast con il quale potrete intrattenervi.

Quello di seguito è l’ultimo episodio.

Alessandro Galetto

Fuga da Whatsapp

Alessandro Galetto         Alessandro Galetto        
Fuga da Whatsapp           Fuga da Whatsapp          
More
Speed: 50% Speed: 75% Speed: Normal Speed: 125% Speed: 150% Speed: 175% Speed: Double Speed: Triple
Back 15 seconds
Forward 60 seconds
More
more
    Speed: 50% Speed: 75% Speed: Normal Speed: 125% Speed: 150% Speed: 175% Speed: Double Speed: Triple
    Back 15 seconds
    Forward 60 seconds
    Currently Playing

    Qui, invece tutti gli episodi pubblicati sino ad ora: Parole Sparse – Il Podcast


    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest


    2 Commenti
    Newest
    Oldest Most Voted
    Inline Feedbacks
    View all comments
    Andrea

    Ho letto l’articolo di Kell tempo fa che mi trova d’accordo su molti dei punti indicati. Rispolverare ancor oggi la mia copia del “White Book” di tanto in tanto mi ha sempre dato un senso di appagamento e la sfrontatezza adolescenziale, tipica di chi si sentiva privilegiato ad affrontare Sistemi al posto dell’appiattimento gestionalista tutt’oggi imperante in Italia. Per continuare sulla corsia dei ricordi consiglio una piacevole e divertente intervista Kernighan vs Thompson al VCF 2019 (youtube). Consiglio anche un libro, differente dall’originale ma interessante dato che lo ha scritto uno dei due autori. Completa a suo modo, e con… Read more »

    Parole Sparse - Il podcast di Corrente Debole

    Getting file data...

    Parole Sparse - Il podcast di Corrente Debole         Parole Sparse - Il podcast di Corrente Debole        
    Getting file data...           Getting file data...          
    More
    Speed: 50% Speed: 75% Speed: Normal Speed: 125% Speed: 150% Speed: 175% Speed: Double Speed: Triple
    Back 15 seconds
    Forward 60 seconds
    More
    more
      Speed: 50% Speed: 75% Speed: Normal Speed: 125% Speed: 150% Speed: 175% Speed: Double Speed: Triple
      Back 15 seconds
      Forward 60 seconds
      Currently Playing
      2
      0
      Would love your thoughts, please comment.x
      ()
      x