Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Linguaggio C e programmazione ad oggetti

    Chiedo venia se la domanda può sembrare stupida (o se lo sia), ma vorrei avere delucidazioni da chi ha più esperienza di me in questo campo, o magari lo fa di lavoro..

    Sono programmatore autodidatta e da svariato tempo uso il C come linguaggio di programmazione per i miei scopi (ho studiato il C, leggendo e studiando, appunto, un libro).

    Nei miei programmi ho sempre adottato l'approcio standard della programmazione, quello procedurale (si chiama così giusto?).

    Da un pò di tempo, però, sto pensando di avvicinarmi alla programmazione ad oggetti, in quanto ho visto che diversi framework ne fanno uso e quindi mi trovo sempre più tagliato fuori, con le mie attuali competenze e conoscenze..

    Girando per la rete, ho visto che ogniqualvolta digito, programmazione ad oggetti, esce sempre il riferimento al linguaggio C++ ..

    la domanda che vi faccio, quindi, é: Devo per forza imparare il C++, oppure questo approcio si può avere anche con il C?..

    Se, si potesse avere anche con il C, questo mi permetterebbe cmq di usare anche framework che, almeno stando alla documentazione, fanno uso del C++?, come ad esempio le SDL?..

    Chiedo scusa, se non sono stato del tutto chiaro o se la mia domanda può sembrare banale, ma come detto sopra, sono un autodidatta

    Grazie anticipatamente per le risposte!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    No, per la programmazione ad oggetti devi conoscere ed usare il C++

    Il C non dispone di strumenti come le

    classi

    (appunto per questo è nato il C++) che stanno alla base della programmazione ad oggetti.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    ok grazie

    perfetto

  4. #4
    In realtà si può programmare ad oggetti in C (in effetti credo che dopo la programmazione procedurale sia il modo più diffuso di programmare in C), il problema è che non è molto intuitivo, dato che devi "simulare" tutte le caratteristiche tipiche di linguaggi object-oriented con le feature del C (classi=>struct + funzioni libere; ereditarietà=>composizione; funzioni virtuali=>struct di puntatori a funzione+magia; namespace=>prefissi sui nomi di strutture/funzioni; ...).
    Può essere un esercizio istruttivo per chi già conosce la OOP, ma non credo sia un modo facile di apprenderla (anche se forse astrarre il paradigma di programmazione dal linguaggio può darne una comprensione più raffinata).
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    La programmazione ad oggetti è una metodologia, che il C++ facilita. Ma nulla vieta di organizzarsi con il C per un discorso ad oggetti. Il compilatore C++ a conti fatti trasforma il sorgente C++ in assembler cio che fa il compilatore C. Certo è, che il C non è adatto da raggiungere livelli tali da potersi definire, senza una attenta lettura del codice, Object Oriented.
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Originariamente inviato da linoma
    Certo è, che il C non è adatto da raggiungere livelli tali da potersi definire, senza una attenta lettura del codice, Object Oriented.
    E' questo quello che conta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    A mio parere si usa il C anche con un progetto stutturato ad oggetti. Ma viene meno il vantaggio dei linguaggi ad oggetti, che è quello di lavorare di meno (perchè il compilatore fa un sacco di lavoro al posto tuo).

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    Originariamente inviato da MItaly
    funzioni virtuali=>struct di puntatori a funzione+magia;
    ciao,
    cosa intetendi per "magia"?

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Guardate progetti come GObject e Clean OO C, programmare ad oggetti in C non è impossibile, è solo più difficile, questo era solo per fare chiarezza in quanto concordo con il fatto che sia meglio, dal punto di vista didattico, imparare un linguaggio di programmazione nato come object oriented, se si intende usare un paradigma ad oggetti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.