Репутація українського ІТ. Пройти опитування Асоціації IT Ukraine
×Закрыть

Як і з чого почати вчити Java?

Привіт всім, задаюсь питанням вже давно, але з чого слід починати і в якому напрямку рахатись?... Бажання є велике але якісних уроків не знайшов... Пішов на курси там все поверхнево навчили (змінні, класи, методи ... По суті розказали все те що в інтернеті і так багато). Дайте будь ласка пораду!

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Володимир, можу порадити свою книгу (принаймні першу частину), в якій мова йде не про Java (або JDK), а про розробку Java додатків з нуля — складання вимог, принципи дизайну, патерни, бібліотеки, фреймворки.
Нічого схожого я навіть в західних джерелах не зустрічав.
it-simulator.com/#/article/1

Можешь начать с курса Головача, он дает хорошую базу. Если будет непонятно, то смотри Java для начинающих, а потом уже курс Головача.
Кроме просмотра видосиков нужно писать много кода самому — это лучший способ разобраться

1. Java для начинающих
youtube.com/...​fTOSUkXp26rgdnC0PicnmnDak

2. Курсы Головача
youtube.com/...​BnciBZf7aLRmayAzcisWfAwOY
Нужно проходить темы в порядке
1) procedural
2) exceptions
3) IO
4) Collections
5) Multithreading
6) OOP

3. Ещё тебе нужно создать репозиторий на github и коммитить туда свой код — это важно для резюме
Вот краткое видео как работать с Git и Github
m.youtube.com/watch?v=JfpCicDUMKc

4. После того, как освоишь Java Core, нужно будет ещё разобраться в
1) Spring Boot
2) SQL (на примере базы данных PostgreSQL), Hibernate
3) JSON, HTTP, REST API

5. Для изучения английского установи расширение для хрома — vimbox. Это хороший переводчик.
Английский важен, так как вся нужная информация и документация на английском. Гуглить все, что не ясно по программированию, нужно будет тоже на английском.
Время от времени читай статьи по программированию на английском. Все, что не понятно, переводи на русский, так со временем расшириться словарный запас и будешь свободно читать.

6. Вот ещё цикл статей для начинающего Java разработчика, будет полезно для общего понимания картины
dou.ua/...​es/java-beginner-guide-1

Спасибо большое! Вот чего мне не хватало так это плана по которому учить... Если придерживаться плана то думаю все получится...

Записаться на курсы из джуниордайджеста, там все расскажут.

Не лучший вариант сейчас начинать учить Java
Язык каждый год теряет популярность.
dou.ua/...​language-rating-jan-2020

На android Котлин основательно подвинул Java.
А на J2EE непомерные требования для джунов.
То есть учиться придется дольше чем в других направлениях, да и вообще вероятность что сможешь найти первую работу в J2EE пониже.

Вот к примеру почитай какие требования сейчас к стажерам Java. Стажерам, не джунам.
www.kharkovforum.com/showthread.php?t=5226471

Так сейчас везде подобные требования, не только в Джаве. Исключением могут быть разве что захудалые веб-студии, где не требуется ни английский, ни фреймворки, но нужно уметь адаптировать страницы под IE9, что в 2020 году способно вызывать весьма интенсивную попаболь.

Java хоронят уже лет 15, и все равно она на первом месте в рейтинге языков программирования

В рейтинге dou в этом году js на первом месте (до этого много лет лидером была java).
Спрос на java разработчиков с каждым годом понемногу снижается.
Для опытных программистов это не проблема, java все еще востребованный язык, и будет таким еще много лет.

Но для ищущих первую работу — немалая вероятность ее вообще не найти. Или потребуются больше времени и усилий чем по другим напрвлениям программирования.

Вы считаете, что рейтинг ДОУ — это такая объективная реальность, что ее можно предъявлять как аргумент? Я лично считаю, что если аппелировать к ДОУ, то лучше сравнить количество вакансий. По Java — 759, JavaScript — 1219 (это если искать и в описании вакансии). Если без описания, то Java — 320, JavaScript — 120, Front-end — 628.

Еще отдельно от Front-end есть тут довольно много вакансий:
jobs.dou.ua/...​cancies/?category=Node.js
jobs.dou.ua/...​es/?category=React Native

А вот рейтинг TIOBE показывает, что Java на первом месте (17%), а JavaScript на седьмом (2%) www.tiobe.com/tiobe-index

