Pourquoi AP Computer Science A utilise Java?

Sep 23 2020

Quelles sont les raisons pour lesquelles AP Computer Science A utilise Java comme langage de programmation?

Bien que Java soit un excellent langage en général, il a une verbosité élevée, ce qui est assez important pour un examen chronométré.

Que diriez-vous d'autres langages de programmation, peut-être quelque chose de plus moderne, comme Rust, Go ou Dart? Ou même C ++?

Réponses

5 BenI. Sep 23 2020 at 08:26

D'autant qu'ils ont récemment supprimé des interfaces et des classes abstraites, je dirais qu'il n'y a pas de raisons philosophiques particulièrement importantes pour lesquelles ils utilisent Java. À ce stade, c'était une décision historique.

L'examen a commencé en Pascal, et lorsqu'ils ont cherché un moyen de passer à l'orientation objet, ils sont passés (en 1996) au C ++. Cela était controversé à l'époque , car Java était très moderne et était considéré par beaucoup comme un langage conceptuellement meilleur, en particulier pour les étudiants.

Ils sont passés de C ++ à Java au cours de l'année scolaire 2003-2004 en grande partie pour deux raisons:

  1. Java était considéré comme un meilleur langage orienté objet, en particulier en ce qui concerne l'héritage, et le compilateur fait un bien meilleur travail pour vérifier que les débutants ne font pas des choses idiotes qu'ils ne devraient certainement pas faire.
  2. Les programmes universitaires à travers le pays prenaient Java, ce qui reflétait mieux la réalité des cours d'introduction pour lesquels les étudiants obtiendraient des crédits.

Vous pouvez lire la justification du passage à Java grâce à la machine de retour toujours magique .

Compte tenu des récents changements apportés au test AP, il ne semble pas y avoir de bonne raison pédagogique particulière de s'en tenir à Java à ce stade. En fait, la dernière itération du test ignore fondamentalement les caractéristiques les plus importantes d'OO, mettant plutôt l'accent sur un grand nombre de concepts impératifs. Cependant, il est peu probable que la langue de test change de sitôt, car Java est toujours la langue dominante dans les universités pour l'enseignement d'introduction à l'informatique , et ce sont les institutions qui doivent accepter de fournir des crédits si l'examen AP doit continuer à fournir de la valeur.

3 Buffy Sep 23 2020 at 05:03

Il faut beaucoup de temps et beaucoup d'infrastructure pour mettre en place un nouveau langage dans AP CS. Au moment de sa création, Java était beaucoup plus simple qu'aujourd'hui et avait beaucoup de caractéristiques souhaitables, y compris une assez bonne couche graphique. Ainsi, des propositions ont été faites et beaucoup d'efforts ont été consacrés à l'infrastructure. C'est difficile à abandonner.

En recommençant avec une ardoise vierge, je pourrais choisir Python moi-même, mais d'autres pourraient ne pas être d'accord.

Mais le choix d'une langue professionnelle pour un cours débutant pose de nombreux problèmes. J'ai découvert, à l'époque où j'étais un programmeur C ++ sérieux, que je pouvais écrire de belles choses, mais le langage m'a combattu à chaque instant. Ce n'est pas quelque chose que j'aimerais mettre sur un novice débutant.

Mais un cours AP est bien plus qu'une simple langue et quelques exercices.