Come devo aggiornare il mio C ++ con gli sviluppi moderni? [chiuso]


9

Come devo aggiornare un C ++ molto arrugginito, dato che sono sicuro che il linguaggio e le migliori pratiche si siano evoluti? Mi rendo conto che questo potrebbe essere vicino all'essere fuori tema, quindi vorrei chiarire alcuni dettagli. Circa 10 anni fa penso di essere stato un buon programmatore di C ++, ho divorato i libri di Scott Meyers, ho potuto risolvere gli enigmi nelle pubblicità sui filacci del dottor Dobbs. Probabilmente ero un po 'un avvocato delle lingue. Ho programmato principalmente Java, un po 'di pitone negli ultimi 10 anni, quindi le mie abilità OO sono ancora all'altezza. Ma dopo essere entrato in una società in cui il C ++ è comune, mi sono reso conto che devo ammettere che sono entrambi arrugginito, e ora ci sono funzionalità linguistiche che sono nuove o molto più comuni di quanto ricordi - cose come gli spazi dei nomi, ecc.

Mi rendo conto che leggere e scrivere codice (in particolare l'accoppiamento) è un buon modo per mettersi al passo, ma c'è qualche altra risorsa che le persone raccomanderebbero in questo per darmi un vantaggio accelerato. Libro? Pagina web? Tutorial?

Riassumere:

  • Consigli per risorse di aggiornamento specifiche per C ++?
  • Non OO / programmazione in generale.
  • Cose oltre a leggere e scrivere codice.

Risposte:


10

Se hai già "divorato i libri di Scott Meyers ", allora sei molto più avanti del ragazzo medio che ha fatto C ++ 10 anni fa (IMHO). Ottieni la terza edizione di Effective C ++ (e il libro sugli standard di codifica C ++ di Sutter / Alexandrescu) per ottenere un breve aggiornamento e, in realtà, dovresti essere pronto per partire.

Le raccomandazioni contenute in questi libri (credo originariamente nel 2005) sono valide oggi come lo sono state allora.

Oh, e installa boost se non l'hai già fatto.

Tempo fortunato per il tuo riavvio in C ++, poiché sono molto sicuro che ci saranno molte risorse e libri di tipo riavvio quest'anno e il prossimo quando lo standard C ++ 11 inizierà a stabilirsi.


Raccomandazioni eccellenti. Scott Meyers è venuto nella nostra azienda lo scorso anno e ha offerto a tutti i nostri sviluppatori un corso di aggiornamento di due giorni sulle moderne tecniche C ++. Sa come funziona il C ++ nel mondo reale e non è solo un altro accademico con teorie.
Karl Bielefeldt,

2

1) inizia con un moderno compilatore con funzionalità c ++ 11 (supponendo che il tuo lavoro lo richieda prima che poi, se non già)

2) prendi i programmi esistenti (forse i tuoi progetti per animali domestici) e aggiornali o estendili per utilizzare librerie più moderne (come librerie standard c ++ 11 o boost ).

3) leggi le ultime funzionalità di C ++. ci sono anche numerosi buoni libri. se non hai ancora letto Modern C ++ Design , lo consiglierei. è un classico per progetti avanzati che utilizzano tecniche c ++ che sono state introdotte e perfezionate durante la tua assenza.

questo è un punto di partenza.


1

Nick,

Ti suggerirei di essere coinvolto in un progetto open source. Hai visto sourceforge ? Ciò potrebbe applicarsi a qualsiasi lingua, ma il vantaggio principale qui è l'apprendimento da altri sviluppatori mentre si contribuisce a un progetto software. Puoi prendere alcuni stili interessanti e utilizzare le funzionalità del linguaggio lavorando su un progetto open source. Alcuni buoni, altri cattivi, altri .... semplicemente strano :).


4
Forse sono stato solo sfortunato, ma i progetti open source che ho visto contenevano alcuni dei codici più orribili che io abbia mai incontrato - potrebbero essere usati come esempi perfetti di come non scrivere C / C ++. Quindi, se decidi di dare un'occhiata all'open source per motivi di apprendimento, ti suggerirei di scegliere un progetto a cui partecipano attivamente molti programmatori. Tali progetti hanno molte più probabilità di avere un codice di buona qualità in essi.

1

Esegui un po 'di codice kata in c ++: hanoi tower, ring buffer e quel genere di cose. Farlo sarà molto più efficiente della semplice lettura di libri a riguardo - anche se, leggere libri ti aiuterà a imparare cose che non sapevi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.