On Thursday 23 January 2003 09:36, Mario wrote: > Quoting Luca Manini <manini@xxxxxxxxxxx>: > > Il fatto stesso che la cosa sia argomento di discussione la dice > > lunga sul valore di C++ come linguaggio OO. Molti programmatori C > > conoscono l'assembler e magari ogni tanto ne attaccano anche > > qualche riga dal C, ma ... > > Sinceramente nella mia piccola esperienza ho potuto notare come più > un linguaggio è OO più sia complicato utilizzarlo in quanto la > programmazione OO (che nulla ha a che fare con un linguaggio OO), è > completamente controintuitiva. Sull'intuitività della programmazione OO si può discutere: secondo me è mooolto meglio, e ti parla uno che ha fatto una certa fatica a capirla e che tuttora non è proprio un mago. Sulla difficoltà in generale non sono affatto d'accordo. Il C++ è un linguaggio difficile, decisamente più difficile del C perché appiccica una serie di paradigmi OO su un linguaggio che è quasi il contrario e che già di suo ha una serie di spigoli affilati, pronti a ferire il programmatore incauto. Per esempio: se dal punto di vista del programmatore esperto è molto utile poter scegliere tra metodi virtuali e non, quello inesperto ogni tanto non capisce perché viene chiamato il metodo sbagliato. Il fatto che le stringhe non siano un tipo ma, al più, una classe (e non sempre con tutti i metodi utili al posto giusto) genera tutta una serie di problemi. Poi è ovvio che un programmatore professionista non può essere un "inesperto" in senso assoluto, ma non tutti si chiamano Kernighan, Stroustrup o Knuth. Un linguaggio che non ti lascia fare errori è meglio di uno che ti costringe a pensare con attenzione anche ad alcune cose apparentemente banali. Detto questo, io col C++ mi trovo benone perché ho un'esperienza piuttosto lunga col C, conosco alcuni dei problemi del C++ e non mi lascio fregare (non spesso ;) da puntatori, metodi virtuali ed altre amenità, anzi, mi diverto a scrivere codice complicato. Ma per quasi tutti i programmi utili che mi vengono in mente consiglierei il C (ed un'accurata cernita dei programmatori) se si tratta di progetti tipo kernel o utility di sistema, oppure linguaggi più gentili eventualmente integrati da librerie scritte in C dove richiesto. -- Ciao, Flavio Stanchina Trento - Italy Information is not knowledge. Knowledge is not wisdom. Wisdom is not truth. Truth is not beauty. Beauty is not love. Love is not music. Music is the best. -- Frank Zappa -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx