¿Por qué AP Computer Science A usa Java?
¿Cuáles son las razones por las que AP Computer Science A está utilizando Java como lenguaje de programación?
Si bien Java es un gran lenguaje en general, tiene una gran verbosidad, lo cual es bastante importante para un examen cronometrado.
¿Qué hay de otros lenguajes de programación, quizás algo más moderno, como Rust, Go o Dart? ¿O incluso C ++?
Respuestas
Particularmente dado que recientemente han eliminado interfaces y clases abstractas, diría que no hay razones filosóficas particularmente importantes por las que estén usando Java. En este punto, fue una decisión histórica.
El examen comenzó en Pascal, y cuando buscaron una forma de avanzar hacia la Orientación a objetos, cambiaron (en 1996) a C ++. Esto fue controvertido en ese momento , ya que Java era muy moderno y muchos pensaban que era un lenguaje conceptualmente mejor, especialmente para los estudiantes.
Cambiaron de C ++ a Java en el año escolar 2003-2004 principalmente por dos razones:
- Se consideró que Java era un mejor lenguaje orientado a objetos, particularmente en lo que respecta a la herencia, y el compilador hace un mejor trabajo al verificar para asegurarse de que los principiantes no estén haciendo cosas tontas que definitivamente no deberían estar haciendo.
- Los programas universitarios de todo el país estaban adoptando Java, por lo que reflejaba mejor la realidad de los cursos introductorios por los que los estudiantes obtendrían crédito.
Puede leer la justificación del cambio a Java por cortesía de la siempre mágica máquina wayback .
Dados los cambios recientes en la prueba AP, no parece que haya ninguna buena razón pedagógica en particular para seguir con Java en este momento. De hecho, la última versión de la prueba básicamente ignora las características más importantes de OO, en lugar de enfatizar una gran cantidad de conceptos imperativos. Sin embargo, es poco probable que el lenguaje de las pruebas cambie pronto, ya que Java sigue siendo el idioma dominante en las universidades para la enseñanza de la informática introductoria , y estas son las instituciones que deben aceptar otorgar crédito si el examen AP va a seguir proporcionando valor.
Se necesita mucho tiempo y mucha infraestructura para configurar un nuevo idioma en AP CS. En el momento de su creación, Java era mucho más simple que hoy y tenía muchas características deseables, incluida una capa gráfica bastante buena. Entonces, se hicieron propuestas y se puso mucho esfuerzo en la infraestructura. Eso es difícil de abandonar.
Comenzando con una pizarra limpia, podría elegir Python, pero otros podrían no estar de acuerdo.
Pero elegir un idioma profesional para un curso inicial conlleva muchos problemas. Descubrí, cuando era un programador serio de C ++, que podía escribir cosas hermosas, pero el lenguaje me peleó en cada centímetro del camino. Eso no es algo que me gustaría ponerle a un novato que recién comienza.
Pero un curso AP es mucho más que un idioma y unos pocos ejercicios.