Добрый день, дорогие читатели! В прошлой стстье я вам говорил, что решился все-таки в 40 лет попробовать серьезно заняться изучением какого-нибудь языка программирования (ЯП). Мой выбор пал на язык Java. Почему именно на него и как я его изучаю, расскажу ниже.
Прошлая статья, где я об этом рассказывал по ссылке ниже:
Почему именно Java?
Знаете, на самом деле у меня и четкого ответа на этот вопрос нет. Выбирая ЯП, я отталкивался от статьей, рассказывающих о популярности ЯП, от кол-ва вакансий и от обучающих материалов. Причем критерий к последним был такой, чтобы обучение было попроще.
1) Популярность ЯП и кол-во вакансий
Если отталкиваться от этого критерия, то у нас в стране Java - самый востребованный ЯП:
Если же смотреть по индексу TIOBE, то Java занимает 4-е место. Индекс TIOBE - это международный рейтинг, который обновляют каждый месяц.
Но его методологию нельзя назвать совершенной. Индекс TIOBE оценивает только количество результатов в поисковых системах по каждому языку программированию.
Тут 2-й и 3-й язык как-то совсем не хотелось брать в учет. Лично для меня конечно интереснее был C# (так как он используется в популярном движке UNITY и на самом деле полегче в изучении), но основной целью я себе все-таки ставил попробовать найти работу программистом, а тут Java оказался приоритетнее.
Еще перспективный и довольно интересный ЯП Python. В последнее время он очень сильно набрал обороты, плюс по изучению легче чем Java. Но для меня решающим фактором оказался критерий по обучающим материалам.
2) Обучающие материалы
Дело в том, что у меня уже была приобретена ранее книга "Изучаем Java" под авторством Кэти Сьерра и Берт Бейтс. Я много где слышал, что это бестселлер и чуть ли не лучший учебник для начинающих Джавистов. Я пробовал ее осилить ранее, но дошел только до половины (а объем у нее очень большой - более 700 страниц).
Зачем я ее покупал ранее? Думал это поможет лучше понять в целом ЯП, ведь зная хорошо хотя бы один ЯП все говорят, что другие потом выучить гораздо проще. Я допускал варианты, что это в общем мне поможет делать игры лучше, лучше строить структуру проекта и т.д.
Почему забросил читать? Любое изучения ЯП без решения практических задач - это время на ветер, я считаю. Если бы я изучал скриптовый язык GML игрового движка GameMaker только по книгам и справкам, не закрепляя материал практикой, то я до сих пор бы не мог писать игры.
Тут для меня решающую роль сыграл сервис JavaRush.
Что за сервис JavaRush? И почему именно он?
Когда-то несколько лет назад я уже выходил на этот сервис и тогда еще он был полностью бесплатным! Я прошел несколько уровней и забросил, о чем конечно пожалел впоследствии, так как сейчас сервис платный.
Что вообще такое JavaRush и почему я остановился именно на нем? Тут все просто.
Во-первых, все обучение дается в виде игры, с получением ачивок, наград, комиксных вставок и пр.
Во-вторых, теория (по крайней мере на начальных этапах) дается в очень сжатом виде, т.е. выбирается только самое основное, что необходимо, и разжевывается доступным, понятным языком.
В-третьих, вся теория тут же все это закрепляется практическими задачами. Причем задачи эти можно решать прямо в браузере. Т.е. тут же пишем код и отправляем на проверку, проверка происходит за секунду (проверяет не человек).
На данный момент я дошел до 13-го уровня и буду пробовать продолжать обучение.
Впечатления от сервиса JavaRush.
Ну статья не рекламная, как многие могли подумать. Поэтому немного похвалив, хочется и поругать. Что именно не понравилось?
Во-первых, сейчас сервис платный. Оплата по подписочной модели. Можно либо оплачивать помесячно, либо купить сразу подписку на год (я выбрал второй вариант). Годовая подписка стоит около 24 000 руб., что не каждый может себе позволить. Но я попал под какую-то акцию и взял около 7000 руб. К тому же там были некоторые вопросы по оплате из РФ, но они оказались решаемы.
Во-вторых, да, на сервисе доступна вводная бесплатная часть, но она совершенно не дает представления о всем обучении. Т.е. бесплатно дают очень мало, и на основании этого кусочка не все смогут понять, нравится и подходит ли им такая форма обучения или нет.
В-третьих, надо понимать, что сервис JavaRush не сделает из вас востребованного программиста сам по себе! Зарубите себе это на носу! Как пишут многие обучающиеся в комментариях - сервис дает только около 40-60% информации, необходимой для уровня джуна! А если посмотреть на вакансии, то сейчас и джунов то не везде охотно берут - всем уже нужен программист уровня миддла. Т.е. будьте готовы к тому, что вам параллельно сервису нужно будет читать книги, самому искать какие-то другие обучающие материалы, самостоятельно изучать сервисы, библиотеки и прочее.
В-четвертых, есть небольшие вопросы к построению процесса обучения. Очень часто даются задачи, которые чтобы решить, необходимо изучить лекции следующих за ней лекций. Т.е. сначала дают разобраться самим (с помощью гугла) и только потом учат как это можно сделать. Не всем нравится такой подход к обучению, о чем часто можно встретить негодование в комментариях на самом форуме сервиса. Ну и сами задачи иногда встречаются очень посредственного качества - т.е. даже думать особо не нужно.
Как идет обучение у меня?
Как уже писал выше, пока я использую в связке только книгу и сервис JavaRush. И если поначалу все было вроде как понятно, то дойдя до 13-го уровня, я кое-где уже проседаю, начинаю путаться и т.д. Очень много мелочей, которые нужно как-то запомнить, но в голове порой просто каша от всего этого потока информации.
Но тем не менее хоть какая-то часть оседает в памяти и это радует. Плюсом ко всему узнал много нового для себя: сигнатуры методов, конструкторы, передача по ссылкам/по значениям и пр.
Нравится ли мне сам ЯП Java? Пока сложно понять. Смогу ли я дойти до конца обучения на сервисе JavaRush - тут тоже спорно пока. Там около 40-ка уровней, если не ошибаюсь, а я дошел только до 13-го. На это ушло грубо говоря около месяца. Но чем дальше двигаешься, тем все медленнее идет продвижение по уровням.
Спасибо, что дочитали статью до конца! Если статья оказалась вам интересной и полезной, то ставьте лайки, делитесь статьей с другими, задавайте вопросы, оставляйте комментарии, пожелания и т.д. Времени на написание статьей все меньше, но стараюсь не забрасывать блог и продолжаю писать, как появляется свободный час. И да, если среди вас уже есть люди, работающие в IT-сфере или так же, обучающиеся с желанием устроиться, то буду рад выслушать ваши истории в комментариях. Если вам интересно, к чему меня все это приведет, то постараюсь держать вас в курсе и время от времени писать еще и на эту тему. Так же появилась идея давать небольшие статьи понятным языком о программировании для новичков (у нас же канал все-таки для новичков), используя свой опыт обучения. Например, посвящать немного в термины, которые используются во всех ЯП. Если будет интересна такая форма статей, то пишите. Я подумаю об этом.