Per quale scopo posso usare c ++ per aumentare le mie competenze?

0

Voglio imparare nuove cose. Inizialmente ero un programmatore PHP. Poi ho pensato che non fosse abbastanza.

Poi ho iniziato ad imparare cosa Java. Mi ci sono voluti 3 mesi per imparare.

Java, J2EE, Spring, Hibernte, Spring Security, Spring Roo e molti modelli di progettazione MVC e cose come AOP, DI. Non l'ho mai saputo prima, ma ho avuto l'idea di cosa J2EE. Dopo 3 mesi, ho creato una semplice pagina con il modulo di registrazione integrato con Spring Security.

Volevo realizzare un progetto completo, ma era troppo per me e non volevo passare più tempo su di esso, perché avrei dovuto ospitare anche questo, quindi l'ho lasciato.

Poi ho iniziato a imparare Python e ho creato pochi script di amministratore di sistema e poi Django e ora sto completando un'applicazione web completa in Python.

Ora voglio imparare il C ++, ma prima devo scoprire cosa posso fare con esso. Proprio come so che Python è molto utile perché ho i miei server in modo da poter scrivere script e siti web in modo che Python sia adatto a me.

Ma sono confuso in quali aree C ++ può aiutarmi.

Non voglio finire come se fossi con Java, dove o ho grandi progetti o niente per l'uso quotidiano.

    
posta user824981 09.07.2011 - 17:26
fonte

8 risposte

9

C ++ entra davvero in gioco quando vuoi ottima velocità o programmazione a basso livello (che è parzialmente parte di una maggiore velocità).

Quando si tratta di attività computazionali pesanti come quelle che si trovano nei videogiochi moderni, è necessario il tempo di esecuzione più veloce possibile per assicurarsi che tutto funzioni in tempo come dovrebbe. C ++ o C è la scelta migliore quando si tratta di codice di produzione in quanto ti consente il lavoro di basso livello che ti serve e ti consente di utilizzare qualcosa come assemblaggio se ne hai davvero bisogno. Ovviamente C ++ ti permette anche di usare la programmazione orientata agli oggetti, se lo desideri.

La parte di basso livello ti consente di scrivere qualcosa come un driver o di lavorare con qualcosa come un microcontrollore in cui devi lavorare con l'accesso diretto alla memoria.

    
risposta data 09.07.2011 - 17:40
fonte
8

C ++ è bello per poter scegliere di allocare oggetti nello stack o nell'heap. Altri linguaggi come java ti obbligano ad allocare oggetti sullo heap.

C'è un chiaro vantaggio nell'allocare nello stack. E questo è elegante, deterministico, priva le risorse pulite. Il distruttore dell'oggetto si attiva automaticamente quando viene estratto dalla pila. Sono finiti i blocchi try / finally nidificati per gestire la pulizia di diversi oggetti di contenimento delle risorse. È il nirvana.

È davvero ironico. Le lingue di tipo Java / .net dovevano essere più semplici con il garbage collector. Ma nel momento in cui i tuoi oggetti si limitano a limitare le risorse esterne, fai affidamento sul garbage collector e sei costretto a rimettere a posto la tua pulizia deterministica tramite una brutta gestione degli errori.

    
risposta data 09.07.2011 - 18:33
fonte
3

C ++ è un linguaggio di programmazione generico con particolare attenzione alla programmazione di basso livello, alla velocità e al basso consumo di risorse.

In breve - puoi programmare qualsiasi cosa usando C ++. Se hai una scelta di lingua - prendi c ++ se ti serve la velocità (ad esempio grafica estesa, numero di crunch).

Che cosa puoi fare in C ++ è facile da avviare e non può essere fatto facilmente con una lingua diversa: scrivi un'applicazione per la piattaforma MeeGo. L'SDK è in C ++. Impari QT che è una buona libreria per C ++.

Altrimenti, inizia a programmare C ++ non perché devi prendere questa lingua per il progetto ma perché vuoi imparare la lingua. Vale la pena è. Imparerai molto sulla gestione delle risorse, sulla programmazione generica, ...

Un consiglio: prenditi il tuo tempo. C ++ non è facile - è un mostro.

    
risposta data 11.07.2011 - 10:06
fonte
1

