Un consiglio su sviluppo programma in C++

di il
2 risposte

Un consiglio su sviluppo programma in C++

Ciao a tutti, da anni sviluppo programmi in C.
Siccome mi mancava una buona libreria per sviluppare interfacce grafiche mi sono messo a studiare le librerie Qt che come saprete si possono usare solo in C++.
Mi sono quindi messo all'opera ed in questi ultimi mesi ho studiato anche il C++ (almeno in parte).
Essendo però programmatore di linguaggi procedurali da anni, ho alcune difficoltà ad entrare nella mentalità della programmazione ad oggetti e, sia per questo motivo che per fare pratica ho deciso che i prossimi programmi li scriverò tutti in C++.
Ora, venendo al problema principale, dovrei modificare un mio vecchio programma scritto in C che non fa altro che attende un input da tastiera o seriale, ne elabora i dati e li invia tramite un socket di rete ad un server che dopo alcune verifiche risponde e in base a queste risposte il mio programma deve intraprendere delle azioni.
Quindi, il programma in sé è abbastanza semplice, potremo dire che ha le seguenti funzioni:
main()
leggiSeriale()
leggiTastiera()
inviaDati()
riceviDati()
applicaAzione()

Ora lo dovrei modificarlo aggiungendo dei log, ma il problema non è sicuramente questo, il problema è se vale la pena creare un programma in C++ (con classi/oggetti) per un programma così semplice e come eventualmente voi stutturereste questo programma.
Essendo appunto un programma molto semplice, fareste un'unica classe con tutti i metodi elencati sopra o fareste più classi?
Alla fine mi trovo sempre intrippato sul capire quale sia il metodo più corretto per strutturare un programma in tale linguaggio.
Spero nel vostro aiuto.
Grazie.

Stefano

2 Risposte

  • Re: Un consiglio su sviluppo programma in C++

    Essendo però programmatore di linguaggi procedurali da anni, ho alcune difficoltà ad entrare nella mentalità della programmazione ad oggetti e, sia per questo motivo che per fare pratica ho deciso che i prossimi programmi li scriverò tutti in C++.
    Non è strettamente necessario che tu passi da C a C++ subito; eventualmente puoi iniziare ad utilizzare le librerie Qt ma continuando a sviluppare in C.
    Di sicuro devi avere un'infarinatura di C++ e di programmazione ad oggetti, e devi prenderti tutto il tempo per capire e fare delle prove, ma non devi per forza cominciare subito a creare classi tue.
    il problema è se vale la pena creare un programma in C++ (con classi/oggetti) per un programma così semplice e come eventualmente voi stutturereste questo programma.
    Essendo appunto un programma molto semplice, fareste un'unica classe con tutti i metodi elencati sopra o fareste più classi?
    Alla fine mi trovo sempre intrippato sul capire quale sia il metodo più corretto per strutturare un programma in tale linguaggio.
    Secondo me devi sempre utilizzare lo strumento che più si adatta; per gestire una GUI può essere comodo avere un approccio ad oggetti (come nel caso della libreria Qt) mentre nella gestione di un ciclo come lo descrivi tu è sicuramente più semplice svilupparlo in modo "procedurale".
  • Re: Un consiglio su sviluppo programma in C++

    Ciao candaluar e grazie della risposta.
    Non è strettamente necessario che tu passi da C a C++ subito; eventualmente puoi iniziare ad utilizzare le librerie Qt ma continuando a sviluppare in C.
    Di sicuro devi avere un'infarinatura di C++ e di programmazione ad oggetti, e devi prenderti tutto il tempo per capire e fare delle prove, ma non devi per forza cominciare subito a creare classi tue.
    Questo è vero, però volevo iniziare a passare al C++ più che altro per fare pratica.
    Ho letto un po' di libri sia su C++ che Qt, però ho visto che il solo leggere aiuta fino ad un certo punto.
    Ho sempre avuto problemi a ragionare solo con concetti astratti (e questo di sicuro non aiuta in C++), però sono uno che deve mettere in pratica e sbattere il naso sui problemi per capirci qualcosa, tant'è che un paio di programmi in Qt li ho già sviluppati e funzionano anche bene.
    Il fatto è che Qt così com'è strutturato ti porta in automatico a sviluppare a oggetti, cosa diversa invece è scrivere un programma da zero e capire come impostarlo correttamente.
    Secondo me devi sempre utilizzare lo strumento che più si adatta; per gestire una GUI può essere comodo avere un approccio ad oggetti (come nel caso della libreria Qt) mentre nella gestione di un ciclo come lo descrivi tu è sicuramente più semplice svilupparlo in modo "procedurale".
    Infatti ho chiesto aiuto proprio perchè mi sembrava uno spreco di energie scrivere un programma come quello in C++, o meglio organizzandolo in classi.
    Ciò non toglie però che potrei comunque svilupparlo in C++ utilizzando le classi già esistenti che rispetto alla classica programmazione in C ho visto che aiutano molto.
    Correggimi se sbaglio, perchè ho ancora molto da imparare e da capire

    Grazie.

    Stefano
Devi accedere o registrarti per scrivere nel forum
2 risposte