Cosa imparare dopo il C ++ standard? [chiuso]

6

Sono passato a C ++ alcuni mesi fa, imparando la sua sintassi, le caratteristiche principali dell'STL e di ciò che di solito è possibile trovare in un manuale "learn C ++".

Ora vorrei andare oltre. Quali sarebbero i tuoi consigli? Vorrei sapere cosa apprendere in seguito (non solo riguardo alla lingua, ma anche al debugging, ai framework ecc. Ecc.) So che probabilmente la risposta dipende dalle esigenze specifiche di ciascun utente, quindi ecco una mia lista:

  • Sviluppo multipiattaforma
  • Sviluppo della GUI per i miei programmi
  • Sviluppa software estensibile, consentendo l'uso di plug-in
  • Uso di biblioteche scientifiche
  • Interagisci con i database (principalmente MySQL)
  • Avere funzionalità server / client (mi piacerebbe che gli utenti dei miei programmi interagissero attraverso internet .. come potreste aver intuito che non sono un programmatore allenandomi quindi potrei aver usato i termini sbagliati ... se è così mi scuso per quello).

Naturalmente so che ci vuole tempo, ma mi piacerebbe avere una buona lista di riferimenti e risorse da avviare (libri e siti web sono ok).

Grazie mille per il tuo aiuto!

    
posta lucacerone 11.09.2012 - 09:24
fonte

2 risposte

12

Se c'è una cosa che posso raccomandare, sarebbe decisamente essere Boost C ++ Libraries . In effetti, Boost non è una singola libreria. È una collezione di loro, e sono di alta qualità, portatili, open source e ben elogiati da persone che vanno dagli studenti al comitato di standard C ++.

Poiché Boost non include GUI o qualsiasi altra cosa che dipende dalla piattaforma, c'è anche Qt, il framework dell'interfaccia utente multipiattaforma . Qt supporta quasi ogni singola piattaforma di elaborazione oggi, Linux, Windows, Mac, nonché piattaforme Symbian e Windows Phone. Dalla recente acquisizione di Qt da parte di Digia, è in programma l'introduzione di Qt anche su piattaforme iOS e Android. Quindi Qt è sicuramente quello con cui vuoi familiarizzare, quando si tratta di sviluppo dell'interfaccia utente multipiattaforma.

Un'ulteriore parola su C ++ stesso; come probabilmente saprai, C ++ 11 è l'attuale standard C ++. C ++ 11 sembra quasi che si tratti di una nuova lingua del tutto. Prendere familiarità con le nuove funzionalità richiederà del tempo, quindi vorrei anche concentrarmi sull'apprendimento di alcune delle nuove cose qua e là. Soprattutto alcune delle nuove aggiunte alle librerie standard come i puntatori intelligenti sono qualcosa a cui realmente si potrebbe abituare. Non che siano duri, per niente. Solo che sono così importanti per motivi di sicurezza.

Sebbene questo non sia esattamente quello che hai chiesto, il C ++ è un linguaggio vasto. Difficile da padroneggiare, tuttavia la sua padronanza è molto cruciale per produrre un codice efficace, sicuro, ovvio e soprattutto facile da capire . Francamente, inizierei leggendo Effective C ++ e Più efficace C ++ di Scott Meyers se non l'hai già fatto. Certo, non copre C ++ 11 (la quarta edizione di Effective C ++ lo farà, ma probabilmente nel 2014 o giù di lì), ma sono estremamente preziosi per qualsiasi C ++ rivolta programmatori. Leggili. Anche C ++ Coding Standards di Herb Sutter e Andrei Alexandrescu potrebbero tornare utili.

    
risposta data 11.09.2012 - 10:02
fonte
4

Oltre a boost e Qt (che è un buon suggerimento), potresti anche imparare un nuovo linguaggio di programmazione. Attualmente, i linguaggi multipiattaforma più popolari che corrispondono alla tua lista sono Java, Perl, Python e Ruby (sebbene i 3 ultimi non siano così supportati con strumenti sul lato dello sviluppo della GUI).

Imparare una nuova lingua ti darà anche dentro i punti di forza e di debolezza del C ++, così non diventerai un "pony one trick".

    
risposta data 11.09.2012 - 11:01
fonte

Leggi altre domande sui tag