
Diciamocelo subito: il mondo è pieno di linguaggi di programmazione. Seriamente, se contassi tutti, probabilmente finirei per impazzire. E poi arriva C3. Sì, avete capito bene, C3. Non è un errore di battitura, non è un nuovo modello di Citroën, è un linguaggio che vuole prendere il posto del C. Un’impresa titanica, diciamolo.
L’idea di base è semplice: prendere il C, sistemare tutti i casini che sappiamo bene (buffer overflow, puntatori ballerini, memory leak che ti fanno piangere a mezzanotte) e aggiungere un pizzico di modernità. Hanno promesso sicurezza della memoria senza garbage collector, performance paragonabile al C (e forse anche superiore), e una sintassi che, a quanto pare, è più amichevole. Amichevole per chi, esattamente? Per chi ha già sofferto abbastanza con il C e non vuole imparare un altro linguaggio completamente nuovo?
Ho dato un’occhiata veloce al sito (https://c3-lang.org) e devo ammettere che la documentazione sembra ben fatta. C’è un compilatore per Windows, Mac e Linux, quindi almeno non ci dobbiamo compilare tutto a mano con GCC sperando che funzioni. Il fatto che puntino molto sulla compatibilità con il C è interessante. Potrebbe significare che possiamo iniziare a usare C3 gradualmente, sostituendo pezzi di codice esistente senza dover riscrivere tutto da zero. Questa è una buona notizia per noi che amiamo smanettare con progetti legacy.
Però, onestamente, mi puzza un po’ questa storia di “il linguaggio perfetto”. Ogni linguaggio ha i suoi compromessi, e C3 non sarà diverso. Vedremo se la promessa di sicurezza della memoria si tradurrà in performance accettabili. E poi, c’è sempre il rischio del vendor lock-in. Se C3 diventa troppo popolare, chi lo controlla avrà un potere enorme. Speriamo che mantengano il progetto open source e che la community possa contribuire attivamente al suo sviluppo.
Comunque, se siete dei veri hacker, maker o nerd, vi consiglio di dargli un’occhiata. Scaricate il compilatore, giocateci un po’, fate qualche esperimento. Chissà, magari C3 sarà il prossimo grande linguaggio di programmazione. O magari sarà solo un altro linguaggio di programmazione. Ma almeno avremo qualcosa di nuovo con cui rompere la testa e trovare bug. E, ammettiamolo, è questo che ci piace davvero, no?
Source: The C3 Programming Language
