
В статье собраны Java-RuleZ FAQ о том, почему в 1С:Клубе программистов используется именно Java для подготовки школьников.
Данная статья построена в форме диалога (вопрос-ответ)
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 — универсальный язык программирования. На котором можно с одинаковой легкостью создавать графические приложения, разрабатывать сетевые программы и делать многое другое, в том числе решать задачи по алгоритмическому программированию на олимпиадах.
В нем нет многих возможностей, которые, правда, не нужны при знакомстве с алгоритмическим программировании, но потом при повышении уровня — необходимы.
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 — универсальный язык программирования. На котором можно с одинаковой легкостью создавать графические приложения, разрабатывать сетевые программы и делать многое другое, в том числе решать задачи по алгоритмическому программированию на олимпиадах.
В современном мире уже даже не принято спрашивать, почему Java - это круто. Это очевидно.
Принцип "напиши один раз -- запускай где угодно" по прежнему вдохновляет программистов. А ведь именно Java - первый язык, который воплотил этот принцип в жизнь! Давно прошли те времена, когда Java был медленным. Сейчас за счет хитрых оптимизаций он работает очень быстро! Большое количество библиотек, форумов, специалистов, открытых исходников - это тоже Java. Если вы встретитесь с какой-либо проблемой, знайте, скорее всего она уже кем-то была решена - просто сделайте запрос в поисковой системе.
Вы хотите работать в серьезной корпоративной среде? Почти все банки и страховые компании в своей работе используют исключительно Java за счет ее надежности, переносимости и длительному циклу поддержки. Одноклассники, Мэйл.ру, Яндекс - да, да, тоже активно используют Java.
Игры? Аллоды, Майнкрафт и все такое...
Принцип "напиши один раз -- запускай где угодно" по прежнему вдохновляет программистов. А ведь именно Java - первый язык, который воплотил этот принцип в жизнь! Давно прошли те времена, когда Java был медленным. Сейчас за счет хитрых оптимизаций он работает очень быстро! Большое количество библиотек, форумов, специалистов, открытых исходников - это тоже Java. Если вы встретитесь с какой-либо проблемой, знайте, скорее всего она уже кем-то была решена - просто сделайте запрос в поисковой системе.
Вы хотите работать в серьезной корпоративной среде? Почти все банки и страховые компании в своей работе используют исключительно Java за счет ее надежности, переносимости и длительному циклу поддержки. Одноклассники, Мэйл.ру, Яндекс - да, да, тоже активно используют Java.
Игры? Аллоды, Майнкрафт и все такое...
Остались вопросы по выбору языка программирования - приходите к нам в Клуб, мы с радостью ответим!