EDIT: Спочатку це питання, здається, розбиває Java, і, мабуть, наразі це трохи. Однак, більш важливим питанням, який я намагаюся зробити, є те, чому будь-яка одна мова обрана як єдиний кінець, і все це рішення всіх проблем. Ява буває такою, якою я користувався, тож я тут мусив бити, але я не навмисно вириваю Яву нову :)
Мені не подобається Java у більшості академічних налаштувань. Я не кажу, що мова сама по собі погана - вона має кілька надзвичайно бажаних аспектів, головне - можливість працювати без перекомпіляції на більшості будь-якої платформи. Нічого поганого у використанні мови для Вашого наступного додатка ^ TM. (Я б не особисто працював, але це більше, тому що у мене менше досвіду з цим, а не в тому, що дизайн поганий)
Я думаю, що марно, що курси CS високого рівня викладаються з використанням Java як мови. Занадто багато моїх однокурсників не можуть програти ні на що, бо вони не знають, як працювати в не зібраному сміття світі. Вони принципово не розуміють машин, для яких вони програмують. Коли хтось може працювати поза зібраним сміттям, він може працювати всередині одного, а не навпаки. GC - це інструмент, а не милиця. Але те, як воно використовується для навчання студентів з інформатики, - це як милиця.
Інформатика не повинна викладати весь набір курсів, пристосованих до однієї мови. Студенти залишають думку про те, що все хороший дизайн - це ідіоматичний дизайн Java, і що об'єктно-орієнтований дизайн - ЄДИН ПРАВИЛЬНИЙ ШЛЯХ, ЩО МОЖЕ ЗРОБИТИ ТІЛЬКИХ РЕЧІВ. Інші мови, принаймні одна з яких не є мовою, зібраною зі сміттям, повинна використовуватися у навчанні, щоб випускник краще розумів машини.
Це бентежить, що хтось із PHD в CS з шановної установи не може запрограмувати вихід з паперового пакета.
Що ще гірше - це те, що я розмовляю з тими професорами, які насправді розуміють, як діють справи, вони поділяються таким почуттям, що ми робимо недобре служіння нашим студентам, роблячи все на Java. (Зауважте, що вищезазначене було б таким же, якби я замінив його будь-якою іншою мовою, проблема, як правило, використання однієї мови - це проблема, а не сама Java)
В цілому, я відчуваю, що більше не можу поважати будь-який ступінь - коли я не бачу тих, хто навколо мене, здатних запрограмувати вихід із проблем із фіззбузом.
Чому / як це стало таким?