Perché AP Computer Science A usa Java?
Quali sono i motivi per cui AP Computer Science A utilizza Java come linguaggio di programmazione?
Sebbene Java sia un ottimo linguaggio in generale, ha un'elevata verbosità, che è abbastanza importante per un esame a tempo.
Che ne dici di altri linguaggi di programmazione, forse qualcosa di più moderno, come Rust, Go o Dart? O anche C ++?
Risposte
Soprattutto dal momento che hanno recentemente rimosso interfacce e classi astratte, direi che non ci sono ragioni filosofiche particolarmente importanti per l' utilizzo di Java. A questo punto, è stata una decisione storica.
L'esame è iniziato in Pascal e quando hanno cercato un modo per passare all'Orientamento agli oggetti, sono passati (nel 1996) al C ++. Questo era controverso all'epoca , poiché Java era molto moderno ed era ritenuto da molti un linguaggio concettualmente migliore, in particolare per gli studenti.
Sono passati da C ++ a Java nell'anno scolastico 2003-2004 principalmente per due motivi:
- Java era considerato un linguaggio orientato agli oggetti migliore, in particolare per quanto riguarda l'ereditarietà, e il compilatore fa un lavoro molto migliore nel controllare per assicurarsi che i principianti non stiano facendo cose stupide che sicuramente non dovrebbero fare.
- I programmi universitari in tutto il paese stavano prendendo Java, quindi rifletteva meglio la realtà dei corsi introduttivi per i quali gli studenti avrebbero ottenuto credito.
Puoi leggere la giustificazione del passaggio a Java per gentile concessione della sempre magica macchina del ritorno .
Date le recenti modifiche al test AP, non sembra che ci sia una ragione pedagogica particolarmente valida per restare con Java a questo punto. In effetti, l'ultima iterazione del test ignora sostanzialmente le caratteristiche più importanti di OO, enfatizzando invece un gran numero di concetti imperativi. Tuttavia, è improbabile che il linguaggio di test cambi presto, poiché Java è ancora la lingua dominante nelle università per l'insegnamento di informatica introduttiva e queste sono le istituzioni che devono accettare di fornire crediti se l'esame AP deve continuare a fornire valore.
Ci vuole molto tempo e molta infrastruttura per configurare una nuova lingua in AP CS. Al momento della sua creazione, Java era molto più semplice di oggi e aveva molte caratteristiche desiderabili, incluso un livello grafico piuttosto buono. Quindi, sono state fatte proposte e molti sforzi sono stati dedicati all'infrastruttura. Questo è difficile da abbandonare.
Ricominciando da zero, potrei scegliere Python, me stesso, ma altri potrebbero non essere d'accordo.
Ma la scelta di una lingua professionale per un corso iniziale comporta molti problemi. Ho scoperto, quando ero un serio programmatore C ++, che potevo scrivere cose bellissime, ma il linguaggio mi ha combattuto in ogni centimetro. Non è qualcosa che vorrei mettere su un novizio appena agli inizi.
Ma un corso AP è molto più di una semplice lingua e di pochi esercizi.