Quindi, sto cercando di insegnare un po 'a mio cugino molto più giovane sulla programmazione. Il mio pensiero iniziale era qualcosa come Scratch o Alice , ma c'erano alcuni aspetti negativi.
Tutti sembrano essere davvero coinvolti nella programmazione dei giochi e nello sviluppo di videogiochi (perché tutti amano giocare ai videogiochi e, per quanto riguarda i videogiochi, giocare ai tuoi può essere il più gratificante) - ma né Alice né Scratch sembrano soddisfare il gioco sviluppo
Alice e Scratch sembrano troppo infantili, mentre sono sicuro che a mio cugino piacerebbe dilettarsene, penso che se ne sarebbe presto annoiato
Voglio un linguaggio che possa essere usato per sviluppare cose davvero interessanti che impressioneranno i suoi amici. Ricordo di aver scritto BASIC nel corso della giornata e di aver invitato tutti i miei amici e di mostrare la mia creazione, e mi sento come se Alice e Scratch non si appellassero allo stesso modo
Voglio una lingua che richiede a mio cugino di scrivere codice. Ora, questo non è solo perché penso che digitare il codice sia una buona preparazione per altri linguaggi di programmazione, ma è perché gli dà l'opportunità di esercitarsi effettivamente nella digitazione e forse abituarsi ad alcuni dei caratteri leggermente più esoterici sulla tastiera
Ora, ecco perché non voglio scegliere Alice o Scratch.
Inoltre, non voglio scegliere un linguaggio come C o Java, o Python o Ruby per quella materia. Mio cugino mi ha già insegnato che gli piace giocare ai videogiochi e vuole crearne uno suo e che gli piace usare il computer. Secondo me, anche un linguaggio semplice come Python o Ruby richiede semplicemente troppo tempo per creare cose interessanti. Idealmente, dovrebbe sedersi, passare circa un giorno o due (o forse anche fino a una settimana, ma si spera meno di quello) e avere un gioco bidimensionale funzionante. Non sto dicendo che non puoi farlo in Python o Ruby, ma sto solo dicendo che sarebbe difficile per un programmatore per la prima volta. Inoltre, non voglio impantanarlo con tutte le cose di informatica, poiché ciò può accadere in seguito. Voglio solo aiutarlo a creare la scintilla e poi lasciarlo andare avanti con il resto del fuoco.
Ho esaminato lingue come Lua, e mentre sembra comune nella programmazione dei giochi, non sono sicuro che sia la scelta migliore, ma se voi ragazzi la pensate diversamente, per favore fatemi sapere.
Ho anche guardato una lingua come Blitz e sembra davvero promettente (in più, l'ho provato qualche anno fa ed è stato davvero carino). Il rovescio della medaglia è che devo pagare, qualcosa contro cui sono definitivamente contrario.
Ho visto SmallBasic , che sembra promettente e continuerò a guardarlo. Ma non ho fatto molto (in effetti, sto eseguendo il programma di installazione mentre scrivo questo, quindi riferirò i miei pensieri su di esso a breve).
AGGIORNAMENTO: Ho provato SmallBasic in modo rapido e mi sembra interessante, ma sembra anche abbastanza diverso rispetto ad altre lingue: non è una cosa negativa, ma è semplicemente insolita. Tra le cose che ho visto, Blitz è ancora il mio preferito, ma mi rifiuto di andarci a causa del costo.
Ma fondamentalmente, cosa ne pensate di quello che ho detto finora e delle lingue che ho visto e conoscete altre buone alternative?
AGGIORNAMENTO: ecco cosa ho scelto di fare ...
Mi sono reso conto che mentre mi piacerebbe aiutare mio cugino, non posso stare con lui tutto il tempo e non posso aiutarlo ogni volta che ha bisogno di aiuto. Quindi, volevo scegliere qualcosa che avesse una buona documentazione, una buona comunità e un buon libro che potesse seguire.
Comunque, ho scelto Python e Pygame. Python è una lingua con cui ho abbastanza familiarità, inoltre so che esiste una comunità abbastanza buona (e piuttosto grande) attorno a Python. Inoltre, so che la documentazione di Python è abbastanza completa e facile da navigare. Pygame ha anche un'ottima documentazione e una serie di tutorial. Lo sto anche facendo usare / seguire Invent Your Own Computer Games con Python , che sembra un ottimo libro, gli ho comprato una copia cartacea come regalo di Natale, in più so che il suo monitor non è enorme, e lo farebbe essere scomodo scambiare costantemente tra il testo e l'editor.
Penso che dovrebbe andare bene!
EDIT: Non voglio implicare che la mia scelta sia definitiva o che sia corretta. Penso solo che sia la soluzione migliore per questa situazione. Penso che ogni persona che cerca di insegnare a una persona più giovane dovrebbe sfogliare la selezione e trovare la soluzione migliore per la singola persona, considerando cose come l'età, il livello di abilità e l'interesse.
I want a language that can be used to develop really cool stuff that will impress his friends.
Questa è ancora la mia motivazione principale per la programmazione, dopo 25 anni ...