Используется ли его методы в повседневной работе программиста, или он написан иначе, чем то, что важно запомнить для работы? Важен ли он на собеседовании?
Например для создания змейки используются пакеты:
import javax.swing. * ;
import java.awt. * ;
вместо пакетов Javarush.
import com.javarush.engine.cell.Game;
import com.javarush.engine.cell.Color;
Отсюда напрашивается вопрос, это сделано с целью рекламы или запутать и так без того запутанных абитуриентов от обучения и новой информации, зачем использовать и запоминать созданные методы JavaRash для игрового движка, если ты их никогда больше в жизни использовать не будешь? Смысл тратить на это время, если этим не пользуется ни одна действующая компания???
Или я может что-то не понимаю? Объясните пожалуйста.
Vadimayer
40 уровень
Насколько актуален движок JavaRush, его используют какие-то компании?
Комментарии (14)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
VladimirMaster
18 августа 2021, 16:16
/* Комментарий удален */
0
Vadimayer
18 августа 2021, 17:06
Все мы люди странные для кого-то.
+2
Justinian Judge в Mega City One Master
18 августа 2021, 12:17
Выход там где вход, это просто задачи - ты их решаешь и идешь дальше.
никто не говорит тебе запоминать методы.
Ты никогда в жизни не запомнишь все методы, которые будешь использовать и ты никогда не будешь знать, используя метод А или метод Б для решения конкретной задачи, они тебе потом когда-нибудь в жизни пригодятся или нет.
Программирование изучается путем проработки и разбора тем с одной стороны, и выполнением практических заданий с другой стороны.
Это как в автошколе, если тебе скажут на практическом вождении "езжай через Салютную на Петрова" ты же не будешь инструктора спрашивать "А зачем мне запоминать конфигурацию перекрестков, светофоров и все дорожные знаки на улице Салютная? Мне это в будущем пригодится?", так и здесь, тебе сказали - решить задачу, ты ее решаешь и идешь дальше, ты прокачиваешь скилл не памяти и запоминания, а скилл выполнения поставленных задач.
Сказали решить задачу - ты ее решил. Прокачал скилл решения.
Сказали проехать по такой-то улице, ты разобрался в знаках и правилах и проехал. Прокачал скилл вождения.
И мы приходим к ответу на вопросы
чтобы решить задачу и выполнить задание
это от тебя никем не требуется
смысл в получении практических навыков решения задач.
Почти все твои будущие рабочие задачи могут и будут непохожи одна на другую, не будет такого "сделай-ка вот это, и ты такой О! Я знаю какой метод использовать!", это исключение.
Программист как ищейка, его задача не знать решение. А уметь в условиях неизвестности его найти.
Вот в этом смысл, дают задание, ты разбираешься и делаешь. Что ты делаешь, какими методами - это второй вопрос, главное, что у тебя формируется навык решения поставленных задач.
Это наверное суть не только программирования, но и инженерии в принципе +8
Vadimayer
18 августа 2021, 12:36
спасибо, очень грамотно растолкованный ответ, осталось к этому привыкнуть))
+1
Justinian Judge в Mega City One Master
18 августа 2021, 12:40
это да, есть такое, но все придет, главное знать ради чего вот это все ))
+1
Vadimayer
18 августа 2021, 12:44
А то я уже собрался все методы выучить наизусть 🤣
0
Justinian Judge в Mega City One Master
18 августа 2021, 13:48
😅 главное вовремя спросить ))
+4
Vadimayer
19 августа 2021, 10:06
С другой стороны, сейчас начинаю понимать, что если бы были стандартные методы, которые используются самой Java, не переопределенные JavaRush, было бы проще потом реализовать, так как на подсознании, какие-то названия бы запомнились, что упростило бы задачу. Нежели знать сам процесс реализации своей идеи, но искать при этом документацию по методам, которые воплотят твою затею в жизнь.
0
Justinian Judge в Mega City One Master
19 августа 2021, 12:58
надо с тобой вернуться в контекст.
Джава - язык на котором два основных направления ( не считая автоматизацию, IoT и тд) это мобайл и веб энтерпрайз, в мобайле там свое направление, но веб энтерпрайз решения это программы для большого и среднего бизнеса, либо сотни тысяч транзакций в секунду, либо громадные приложения на десятки тысяч классов, банковские, финансовые системы, большие клиники и тд.
А мы с тобой обсуждаем змейку...Где змейка и где джава :)
Суть моего меседжа, выстроить ориентиры, отличать важные вещи от тех, на которых не стоит заострять внимание, если ты видишь что это примитивная игра, а на джаве, ты игры писать не будешь, с вероятностью в 98%, то какие там методы использовались для змейки, дело третье, особенно, если речь идет не за стандартную библиотеку.
И ты опять
еще немного и можно звонить экзорцисту )
Не нужно запоминать названия инструментов для нестандартных для джавы задач.
Змейки и игры это нестандартные для джавы задачи.
Все что нужно запомнить - ты запомнишь сам путем многократного повторения или разбора той или иной темы, в программировании и в джава очень большой объем материала, один человек это в принципе охватить не может, поэтому нужно выстроить баланс по проработке материала, практике, разбирании теории и тд.
Если ты прям хочешь что-то "запомнить" просто задавай себе вопрос "какие основания считать, что это тебе понадобится в будущем?" Это можешь делать либо сам на глаз, либо спрашивать других.
Система обучения построена по принципу "повторяй за мной", тебе дают задания, ты делаешь, решаешь 1200 задач на джава раше, проходишь стажировку, разбираешь самостоятельно темы или заполняешь свои пробелы, и все что нужно у тебя в голове будет, а чего не будет, подтянешь на собесе или на работе.
Дополнительно сверху, еще самому "запоминать" ты отвлекаешь себя от нужного +1
Vadimayer
19 августа 2021, 14:23
В большей степени с тобой согласен.
Видимо, поэтому у меня созрел логичный вопрос, так как ты говоришь, что на Джаве 98% того, что игры я писать не буду. Ведь, до того, как я проходил все остальные уровни JavaRush, многие методы отложились у меня в памяти, например, список ArrayList<T> и его методы: add(), remove() и так далее. В этом, и "синтаксический сахар", по моему мнению, что мне не придется искать, как мне выполнить ту или иную задачу на уровне ArrayList'а, так как я его по большей степени понимаю.
Наверное, я дошел до того уровня, когда этот вопрос сформировался о важности тех или иных тем, стоит ли их изучать, или можно пропустить и взяться за что-то важное, в этом случилась загвоздка, словил когнитивный диссонанс.
+1
Vadimayer
19 августа 2021, 14:25
Но некоторые моменты мне стали ясны, благодаря тебе, спасибо!
+1
Сергеев ВикторMaster
21 августа 2021, 19:10
На самом деле стоит запоминать что в лист можно что-то добавить, как и в сет и в мапу. А дальше открыть код листа (интерфейса или реализации) и через ctrl+f поискать "добавить" на английском, ну оно как-то там, толи put, толи append или еще что-то )
Запоминание методов возможно полезно, но вы запоминаете методы конкретного класса, конкретной версии библиотеки. А они периодически обновляются. Java теперь обновляется раз в 6 мес. То есть такое запоминание поможет вам на протяжении 6 мес и возможно когда-то потом, но не факт (конечно учитывая обратную совместимость).
Мой совет, лучше прокачать скилл поиска нужного метода и не бояться залезать в исходные классы (IDEA отлично это умеет). Там такие же разработчики писали код. Сразу немного прокачаете скилл чтения чужого кода.
И еще один аргумент. Иногда в компаниях используются свои библиотеки, какие-то обертки надо другими библиотеками. Их тоже не надо учить. Тут чаще все начинается с документации, если её нет то с ползанием по исходникам и если тоже не подошло, то идут к разрабу.
+4
Hardy
18 августа 2021, 12:08
Предполагаю!!
Что движок самописный , но тянет swing и awt.
Свинг использовался для облегчения написания и внедрения зависимости а awt для отображения (user interface, пользовательский интерфейс)
0
hidden #2460969
18 августа 2021, 12:07
я так думаю чтобы тебе руками не копать кучу кода на Swing, они тебе дали уже готовую библиотеку на основе свинга. чтобы работать было удобнее и быстрее.
это как Hibernate и JDBC. ты можешь конечно работать напрямую с JDBC, но с Хибернейтом быстрее и удобнее)
0