Как да се научите да кодирате в Java: защо трябва и откъде да започнете

Определете целите си в кариерата и изберете език. Това е най-важният съвет за всеки, който няма нулев опит в програмирането и има за цел да се присъедини към общността на разработчиците. Но как можете да направите избор, без да имате представа кой език отговаря най-много на вашите цели?

Не би ли било лесно, ако сред всички езици за програмиране имаше „пазарен лидер”? Тогава всички новодошли винаги могат да имат сигурен избор - научете този език и със сигурност ще бъдете в голямо търсене. Разбира се, това е невъзможно. Езиците са „инструменти“ за решаване на множество задачи. Но все пак има един, който може да се счита за звезден избор - това е Java.

Java е добре структуриран, обектно-ориентиран език, който може да се счита за лесен за начинаещи. Можете да го овладеете доста бързо, тъй като има много процеси, които се изпълняват автоматично. Не е нужно да задълбавате твърде много в това „как работят нещата там“. Java е език с различни платформи. Той позволява на програмист да създаде приложение, което може да бъде внедрено на всяко устройство. Това е избраният език за Интернет на нещата и правилният инструмент за изграждане на приложения на ниво предприятие.

Важното за „първокурсника“ е, че Java има една от най-големите световни общности и висококачествена документация. Ако имате проблем, е повече от вероятно отговорът да е готов там и да ви очаква. Още две предимства на Java са огромните колекции и рамки, които покриват повечето от предизвикателствата, с които ще трябва да се справите като младши разработчик.

И накрая, това е език с уважаван произход и забележително бъдеще. Две най-нови версии, подобрени с нови функции, бяха пуснати в рамките на шест месеца една от друга. Това помага на Java да застане на челната позиция и да запази най-високите позиции в уважаваните професионални класации.

Но дори когато говорим за език за програмиране с ниска крива на обучение, има много скрити скали за начинаещи. Колко време ви е необходимо, за да научите? На кои източници да се доверите? Кои грешки да избягвате? Нека да преминем през целия ви учебен опит.

Уверете се, че заобикаляте общите препятствия

И така, вие сте нов в програмирането. Поздравления: тъй като можете да използвате опита на други програмисти и да избегнете често срещаните грешки в самообразованието. Ето някои чести пропуски.

Учене без поставяне на конкретна цел

За да оцените мащаба и желаното ниво на знания в определен език за програмиране, на първо място, трябва да отговорите на прост въпрос: защо имате нужда от програмиране?

Ако сериозно се занимавате с кодиране и възнамерявате да станете разработчик на Java, ще трябва да учите всеки ден в продължение на поне 4-5 часа. Но ако просто искате да увеличите обхвата си, можете да изберете по-спокойно темпо. Както и да е, опитайте се да не удължавате образованието си за много години напред, защото технологиите се развиват. Докато научавате определена рамка или инструмент за разработка, за да си намерите работа, тя остарява.

Четенето на „всичко полезно“, което изскача, не е най-добрата стратегия за учене. Добре е да направите корекции в общия план. Ако не го спазвате обаче, неизбежно ще ви демотивира.

Опит да се научат твърде много технологии наведнъж

Това последваща грешка, която води до учене без край. Не се опитвайте да напълните образователния си план с твърде много технологии и инструменти, за да избегнете прегаряне. Ще ви трябва време, за да обработите информацията и да видите как всичко работи на практика.

Твърде много изследвания и теория без практика

Програмирането е умение, което можете да придобиете само с много практика. Ще ви е необходим сериозен теоретичен опит, но докато четете (или гледате) лекции и курсове, не можете наистина да кодирате. Помисли за това. Никой не може да се научи да плува, без да се опита. Имате нужда от обяснения, но преди всичко - от действия.

Само много практика ще ви научи как да се справяте с ежедневните проблеми на програмистите. Например ще имате навика да проверявате редовно кода си и да не позволявате свързаните проблеми да се трупат. Ще започнете и с най-лесните решения. След това преминете към по-изискан, като непрекъснато работите за подобряване на вашия код. И най-важното е, че ще свикнете с кодирането ежедневно.

Да се ​​научим да кодираме изолирано

Начинаещите често се двоумят дали да се присъединят към общности за онлайн програмиране или да присъстват на събития, главно поради синдрома на самозванците. Но помнете: никой не иска да ви свали. Програмистката общност си сътрудничи. Така се появяват многобройни отворени източници на данни. Те са свикнали да работят в екип и със сигурност всички те са били начинаещи в определен момент от живота.

