Dobbiamo pensare a ciò di cui un principiante ha veramente bisogno.
I principianti hanno bisogno di un linguaggio e di un ambiente che tolga la complessità.
- Compilatori, header, file e tutta quella merda aggiungono uno strato di confusione che il principiante non ha bisogno di capire. L'ideale sarebbe digitare il codice e vedere se funziona.
- Hanno bisogno di una sintassi semplice. Dovrebbe rendere le basi (scrivere cicli, memorizzare variabili, scrivere funzioni ecc.) tutto molto pulito.
- Beneficiano di un aiuto che individua immediatamente gli errori.
- E idealmente, sarebbero in grado di vedere immediatamente il risultato del loro lavoro. L'immediatezza è essenziale per l'apprendimento, perché permette di correggere rapidamente la rotta.
E gli studenti vogliono anche sapere che quando gli ingranaggi della formazione si staccano, lo stesso identico linguaggio può essere usato per problemi reali. Quello che non vogliono sentire è: "Ok, puoi dimenticare SimpOl, perché ora è il momento di passare ad un vero e proprio linguaggio adulto!".
In passato, BASIC, Prolog e altri avevano un ambiente live che permetteva questo tipo di attività.
Ho appena usato Swift nella funzione playground. Penso che Swift soddisfi questi requisiti molto bene.
Si può scrivere sullo schermo e vedere l'output sulla destra. Si ottiene un feedback immediato, e si può fare tutto questo senza impostare file o preoccuparsi delle opzioni del compilatore.
Ho imparato in BASIC, e il Playground è molto simile. I principianti possono pasticciare qui in modo sicuro - poi migrare il codice nell'IDE. In questa schermata, ho fatto un tentativo con il primo problema del Progetto Eulero. (e ho ottenuto la risposta giusta!)
Nota che puoi fare queste cose senza usare metodi OO. O aver bisogno di afferrare i design pattern essenziali. Basta digitare il codice. Non c'è nemmeno bisogno di premere "compile" o "run".
So ... I'm going to say. YES.
I think there are much worse environments to learn programming than Swift Playgrounds.