Ho una laurea in CS e ho imparato a conoscere Java e OCaml. Java era usato come introduzione e nella maggior parte delle CS classificate, tranne quelle teoriche. OCaml era parte dell'apprendimento di un diverso paradigma di programmazione. Dal momento che OCaml non era una voce di successo nel mio CV, sono diventato un programmatore Java migliore. Inoltre, la maggior parte dei lavori sono per programmatori Java. Più tardi ho imparato Golang.
Conosco le semplificazioni fornite da Java, ovvero la garbage collection. So anche che C non fa la garbage collection e devi sapere quando allocare e quando liberare la memoria. Ma durante la mia educazione non mi è mai stato insegnato a pensare in questo modo. Non abbiamo mai imparato algoritmi sotto l'aspetto della memoria. Mi sento come se mi fossi perso qualcosa.
Quindi la mia domanda è: quanto devo scavare in profondità, prima di poter iniziare a scrivere codice C passabile, senza che io abbia messo ostacoli sulla mia strada, a causa del mio codice crufty e del profondo fraintendimento di questioni rilevanti?