Погледнете: има много форуми и уеб източници за програмиране. Разработчиците охотно споделят знанията си и са отворени за сътрудничество. Можете да започнете да учите онлайн, да получите полезен съвет от по-опитни колеги и по-късно да намерите първия си проект за кодиране.

Бъдете сигурни, че един ден ще разберете напълно всички аспекти на програмирането

Ако някой открие хапче, което да вземе, и веднага се обучи на който и да е език за програмиране, той ще бъде най-богатият човек на планетата (извинете, Джеф Безос). Но дотогава няма определен край във вашето образование, ако сте избрали да бъдете програмист. Дори когато имате работа, никога не спирайте да учите. Нещата се променят бързо в света на програмирането.

От друга страна, когато все още се научавате да кодирате, опитайте се да приемете някои факти такива, каквито са. Не задълбавайте във всеки обект, тъй като фонът му може да е твърде „тежък“.

Направете перфектна тренировъчна програма

По-лесно е да постигнете целта си стъпка по стъпка. Сега, когато знаете често срещаните грешки, можете да ги избегнете. Ето пет стъпки, които можете да предприемете, за да научите Java.

  1. Поставете си цел и изберете език.

С Java можете да правите почти всичко. Можете да създавате сървъри за приложения, настолни и мобилни приложения, корпоративни приложения и да стартирате модулни тестове. Но разбира се, езикът за програмиране не е всичко, което трябва да знаете, за да станете професионалист. Опитайте се да мислите за конкретни области на дейност.

Днешните тенденции изграждат приложения, базирани на облак (също така ще трябва да научите основите на изчислителните облаци и специфични инструменти за разработване на облак), работа с Интернет на нещата, извършване на анализ на големи данни, създаване на игри и т.н.

2. Създайте образователен план.

Готови ли сте да превърнете програмирането на Java във вашата професия? След това отделете поне 2-3 (през работните дни) до 5 часа (през почивните дни) за ежедневно учене. В този случай вероятно ще ви трябват 3 до 6 месеца, за да се подготвите за позиция младши разработчик.

Като цяло вашият учебен процес ще бъде разделен на няколко етапа:

  • Инсталиране на JDK (Java Development Kit) от уебсайта на Oracle и Инсталиране на среда за изпълнение на Java (IntelliJ IDEA, Eclipse или NetBeans);
  • Изучаване на синтаксис на Java;
  • Изучаване на Java Core;
  • Изучаване на Java колекции;
  • Изучаване на популярни библиотеки и рамки;
  • Проучване на често използвани API (например, сървлети, JSP, JDBC, JUnit);
  • Овладяване на Git;
  • И така нататък.

Опитайте се да следвате плана си и да запазите баланса между теория и практика. Програмирането е умение, което се нуждае от обучение всеки ден. Ако завършите изучаването на определен предмет, продължете с няколко задачи за кодиране (3 до 10, в зависимост от тяхната трудност).

Можете лесно да приспособите добре познатия принцип на Парето (правило 80/20) към Java обучение. „20“ ще означава изследователска работа, а „80“ - практика. Това не е преувеличение: ще ви трябва четири пъти повече кодиране, отколкото четене, за да запомните наученото и развитите си умения за кодиране. За съжаление, ако не напишете кода си наведнъж, ще забравите всичко, което сте прочели на следващия ден. За щастие не е нужно да измисляте собствена програма за обучение, ако имате подходящите източници.

3. Изберете правилните инструменти и се присъединете към програмните общности.

Нека бъдем честни: перфектен курс по Java не съществува. Някои ще ви дадат задълбочени основни знания, други ще ви дадат доста практика. Изберете няколко платформи за образование, комуникация и практика. Изберете един онлайн курс, който съчетава ясно обяснение на теорията с реалното кодиране.

Присъединете се към общностите, където можете да зададете всеки въпрос относно аспектите на кодирането на Java, да споделите мислите си и да намерите съмишленици. Най-добрите общности за разработчици на Java са изброени по-долу.

Използвайте множество източници за изучаване на Java

Ще ви трябват много инструменти, за да постигнете целите си. Ето набор от „инструменти“, за да успеете.

  1. Строго практикувайте: CodeAcademy

