Voliamo alto! :-D Trattare un tema così politicamente importante ma così tecnico su una lista multidisciplinare come questa è una sfida veramente interessante. E' difficile risponderti senza escludere involontariamente coloro che non hanno una esperienza sufficientemente approfondita e variegata di diversi linguaggi di programmazione. On 26/05/2020, Giovanni Biscuolo <giovanni@biscuolo.net> wrote:
Using C and C++ is bad for society, bad for your reputation, and it’s bad for your customers.
Io programmo in C, principalmente per gioco. ;-) E' probabilmente il mio linguaggio di programmazione preferito, sebbene utilizzi la libc di Plan 9 e dunque, secondo lo standard (che definisce anche la libreria standard), non è C. Per quanto ne so, la mia reputazione non ne ha mai risentito. D'altro canto programmo e ho programmato anche in diversi altri linguaggi per mestiere (C#, JavaScript, Haskell, Python, Lisp, Go, PHP...) ed in questi venti anni mi sono convinto che il problema (e la soluzione) non risieda nei linguaggi di programmazione. E' un problema molto più profondo. Alla radice c'è l'arretratezza della nostra disciplina. Ma questa arretratezza affonda in un terreno economico e politico sterile (il capitalismo) che ci impedisce qualsiasi vero progresso. Non è tragicamente ironico?
dico solo che ho studiato ed è da quando ho iniziato a studiare c'è sempre qualcuno che sostiene che con la buona pratica egli è capace di evitare errori di memoria in C/C++ e sono gli altri che non sono capaci di programmare.
C++ è un abominio. :-D Per C questa affermazione è abbastanza vera. Ma non nel senso in cui viene superficialmente interpretata. Il problema è la complessità del software contemporaneo. Il C funziona splendidamente se scrivi programmi piccoli, semplici e ben ordinati. I processi del sistema operativo garantiscono la memory safety. Il C invece NON funziona se vuoi scrivere programmi complicati. E purtroppo, invece, il mercato avvantaggia i sistemi complicati.
Questo dibattito però non deve rimanere "confinato" agli specialisti
Anche perché raramente si interrogano criticamente sulle ragioni storiche e politiche che hanno prodotto gli strumenti concettuali che usano. E guai a dire che l'informatica è politica! Al più accettano un po' di ethics washing... un po' di open washing...
anche i non programmatori _devono_ sapere di cosa si tratta e questo dibattito dovrebbe diventare pubblico, dovrebbe diventare **politico**;
Eh... vero! Ma è come se parlassi di metrica a chi non sa leggere l'alfabeto.
oltre che di competenze qui si tratta di avere anche adeguate risorse per affrontare questi problemi, che NON SONO dei programmatori, sono di tutti noi, sono _anche_ di sicurezza nazionale.
Vero. E' anche una questione di risorse, di investimenti... Ma è anzitutto una questione di VISIONE! Wirth aveva una visione ed Oberon-07 è l'apice della sua ricerca. Thompson e Ritchie avevano una visione. Persino Gates, con BASIC prima e con .NET poi, aveva una visione. Ma ogni visione ha implicazioni politiche profonde che sfuggono completamente persino a moltissimi programmatori! Siamo orbi circondati da ciechi. Come può diventare un tema politico?
...però mi rendo conto di essere anche piuttosto ingenuo nello sperare che questo possa diventare un dibattito politico :-D
Non direi "ingenuo". Direi piuttosto "curioso". ;-) Ma è un tema così straordinariamente enorme (e va ben al di là della memory safety, confronta http://jehanne.io/2018/11/15/simplicity-awakes.html con https://www.phoronix.com/scan.php?page=news_item&px=Linux-READFILE-System-Ca... ) che non saprei proprio come trattarlo. Giacomo