Dlaczego AP Computer Science A używa języka Java?
Jakie są powody, dla których AP Computer Science A używa języka Java jako języka programowania?
Chociaż Java jest ogólnie świetnym językiem, ma wysoką szczegółowość, co jest bardzo ważne w przypadku egzaminów z określonym czasem.
A co z innymi językami programowania, być może czymś nowocześniejszym, jak Rust, Go lub Dart? A może nawet C ++?
Odpowiedzi
Zwłaszcza, że niedawno usunęli interfejsy i klasy abstrakcyjne, powiedziałbym, że nie ma szczególnie ważnych powodów filozoficznych , dla których używają Javy. W tym momencie była to decyzja historyczna.
Egzamin rozpoczął się w Pascalu, a kiedy szukali sposobu na przejście w kierunku Object Orientation, przerzucili się (w 1996) na C ++. W tamtym czasie było to kontrowersyjne , ponieważ Java była bardzo nowoczesna i wielu uważało ją za lepszy koncepcyjnie język, szczególnie dla studentów.
Przeszli z C ++ na Javę w roku szkolnym 2003-2004 głównie z dwóch powodów:
- Uważano, że Java jest lepszym językiem zorientowanym obiektowo, szczególnie jeśli chodzi o dziedziczenie, a kompilator wykonuje znacznie lepszą robotę, sprawdzając, czy początkujący nie robią głupich rzeczy, których zdecydowanie nie powinni robić.
- Programy uniwersyteckie w całym kraju zaczęły zajmować się Javą, więc lepiej odzwierciedlała rzeczywistość kursów wprowadzających, za które studenci byliby zaliczani.
Możesz przeczytać uzasadnienie przejścia na Javę dzięki uprzejmości zawsze magicznej maszyny powrotnej .
Biorąc pod uwagę ostatnie zmiany w teście AP, nie wydaje się, aby był jakikolwiek szczególny dobry powód pedagogiczny, aby pozostać przy Javie na tym etapie. W rzeczywistości najnowsza iteracja testu zasadniczo ignoruje najważniejsze cechy obiektu obiektowego, zamiast tego kładzie nacisk na dużą liczbę nadrzędnych koncepcji. Jednak język testowy prawdopodobnie nie zmieni się w najbliższym czasie, ponieważ Java jest nadal dominującym językiem na uniwersytetach do nauczania informatyki wstępnej i to są instytucje, które muszą zgodzić się na zaliczenie, jeśli egzamin AP ma nadal przynosić wartość.
Konfiguracja nowego języka w AP CS zajmuje dużo czasu i wymaga dużej infrastruktury. W momencie powstania Java była znacznie prostsza niż obecnie i miała wiele pożądanych cech, w tym całkiem niezłą warstwę graficzną. Złożono więc propozycje i włożono wiele wysiłku w infrastrukturę. Trudno to porzucić.
Zaczynając od czystej karty, sam mógłbym wybrać Pythona, ale inni mogą się nie zgodzić.
Ale wybór profesjonalnego języka na kurs początkowy wiąże się z wieloma problemami. Kiedy byłem poważnym programistą C ++, odkryłem, że potrafię pisać piękne rzeczy, ale język walczył ze mną na każdym kroku. To nie jest coś, co chciałbym postawić nowicjuszowi, który dopiero zaczyna.
Ale kurs AP to o wiele więcej niż tylko język i kilka ćwiczeń.