Това е може би една от най-известните онлайн платформи за изучаване на множество езици. Разбира се, има раздел и за учащите Java. Тук започвате кодирането от първия урок. Има доста полезни съвети, които можете да получите, ако определена задача изглежда трудна (което е нормално, когато сте начинаещ). Логиката е проста: прочетете задачата, напишете код и я стартирайте, за да видите какво се случва в резултат, и след това преминете към следващата стъпка. Задачите постепенно се усложняват, докато започнете да пишете кода си от чист лист. Разделът с често задавани въпроси е доста полезен и имате възможност да обсъдите всяка задача с други ученици.

Този курс може да бъде чудесен допълнителен инструмент при изучаването на Java. Както вече казахте, трябва да кодирате, за да овладеете програмирането на Java.

2. Игра и код от самото начало: CodeGym.cc

Това са онлайн курсове за учащи Java със специална функция - gamification. В днешно време е обичайно онлайн курсовете да възприемат игрални елементи, тъй като те носят незабавна мотивация, усещане за постоянни постижения и улесняват постигането на вашата цел.

В CodeGym's започвате от ниво 0 във футуристичната вселена с космически пътувания, роботи и други страхотни неща. Вашата цел е да преминете четири образователни куеста, за да изравните герой - робот. Всяко задание включва 10 нива и всяко ниво има до 10–12 урока, преподавани от членове на екипажа на галактически кораб. Урокът се състои от минимална теория и набор от задачи с незабавна проверка и съвети как да подобрите кода си. Започвате да кодирате от самото начало, решавайки много прости задачи, докато сте готови за много по-сложни и масивни проекти за кодиране.

Цялата история ви позволява да не се забивате в определен предмет или задача, да се придвижите напред и да се върнете по-късно към „туистърите“. Като цяло има впечатляващи 1200+ задачи в курса. Количество, което се преобразува за най-малко 300–500 часа кодиране.

3. Програмисти за предизвикателства: Codewars

Това е друга онлайн платформа с много практики. Въпреки че е по-подходящ за учащи с поне малък опит в програмирането. Codewars ви дава възможност да изостряте умения на определен език чрез обучение на ката.

Можете да напишете кода си в браузър и да използвате тестови случаи, за да го проверите стъпка по стъпка. Можете също така да сравните своето решение с други, за да разширите знанията си и да обсъдите най-добрите практики. Всяка ката има ранг и всяка ката е предизвикателство с други програмисти. Когато решавате по-трудни задачи, можете да получите по-сложни предизвикателства за подобряване на уменията за кодиране. Това, което отличава тази платформа от другите, е, че тя позволява да се учи и практикува в група.

4. Слушайте лекциите на „професионално” ниво: EdX

EdX е образователна платформа, основана от Харвардския университет и MIT. Той обхваща много области на обучение, включително програмиране на Java и много свързани теми. Има много проверени уводни курсове и програми за сертификати, предоставени от университети.

Всеки курс има определена времева рамка и включва видео лекции с текстов препис. Лесно е да се върнете към предишни уроци и да ревизирате материала. Има десетки различни курсове, някои от тях са безплатни. Но все пак това е източник, строго за изучаване на Java теория. Не забравяйте да укрепите тези курсове с часове кодиране.

Искате ли да следите последните новини, рецензии и актуализации в света на Java? Това е правилното нещо. Java непрекъснато се развива, надгражда и предлага нови функции. Не забравяйте да имате няколко медии, които можете да четете ежедневно. Едни от най-големите са:

  • Javaworld (новини, полезни уроци, "как да" и всичко останало, за да сте в течение с Java програмирането);
  • Java Code Geeks (ресурсен център за тези, които учат Java с образователни уроци, статии и съвети как да си намерят работа като Java програмист);
  • DZone (много статии и ръководства за начинаещи и опитни разработчици);
  • Javarevisited (ежедневно актуализиран блог, който обхваща множество теми за обучение на Java).

Помните ли съвета да се присъедините към общност, за да направите образованието си по-ефективно? Можете да зададете всеки въпрос в Java секцията на Stack Overflow или Coderanch. Освен това има най-малко три големи общности в Reddit, като напримерпрограмиране, java и Learnjava, където ще намерите полезни съвети за изучаване на Java и програмиране като цяло. Ако се нуждаете от по-конкретна информация, например подсказка за подобряване на кода ви в определени задачи, опитайте специалната помощна секция в CodeGym, където други ученици и „треньори по кодиране“ ще ви помогнат при всеки проблем. И накрая, Oracle има обширна Java общност, отворена както за новодошлите, така и за опитните разработчици.

Да бъдеш програмист означава постоянно усъвършенстване и придобиване на нови знания. Ако развиете умение за самообразование от самото начало, непременно ще успеете. Готови ли сте да опитате?