Altri hanno coperto molto, ma voglio concentrarmi su questa parte:
Mi sento in colpa per non avere un progetto hobby, ma tutto quello che posso pensare di fare è già stato fatto. Quindi sono un po 'in due menti su questo, iniziare qualcosa che è già stato fatto o lasciarlo fino a quando non trovo qualcosa di originale?
Mi sembra che questo non raggiunga il punto di un "progetto hobby". È certamente vero che molti progetti di hobby sono creati per gli altri, o almeno pensando al consumo pubblico: questi progetti richiedono una certa quantità di lavoro costante nel tempo e possono essere scoraggianti per questo motivo. Dopo tutto, chi vuole fare ancora un altro qualcosa di poco supportato e di bassa qualità che alla fine viene abbandonato dopo un paio di mesi?
Ma non c'è motivo per cui il tuo progetto di hobby debba fare qualcosa di utile per chiunque. Ad esempio, di recente ho iniziato a studiare Haskell , semplicemente perché è così drasticamente diverso dalle lingue imperative a cui sono abituato, ed è davvero facile da configurare. Ho anche appena iniziato ad imparare il linguaggio assembly-ish di Redcode , usato nel gioco di programmazione Core War , sempre per curiosità.
Questo, a sua volta, mi ha portato a cercare di creare un plug- in Notepad ++ per fornire migliori funzionalità di evidenziazione della sintassi per Redcode, il che mi ha portato a considerare di imparare un po 'di C ++ . Basandomi sulla mia familiarità comparata con .NET, sto riflettendo su come farmi installare con Visual C ++ .
E il fatto è che nulla di tutto questo "conta", almeno non come progetto. Diavolo, non sono sicuro che potresti anche definirlo un progetto in sé , per quanto un sacco di cose con cui sto scherzando perché ha attirato la mia attenzione. Voglio dire, avrai bisogno di un po 'di tempo e organizzazione per assicurarti di trarne qualcosa, ma a nessuno importa se smetterò di avere tempo per Haskell una volta che la scuola avrà inizio.
E a nessuno importa se si scopre che lo sviluppo di plug-in per Notepad ++ è più difficile di quanto mi aspettassi, e mi arrendo - in effetti, ho esaminato Perl prima di tuffarmi in Redcode e l'ho abbandonato abbastanza rapidamente perché avevo difficoltà a ottenere il ambiente impostato correttamente. Ciò ha mostrato una mancanza di persistenza? Si. Ma a nessuno importa, perché è il mio hobby , e questo significa che posso giocare con qualunque cosa voglia.
Quindi non sentirti come se dovessi scegliere un progetto di hobby che ti insegnerà le abilità negoziabili - questo sta solo trasformando il tuo tempo libero in più tempo di lavoro non retribuito. Le competenze vengono come risultato di ciò che si fa, ma non sono il motivo . Comprendo meglio la programmazione dichiarativa ora, come funzionano i linguaggi assembly e come i programmi usano le DLL. E ho imparato un sacco di cose sul prompt dei comandi di Windows e altre cose che non avresti mai pensato fossero collegate a tutto ciò che ho menzionato finora.
Il punto è trovare qualcosa di completamente nuovo e vedere se è interessante come sembra. Se lo è, ottimo, e se non lo è, vai avanti. Hai mai avuto la minima curiosità di compilatori o interpreti? Dai un'occhiata a LOLCODE . Se ti rende felice come me, allora è il momento di iniziare a conoscere i compilatori . Ehi, forse dovresti tornare indietro e pensare di nuovo all'evidenziazione della sintassi. In effetti, questo sarà probabilmente il prossimo progetto che avrò.
Se questa non è la tua passione, prova qualcosa di livello inferiore a quello a cui sei abituato. O di livello superiore. Non importa L'unica cosa che non importa è che quando si guardi, pensi "Fun!"