È fantastico quando puoi avere un'esperienza pratica che consente l'esplorazione interattiva e la sperimentazione. Ma non è affatto una parte essenziale dell'apprendimento di una tecnica o di una tecnologia - nell'informatica o nella maggior parte degli altri campi dello sforzo umano.
Mentre non sarai in grado di padroneggiare abilità che richiedono cinestetica (es. musica, danza, kung fu) senza farle, la programmazione è tanto per immaginare come è organizzato lo stato di una macchina e come può essere guidato quanto per digitare comandi o eseguire codice. L'attività ha bisogno sia del tempo di pensare che del tempo di contatto, anche se l'attrezzatura fisica è a portata di mano e disponibile.
Ci sono molti esempi storici di studenti che imparano separatamente dal computer. Mentre eravamo abituati ad avere i nostri computer personali, immediatamente disponibili negli ultimi 35 anni, nella prima metà del settore IT, il tempo della macchina era molto scarso e l'attrezzatura altamente condivisa. Gli studenti hanno programmato offline in modo naturale, quindi hanno inviato le loro corse al datacenter in modo molto indiretto. Questo flusso di lavoro continua ad essere comune fino ad oggi con dispositivi incorporati e con nuovi sistemi informatici, attrezzature sufficienti per le quali non è semplicemente disponibile per ogni sviluppatore di possedere e interagire costantemente con.
Quindi la tua situazione potrebbe non essere l'ideale, ma è difficilmente intrattabile o senza precedenti. Quindi allacciati e impara la lingua leggendo a riguardo. Immagina i programmi che ti piacerebbe eseguire e scriverli. Poi, quando avrai tempo per le mani, sarai pronto a provare le tue idee.
Btw, questa non è solo una teoria. Ho imparato un certo numero di lingue (tra cui Ada, Algol, APL, Fortran, Icon, Modula-2, assemblatore MOT68K, PL / I, Self, Smalltalk e SNOBOL) per le quali non avevo un posto dove eseguire il codice il tempo. Mi sono sentito meglio in seguito quando ho avuto più accesso, ma la possibilità di eseguire il tuo codice non è chiaramente un requisito per imparare almeno un ampio intervallo di un linguaggio di programmazione.