В рейтинге dou в этом году js на первом месте (до этого много лет лидером была java).

Потому, что это так же придаток ко всем остальным языкам. На каком-то уровне js необходимо знать любому разработчику, вместе с html и css.. Потому его и суют во все вакансии..

И хейтеры забывают о простом факте. С 1996 года на Java написано столько проектов, что их поддержкой можно будет кормиться еще лет 30-40 не меньше. Никто их не будет переписывать на Scala/Kotlin/Groovy. И третий момент — Java индустрия сильна не сколько Java, сколько библиотеками/фреймворками под нее

Тут цілком згідний... Приведу приклад того як на даний момент роблять люди:
За часів мого навчання в коледжі, першої спеціальністю була радіотехніка. Не подобалась мені, якщо чесно... Почався 3 курс, настільки мені неприємно було вчити і поринати в радіотехніку, що просто капець. Забивши на навчання, пари прогулював круглий семестр... Прийшовши на пари, мене викладач запитала чому я прогулював, на що я відповів прямим текстом: «мені не подобається радіотехніка і я не збираюся пов’язувати своє майбутнє з нею...». Вона відверто кажучи розсміялася мені в лице, і запитала: -«а чим Ти цікавишся?», На що я їй відповів: -«програмуванням і планую перевестись на програміста».
Слова які вона сказала мені в той час: -«І ти реально думаєш, що станеш програмістом?»
Ті слова мене змотивували, і я ще більше захотів ним стати... Після чого пішовши на посаду програміста на С потім С#...
От і тут чому люди відмовляють Тебе вчити Джаву, бо вона не перспективна?
Яка ж різниця на якому вона місці в рейтингу? Якщо людина загорілася бажанням вчити саме джаву непотрібно її в цьому відмовляти, а просто дати настанову і «пенделя» для того щоб вона досягла своєї цілі...

Вот к примеру почитай какие требования сейчас к стажерам Java. Стажерам, не джунам.
www.kharkovforum.com/showthread.php?t=5226471

Это очень специфическая компания, так что такие истории брать во внимание не надо.

Если хочешь реально научиться программировать, то начинать нужно не с Java. Если твоя цель как можно быстрее рубить бабосы, читай любую книгу, например отца Гослинга, иди на любую галеру практикантом, потом попадешь в проект, будешь стараться и пойдешь по фейковой лестнице. Где-то на синьйоре твоя техническая карьера закончится и прийдется идти в менеджеры. Про работу в компаниях типа Гугл-Амазон можешь забыть, или тебе прийдется потратить пару лет на подготовку, с которой собственно все и нужно было начинать.
Если хочешь реально научиться, то прийдется сначала потратить время на базу: схемотехнику, машинные коды, алгоритмы, теория реляционных и нереляционных БД, теория сетей, ну и конечно базово знать С++. После знания С++, тебе практически любой язык будет даваться за неделю. По крайней мере Java так уж точно. Сейчас в Java-проектах часто встречаются ML на Python и JS на UI. Будет легче ориентироваться, зная как все работает внутри.

Господи, да нахер кому нормальному нужны ваши гуглы. У человека может цель жить нормальной жизнью, а не ботоксами обкалываться, чтоб в 40 не вылететь за борт.

Я так и написал, что в этом случае ничего учить не надо. Зачем тратить драгоценное время, если можно просто рубить бабло.
Ну а вам я бы посоветовал не расписываться за других. У всех амбиции разные, да и у нас не особо хотят брать кому за 40. Поэтому либо твоими конкурентными преимуществами будет опыт и глубина знаний, либо останешься за бортом где бы то ни было.