Se ci sono voluti 3 mesi per imparare Java e creare una semplice pagina Web, C ++ ti farà impazzire. Prendi il libro di Stroustrup e inizia a guastarlo. OGNI esercizio. Facci sapere come va in 3 mesi, se ci sei ancora.

    
risposta data 11.07.2011 - 07:20
fonte
0

Basandosi sulla risposta dell'autore a @Glenn Nelson, a livello personale ti darà una maggiore comprensione di come funziona il computer. C ++ funziona "più vicino al metallo" di Java e Python. Ciò significa che dovrai gestire la tua memoria se la assegni. Esempio: vuoi creare un nuovo numero intero o un oggetto Persona in fase di esecuzione? Cosa succede quando esce il programma? Java e Python lo puliranno per te. In C e C ++, devi eliminarlo da solo oppure creerai una perdita di memoria.

Hai anche un controllo migliore dell'hardware, come la tua scheda grafica. Questo è il motivo per cui molti giochi ricchi di grafica sono ancora scritti in C ++.

Un altro uso comune di C o C ++ è scrivere altri linguaggi di programmazione o sistemi operativi (C è usato di più per questo). I codici Java e Python non vengono eseguiti direttamente sull'hardware, vengono compilati in base a un set di istruzioni (bytecode) che vengono quindi eseguite da un programma C. Quindi se hai mai avuto il desiderio di scrivere il tuo linguaggio di programmazione o il tuo sistema operativo, C o C ++ sarebbe una buona scelta 1 .

Dalla tua domanda, non sono sicuro di quale sia la tua motivazione per voler imparare il C ++. Può insegnarti alcune delle cose che ho delineato. Se stai cercando una lingua in cui farai tutto il tuo lavoro, la stai guardando dalla prospettiva sbagliata. Imparare ogni lingua ti dà "un altro strumento nella tua cassetta degli attrezzi". Ognuno ha qualcosa che può fare bene. Utilizza lo strumento appropriato per ciò che stai cercando di realizzare.

    
risposta data 12.07.2011 - 16:21
fonte
0

Bene, se stai cercando un progetto semplice e completo da fare in C ++, potrei suggerire di creare un gioco rouge-like ? Di solito sono fatti in C, ma molti sono stati codificati in C ++ e in altre lingue. I rogue-like possono essere molto semplici, eliminando gran parte degli aspetti laboriosi dello sviluppo del gioco e possono essere completati in brevissimo tempo.

Puoi usare la libreria dei curses tried and true (ncurses, o pdcurses a seconda del tuo sistema) che è estremamente semplice e facile da usare o puoi tuffarti in una libreria grafica come SDL o openGL.

L'unico ostacolo ad avere un gioco "completo" è la tua stessa ambizione.

    
risposta data 12.07.2011 - 20:47
fonte
0

In cima alla mia testa (come programmatore non c ++):

Ho sentito che c ++ è una delle lingue preferite nella programmazione commerciale di giochi per computer (non si parla di giochi basati su flash o di browsergames qui).

Oltre a questo, molti prodotti Microsoft hanno API COM in C ++ che sono più potenti delle versioni Visual Basic o .NET. (COM = Modello a oggetti componenti).

Prendi Windows Media Player ad esempio. I programmatori sono incoraggiati a scrivere plugin in C ++ penso.

Inoltre, è una buona cosa imparare il C ++ se ti piace occuparti del codice legacy c ++. Penso che ci sia così tanto codice che deve essere mantenuto, personalizzato e sfruttato, nel prossimo futuro.

Tuttavia, con lo stesso ragionamento potresti anche imparare e diventare un esperto, per esempio, VB6.

    
risposta data 12.07.2011 - 22:34
fonte
0

Prima di imparare qualsiasi lingua, decidi tu stesso in che direzione vuoi lavorare. Che si tratti di sviluppo web, programmazione di sistema, applicazioni aziendali, sviluppo di app per dispositivi mobili, ecc. Dopo aver risolto questo puzzle, sarai in grado di scegliere le lingue in quella categoria. E quando è finito, non arrenderti, anche se i progetti software impiegano più tempo.

    
risposta data 05.07.2012 - 21:53
fonte

Leggi altre domande sui tag