Quanto tempo serve per diventare sviluppatore C++?
Più che per la maggior parte dei linguaggi: da nove a diciotto mesi a circa un'ora al giorno è un intervallo realistico per passare da zero a un colloquio C++ da junior. Il corso C++ da solo richiede circa due mesi a quel ritmo, e la sua sezione sulla programmazione a oggetti, con gestione della memoria, template e move semantics, è la parte da fare con calma; riga di comando, Git e SQL aggiungono circa un mese; strutture dati e ordinamenti altri due o tre. I ruoli specializzati aggiungono poi il loro dominio: un motore di gioco, uno stack di trading, un microcontrollore.
Il C++ è un buon primo linguaggio per un software engineer?
È un linguaggio impegnativo. Impari come funzionano davvero memoria, tipi e compilazione, il che rende più facile ogni linguaggio successivo, e lo paghi con progressi più lenti ed errori più duri all'inizio. Se sai già che vuoi lavorare su videogiochi, sistemi o embedded, iniziare dal C++ ha senso; se hai dubbi, molti imparano prima Python e arrivano al C++ dopo, e la pagina del percorso da software engineer è questa stessa roadmap in Python.
Cosa deve sapere uno sviluppatore C++ oltre al C++?
La riga di comando, Git e SQL, che questa roadmap copre, poi la toolchain attorno al linguaggio: un sistema di build, di solito CMake; un debugger come GDB o LLDB; i sanitizer che intercettano gli errori di memoria in fase di esecuzione; e un gestore di pacchetti come vcpkg o Conan. Dopo viene il dominio a cui punti, che sia un motore di gioco, gli interni di un sistema operativo, il networking o l'hardware embedded.
C++ o Rust per una carriera nella programmazione di sistema?
C++ per le dimensioni del mercato del lavoro attuale, Rust per una quota crescente di nuovi progetti. Motori di gioco, sistemi di trading, browser e compilatori sono per lo più codebase C++ di lunga durata, mentre Rust guadagna terreno nella nuova infrastruttura e nel codice sensibile per la sicurezza, perché il suo compilatore esclude intere classi di bug di memoria. Imparare prima il C++ rende familiari le regole di Rust, e questa roadmap esiste anche in Rust.
Quale corso di questa roadmap non è insegnato in C++?
Uno: il clean code per ora è insegnato solo in Python, per questo è elencato dopo i passi invece che nel passo sette. Il suo argomento, nomi, funzioni piccole e responsabilità chiare, non dipende dal linguaggio, e le C++ Core Guidelines applicano lo stesso ragionamento al C++ una volta che l'hai finito. Ogni passo, compresi il progetto a oggetti e i problemi di programmazione, è in C++.
Questa roadmap C++ è gratuita?
Sì. Ogni corso è gratuito: le lezioni, il compilatore C++ e il terminale Linux nel browser, le sfide valutate dai test, i suggerimenti di Bugsy e i certificati. Pro rimuove il limite giornaliero di energia e aggiunge aiuto AI illimitato, e niente in questa roadmap lo richiede.