Почему AP Computer Science A использует Java?
По каким причинам AP Computer Science A использует Java в качестве языка программирования?
Хотя в целом Java - отличный язык, он отличается высокой степенью детализации, что очень важно для срочного экзамена.
Как насчет других языков программирования, возможно, чего-нибудь более современного, например, Rust, Go или Dart? Или даже C ++?
Ответы
В частности, поскольку они недавно удалили интерфейсы и абстрактные классы, я бы сказал, что нет особо важных философских причин, по которым они используют Java. На тот момент это было историческое решение.
Экзамен начался на Паскале, и когда они искали способ перейти к объектной ориентации, они перешли (в 1996 году) на C ++. В то время это вызывало споры , так как Java была очень современной и многими считалась концептуально лучшим языком, особенно для студентов.
Они перешли с C ++ на Java в 2003-2004 учебном году в основном по двум причинам:
- Java считался лучшим объектно-ориентированным языком, особенно в отношении наследования, и компилятор гораздо лучше справляется с проверкой, чтобы убедиться, что новички не делают глупостей, которых им определенно не следует делать.
- В программах колледжей по всей стране Java использовалась, поэтому она лучше отражала реалии вводных курсов, за которые студенты получали кредит.
Вы можете прочитать оправдание перехода на Java благодаря вечно волшебной машине обратного пути .
Учитывая недавние изменения в AP Test, не похоже, что есть какая-то веская педагогическая причина придерживаться Java на данном этапе. Фактически, последняя итерация теста в основном игнорирует наиболее важные особенности объектно-ориентированного программирования, вместо этого подчеркивая большое количество императивных концепций. Однако язык тестирования вряд ли изменится в ближайшее время, поскольку Java по-прежнему является доминирующим языком в университетах для преподавания вводных компьютерных наук , и это учреждения, которые должны согласиться предоставить кредит, чтобы экзамен AP продолжал приносить пользу.
Для настройки нового языка в AP CS требуется много времени и много инфраструктуры. Во время своего создания Java была намного проще, чем сегодня, и имела множество желаемых характеристик, включая довольно хороший графический слой. Итак, были внесены предложения и вложено много усилий в инфраструктуру. От этого трудно отказаться.
Начиная с чистого листа, я мог бы выбрать Python сам, но другие могут не согласиться.
Но выбор профессионального языка для начального курса сопряжен с множеством проблем. Когда я был серьезным программистом на C ++, я обнаружил, что могу писать прекрасные вещи, но язык боролся со мной на каждом шагу. Это не то, что я хотел бы предложить новичку, только начинающему.
Но курс AP - это намного больше, чем просто язык и несколько упражнений.