Вот такой FAQ составил наш преподаватель Владимир Владимирович Ильин по результатам общения со школьными учителями информатики.
В.В.Ильин — автор нашего курса «Алгоритмы. Олимпиадное программирование», который опубликован в открытом доступе на известном сайте дистанционной подготовки по информатике — informatics.msk.ru.
Q: А почему Java? Многие преподают Алгоритмы на Паскале.
А: На Паскале действительно много курсов по алгоритмам, но он совсем устарел.
В нем нет многих возможностей, которые, правда, не нужны при знакомстве с алгоритмическим программировании, но потом при повышении уровня — необходимы.
Q: А почему Java? Сейчас в моде Python.
А: Как и с любым нововведением, сложно оценить последствия. Сможем ли мы потом объяснить, что отступы компиляторам других языков ничего не сообщают? Объяснить отсутствие минус первого элемента в массиве? Где же все эти волшебные функции Python в других языках? К хорошему очень быстро и безотчетно привыкают. Вполне возможно, Python после Java — лучше чем наоборот.
Q: А почему Java? Си — быстрее.
А: Ненамного. А так, если посмотреть, Java в алгоритмах — это тот же Си. Только с защитой от многих ошибок на этапе компиляции типа if (x=0).
Q: А почему Java? Всякие непонятные классы. ООП? Сразу??
А: А почему нет? В детали можно не углубляться.
Объяснение
"
Строка
Scanner in = new Scanner (System.in);
создает инструмент ввода с клавиатуры, а пользоваться
им можно при помощи команды nextInt():
int x = in.nextInt();
"
Вполне строго и, вместе, с тем понятно.
Q: А почему Java? Eclipse — это же больше сотни мегабайт, а еще Java ставить надо перед этим.
А: Другие современные среды «весят» не меньше. Все ставится в пару кликов.
Q: A почему Java? Нужно же создавать проект, потом класс...
А: Тоже пара кликов. С учетом того, что на олимпиаде все можно писать в одном классе, или хотя бы в одном проекте, время на это практически не тратится.
Q: А почему Java? Придет ребенок на олимпиаду, а там Java не установлена, или компьютер старый — тормозит.
А: Говорите заранее и проверяйте — организаторы обязательно должны обеспечить!
Q: А почему Java? Очень много «лишнего» кода — программа громоздкая.
А: Не меньше чем в Паскале с его begin-ами и еnd-ами. «Лишних» по хорошему — строчек десять, половину из которых можно поручить генератору Eclipse.
Q: И все-таки, ну почему Java???
A: Java используется многими олимпиадниками (например, http://habrahabr.ru/company/xakep/blog/235629), поддержка Java реализована на всех соревнованиях по алгоритмическому (спортивному) программированию. То есть Java является фактически — общепризнанным олимпиадным стандартом.
Вместе с тем, Java — универсальный язык программирования. На котором можно с одинаковой легкостью создавать графические приложения, разрабатывать сетевые программы и делать многое другое, в том числе решать задачи по алгоритмическому программированию на олимпиадах.
Наконец, по данным опроса 300 разработчиков, опубликованного в журнале Superjob за сентябрь 2015г., через 5 лет самым популярным языком программирования будет Java (так считает 25% опрошенных программистов).
Публикуем с любезного разрешения Superjob.
В.В.Ильин — автор нашего курса «Алгоритмы. Олимпиадное программирование», который опубликован в открытом доступе на известном сайте дистанционной подготовки по информатике — informatics.msk.ru.
Q: А почему Java? Многие преподают Алгоритмы на Паскале.
А: На Паскале действительно много курсов по алгоритмам, но он совсем устарел.
В нем нет многих возможностей, которые, правда, не нужны при знакомстве с алгоритмическим программировании, но потом при повышении уровня — необходимы.
Q: А почему Java? Сейчас в моде Python.
А: Как и с любым нововведением, сложно оценить последствия. Сможем ли мы потом объяснить, что отступы компиляторам других языков ничего не сообщают? Объяснить отсутствие минус первого элемента в массиве? Где же все эти волшебные функции Python в других языках? К хорошему очень быстро и безотчетно привыкают. Вполне возможно, Python после Java — лучше чем наоборот.
Q: А почему Java? Си — быстрее.
А: Ненамного. А так, если посмотреть, Java в алгоритмах — это тот же Си. Только с защитой от многих ошибок на этапе компиляции типа if (x=0).
Q: А почему Java? Всякие непонятные классы. ООП? Сразу??
А: А почему нет? В детали можно не углубляться.
Объяснение
"
Строка
Scanner in = new Scanner (System.in);
создает инструмент ввода с клавиатуры, а пользоваться
им можно при помощи команды nextInt():
int x = in.nextInt();
"
Вполне строго и, вместе, с тем понятно.
Q: А почему Java? Eclipse — это же больше сотни мегабайт, а еще Java ставить надо перед этим.
А: Другие современные среды «весят» не меньше. Все ставится в пару кликов.
Q: A почему Java? Нужно же создавать проект, потом класс...
А: Тоже пара кликов. С учетом того, что на олимпиаде все можно писать в одном классе, или хотя бы в одном проекте, время на это практически не тратится.
Q: А почему Java? Придет ребенок на олимпиаду, а там Java не установлена, или компьютер старый — тормозит.
А: Говорите заранее и проверяйте — организаторы обязательно должны обеспечить!
Q: А почему Java? Очень много «лишнего» кода — программа громоздкая.
А: Не меньше чем в Паскале с его begin-ами и еnd-ами. «Лишних» по хорошему — строчек десять, половину из которых можно поручить генератору Eclipse.
Q: И все-таки, ну почему Java???
A: Java используется многими олимпиадниками (например, http://habrahabr.ru/company/xakep/blog/235629), поддержка Java реализована на всех соревнованиях по алгоритмическому (спортивному) программированию. То есть Java является фактически — общепризнанным олимпиадным стандартом.
Вместе с тем, Java — универсальный язык программирования. На котором можно с одинаковой легкостью создавать графические приложения, разрабатывать сетевые программы и делать многое другое, в том числе решать задачи по алгоритмическому программированию на олимпиадах.
Наконец, по данным опроса 300 разработчиков, опубликованного в журнале Superjob за сентябрь 2015г., через 5 лет самым популярным языком программирования будет Java (так считает 25% опрошенных программистов).
Публикуем с любезного разрешения Superjob.
Zagrebelion
Как мне кажется, если бы не андроид, то на вашей диаграмме джава была бы примерно ниже половины.
StasTs
С другой стороны, если бы Java была бы так плоха, то наверно в Android'е был бы какой-нибудь другой язык.
Zagrebelion
Гугл давно любит джаву. Если мне память не изменяет, то Google Web Toolkit был первой возможностью скомпилировать код на промышленном языке в javascript, уже потом появились typescript, coffescript, да и javascript оброс мясом.
А для андроида альтернативы джавы оказались хуже, (http://appleinsider.com/articles/11/08/06/google_fighting_to_suppress_evidence_android_willfully_infringed_upon_oracles_java.html):
What we've actually been asked to do (by [Google founders] Larry [Page] and Sergey [Brin]) is to investigate what technical alternatives exist to Java for Android and Chrome. We've been over a bunch of these, and think they all suck. We conclude that we need to negotiate a license for Java under the terms we need.