Nicola Musatti
2008-03-11 12:45:12 UTC
Ciao a tutti,
in un recente post Davide Quack ha posto un problema che e' passato
abbastanza inosservato. Oggi come oggi ha senso scegliere di scrivere
un programma in C++?
Ho cominciato a pormi la questione perche' da circa sei mesi due terzi
del codice che scrivo e' in C# ed il terzo rimanente e' in Python. Il
C# e' una scelta imposta, ma per le cose che faccio e' ragionevole;
Python e' insuperabile per quelle cose che stanno nella zona grigia
tra la programmazione e lo scripting. Cosi' mi e' venuto da
domandarmi: esiste una categoria di programmi per i quali sceglierei
il C++ come linguaggio di sviluppo, dal punto di vista della comodita'
di realizzazione? Confesso che non sono sicuro della risposta.
Non e' che non ci sia un rovescio della medaglia: in C# implementare
una parvenza di distruttore o un operatore di uguaglianza e'
allucinante, e in Python sento la mancanza tanto dei distruttori
quanto dell'overloading di funzioni. Pero' quando si scrive codice nel
quale la componente algoritmica e' relativamente ridotta e si fa uso
abbondante di librerie varie questi aspetti perdono di importanza.
Tra l'altro ultimamente mi e' capitato di ficcare il naso
nell'implementazione di un paio di librerie di Boost e mi e' venuto da
chiedermi se una simile complessita' ha davvero senso, se il numero di
linee di codice per funzionalita' "utile" e' davvero giustificato.
Intanto Boost non ha una libreria di accesso a DBMS o un parser XML.
In piu' la prossima versione dello standard conterra' costrutti come i
reference a rvalue o i concetti, che aumenteranno ulteriormente la
complessita' del linguaggio. Ha davvero senso?
Devo dire che per la prima volta da che ho iniziato a programmare in C+
+ sono un po' perplesso.
Ciao,
Nicola
in un recente post Davide Quack ha posto un problema che e' passato
abbastanza inosservato. Oggi come oggi ha senso scegliere di scrivere
un programma in C++?
Ho cominciato a pormi la questione perche' da circa sei mesi due terzi
del codice che scrivo e' in C# ed il terzo rimanente e' in Python. Il
C# e' una scelta imposta, ma per le cose che faccio e' ragionevole;
Python e' insuperabile per quelle cose che stanno nella zona grigia
tra la programmazione e lo scripting. Cosi' mi e' venuto da
domandarmi: esiste una categoria di programmi per i quali sceglierei
il C++ come linguaggio di sviluppo, dal punto di vista della comodita'
di realizzazione? Confesso che non sono sicuro della risposta.
Non e' che non ci sia un rovescio della medaglia: in C# implementare
una parvenza di distruttore o un operatore di uguaglianza e'
allucinante, e in Python sento la mancanza tanto dei distruttori
quanto dell'overloading di funzioni. Pero' quando si scrive codice nel
quale la componente algoritmica e' relativamente ridotta e si fa uso
abbondante di librerie varie questi aspetti perdono di importanza.
Tra l'altro ultimamente mi e' capitato di ficcare il naso
nell'implementazione di un paio di librerie di Boost e mi e' venuto da
chiedermi se una simile complessita' ha davvero senso, se il numero di
linee di codice per funzionalita' "utile" e' davvero giustificato.
Intanto Boost non ha una libreria di accesso a DBMS o un parser XML.
In piu' la prossima versione dello standard conterra' costrutti come i
reference a rvalue o i concetti, che aumenteranno ulteriormente la
complessita' del linguaggio. Ha davvero senso?
Devo dire che per la prima volta da che ho iniziato a programmare in C+
+ sono un po' perplesso.
Ciao,
Nicola