у вас стандартный вопрос для всех начинающих.(вот прям повторили меня года 2 назад слово в слово) как только поверхностно изучается базовый синтаксис, дальше слишком много путей и вариантов.. а ответ проще чем вам СЕЙЧАС кажется.. и на самом деле намного трудней в реализации чем вам СЕЙЧАС кажется.. вам нужен пет проект с темой, в которой вы ХОРОШО разбираетесь , будь то учет в магазине , склад фабрики , или система учета такси. важно только чтобы вы в этом «домене» хорошо разбирались. а дальше придумываете сами себе задачи , и пишите программку которая автоматизировала бы то, что вам нужно. в процессе реализации вы натолкнетесь на прорву вопросов по джаве, решите их, станете на пару ступенек ближе к позиции джава девелопера. для примера моя история, до ойти я занимался изготовлением лестниц , ну и решил написать програмульку в которой можно было бы внести клиента, создать заказ , ну и посмотреть какие заказы были у клиента раньше. И так както все просто поначалу казалось, но скоуп вопросов вылез ахринительный. Гуишка со своими контроллерами, листерами, табличками., структура базы данных, сама база данных , простейший но существующий сервис уровень для этого всего , компилируемость всего этого в запускаемый файлик, и в конце как из этого сделать «хреньку с флешки» .. простейшая программа заставила в конкретном порядке копать стаковерфлю с гитом полтора месяца ... зато стали наконецто понятна концепция интерфейсов (угу, смешно звучит сейччас) и потом на тестовом перед трудоустройством , я H2 базу в ембедед моде прикрутил за 10 минут )) а не за полторы недели как «с нуля» ... закончите первый пет проект, начинайте второй , с темой потяжелее.. благо тут на форуме тем уже есть видимонивидимо ) и вот так тихой сапою все станет на свои места само)

hyperskill.org Все доступно разжевано, автоматическая проверка заданий + несколько проектов покрывающих практически все нужные темы.

А чого саме Java?

Щоб суппортити легасі з США за 5к$.

Есть и другие вещи за которые платят 5к$, и не настолько противные как лигаси.

Не обязательно, трейдинг, AI/ML, обработка больших данных. Но проблема в том, что в большинстве этих областей паттерношлёпить не получится, надо чего-то понимать в предметке.

По відгуках найбільш захищена мова + стабільність! Тому вибрав джаву!

Стабільність — wtf?
Хоч «найбільш захщена мова» — теж wtf...
Якщо ви ще не далеко саме в Java не втягнулись, то радив би ще раз подумати.
А загалом — я б сильно радив починати не з мови, а з сфери програмування, web, mobile, desktop, embedded, telecom, а вже зрозумівши сферу — підтягувати основи взаємодії систем в конкретній сфері, а вибір мови і спосіб її вивчення прийде сам собою

Не знаю, що мав на увазі автор під стабільністю. Але в моєму розумінні одна з сильних сторін Java — сумісність з попередніми версіями. Проект, написаний на Java 1.0, компілюватиметься і працювати на Java 13

Рекомендую таку зв’язку, яка особисто мені допомогла в свій час:
1) Проходити JavaRush
2) Паралельно з цим читати Head First Java (бажано в оригіналі)

Проходити JavaRush

Нет ни малейшего смысла платить за JavaRush. Честно говоря и бесплатным мне этот сайт не особо нравился.
Теорию лучше в книгах читать или еще где, задачи решать можно на codingbat.com/java (там все на английском). или на snakify.org (сайт изначально про Python, но задачи универсальные, в том числе и на java). Тоже на английском, но тут перевод vxopg7bwwfzg4gqixlotga-on.drv.tw/tutor.html
И подсказки (для python, но большая часть подсказок универсальная, не привязана к языку программирования).

Норм JavaRush, это же для входа, очень помогает

Ну там ж сенс в величезній к-сті практики + ком‘юніті велике і є швидка допомога в разі чого.
Взагалі це все суб‘єктивно, де краще чи де гірше, я описав свій кейс, який мені колись був дуже корисним і я можу сміло його рекомендувати.
За теорію в книжках — я ж теж написав, що паралельно варто читати, бо на одному JR далеко не заїдеш.

>>1) Проходити JavaRush
Только ни в коем случае не покупать. Бесплатные уроки там действительно норм, я из-за этого когда то купил подписку, в то время ещё пермаментную, а вот дальше какой-то шлак начинается. Лучше уже на плюралсайт подписку взять, и думаю на курсере чёт по джаве тоже должно быть

не знаю, як на плюралі і курсері, але я брав кілька місячних підписок на джавараші, мене цілком влаштовувало.

Сам тільки вивчаю Java і взагалі програмування, тому моє бачення лише як початківця і засноване на легкісті подачі матеріалу.
Рекомундую книжки «Изучаем JAVA», «JAVA 8 руководство для начинающих».
Також тут доволі доволі непогана подача матеріалу metanit.com/java

Подписаться на комментарии