Ogni volta che imparo su un linguaggio di alto livello che voglio imparare, una parte di me dice: "Probabilmente dovrei imparare il linguaggio di livello inferiore su cui è costruito per padroneggiarlo veramente". Ad esempio,
Ruby => C
Closure => Java
Elixir => Erlang
La mia esperienza con Ruby e C mi fa pensare di averlo fatto all'indietro. Ho imparato prima Ruby e penso che sia stata una buona introduzione a molti concetti. Forniva un contesto generale che rendeva l'apprendimento C molto più semplice di quanto sarebbe stato altrimenti. Certo, Ruby è stata anche la prima lingua che ho appreso in modo approfondito, quindi alcuni potrebbero essere studiati per familiarizzare con i concetti di calcolo in generale, piuttosto che con qualsiasi esperienza specifica della lingua.
Penso che sia bello sapere cosa succede sotto le copertine, anche se si tratta di un livello in cui non lavori regolarmente. Ma è generalmente meglio adottare un approccio dall'alto verso il basso o dal basso verso l'alto quando si imparano nuovi lingue?