Содержание

Сколько времени требуется, чтобы выучить Java для полного новичка?



У меня нет абсолютно никакого опыта программирования, но мне нужно выучить Java — достаточно, чтобы пройти курс J2ME fasttrack. У меня всего 10 недель. Могу ли я это сделать? Каков ваш совет относительно лучших ресурсов, которые я могу использовать ?(в настоящее время использует учебники Sun Java).

java java-me
Поделиться Источник Unknown     14 мая 2009 в 17:26

24 ответа


  • Зная C++, сколько времени нужно, чтобы выучить Java?

    Я компетентный разработчик C++. Я понимаю и использую полиморфизм, шаблоны, STL, и у меня есть твердое понимание того, как работают потоки. Для всех практических целей я не занимался разработкой Java. Я уверен, что некоторые из вас были в подобной ситуации в какой-то момент, когда вам пришлось…

  • Сколько свободы я должен оставить себе, чтобы выучить новый язык?

    Я относительно недавно нанят и начинаю работать над небольшим, довольно простым проектом. Язык, на котором будет реализован этот проект, еще предстоит определить. Вопрос в основном сводится к — Java или Python? Вот дилемма: мой менеджер предпочел бы, чтобы это было сделано в Python. Я не возражаю…



56

10 недель? По-видимому, вы можете сделать это за 24 часа!

EDIT:

Итак, только 1 человек нашел мой ответ забавным, но не настолько забавным, чтобы поднять голос. Реальный вопрос заключается в том, насколько хорошо вы должны быть через 10 недель?

Если вы купите себе хорошую книгу (Та, что связана выше, имеет несколько хороших отзывов о Amazon), то через 10 недель вы можете быть достаточно опытны, чтобы сделать что-то полезное в Java, но для того, чтобы стать экспертом, требуются годы.

Любое время, проведенное между 10 неделями и несколькими годами, продвинет вас от новичка к эксперту.

Да и читай, Научись программировать за десять лет .

Поделиться Patrick McDonald     14 мая 2009 в 17:50



29

Хорошо, основываясь на некоторых предыдущих ответах, я ожидаю, что меня понизят за это, но я думаю, что вы бредите, думая, что можете самостоятельно научиться программировать в Java за 10 недель без какого-либо опыта программирования. Ни один человек с опытом программирования NO, кроме какого-то вундеркинда, не научится программировать на Java или почти на любом языке за 10 недель.

Для ясности, копирование и запуск hello world из книги не делает вас программистом. Черт возьми, скорее всего, потребуется несколько дней, чтобы заставить это работать в каком-нибудь IDE.

Итак, можете ли вы учиться и потенциально пройти какой-то тест? Возможно, но это зависит от глубины и формата теста.

Если бы я спросил, Могу ли я стать врачом через 10 недель, меня бы высмеяли за этот вопрос, поэтому я несколько удивлен ответами, которые указывают на то, что это возможно. Теперь я могу наложить пластырь на свою дочь, но это вряд ли делает меня медицинским профессионалом, это просто означает, что я управлял их версией hello world .

Поделиться Robin     14 мая 2009 в 18:37



24

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

Java не обязательно будет быстрее или медленнее учиться, чем другие подобные языки.

Учебники Sun Java великолепны, но, к сожалению, программирование-это одна из тех вещей, где необходима практика, и это зависит от вашего свободного времени. Также необходимо часто останавливаться и практиковаться, а не после прочтения половины книги. Если вы посвятили этому 10 недель полного рабочего дня-да, это вполне выполнимо для некоторых людей . В конце концов, студенты колледжа становятся сносными разработчиками за один учебный год, когда они проходят другие несвязанные курсы.

Я бы сосредоточился на том, чтобы сначала полностью выяснить Java, не пытаясь использовать J2ME. Тогда вы можете переключиться.

Кроме того, поймите, что существует большая разница между языком и стандартной библиотекой. Главное-выучить язык. Существуют определенные стандартные вызовы библиотек, которые все используют и которые очень важны для изучения, но они не являются частью языка. Тем не менее, вы никогда не будете действительно знать всю библиотеку (хотя вы узнаете из опыта). Гораздо важнее узнать, как найти функциональность, которую вы ищете , а затем точно знать, что это такое или где ее найти. Главное-не изобретать велосипед заново.

Кроме того, поймите, что вы можете быть только сносным разработчиком в конце. Опыт требует времени и часто не может быть ускорен.

Кроме того, даже если вы научитесь программировать, вам будет не хватать некоторых важных общих знаний, таких как структуры данных и алгоритмы. Книги по программированию редко учат этому, Вам придется учиться этому самому (см., например, учебники TopCoder).

Поделиться Uri     14 мая 2009 в 17:31


  • сколько времени вам нужно, чтобы научиться backbone.js

    Я просто решаю выучить backbone.js. Я являюсь разработчиком front-end между младшим и средним уровнем. моя нынешняя работа связана с html, css и jQuery. Мой босс попросил меня выучить этот backbone.js и хотел бы знать, сколько времени мне потребуется, чтобы выучить его. так может ли кто-нибудь,…

  • Сколько времени потребуется программисту, чтобы выучить ruby?

    Сколько времени потребуется разработчику, чтобы выучить ruby. И разработать производственный веб-сайт, такой как stackoverflow ? Обычно. Если у разработчика есть опыт .NET, но нет опыта ruby и MYSQL или PostgreSQL.



16

Хорошо, здесь много людей говорят: «yes» и «yes, but it will be hard», так что я буду отличаться.

Нет.

Проблема не в «learning Java» через 10 недель, потому что я думаю, что к тому времени, когда пройдет 10 недель, вы сможете запрограммировать некоторые вещи и иметь представление о том, что делать, чтобы решить некоторые простые вещи.

Но это не сделает вас готовыми к ускоренному курсу J2ME. Ускоренные курсы, как правило, предназначены для людей, которые имеют сильный опыт в предварительных условиях. Возможно, вы сможете делать многие вещи по ходу дела, но без фона, чтобы понять, почему вы это делаете, это будет казаться большим количеством полуслучайных вещей, которые нужно запоминать наизусть, и, скорее всего, быстро исчезнет.

В принципе, я думаю, что это просто требует времени: время, чтобы позволить урокам впитаться, время, чтобы поэкспериментировать и потерпеть неудачу несколько раз, чтобы «почему» внезапно выскочило на вас…

В конечном счете, я подозреваю, что вы могли бы пройти через это, но что вы в конечном итоге не будете очень опытны. (последние два абзаца поста Uri говорят сами за себя.)

Я не хочу быть полным неудачником, и я определенно надеюсь , что у вас все получится, и мне бы не хотелось ставить на это деньги.

(Поймите, я не знаю вас по Adam…so я делаю заявления, основанные на моем опыте того, как это было для меня и людей, с которыми я работал with. ..so это не пренебрежение к you…just замечанию, что это очень большая еда, которую вы садитесь есть.)

Поделиться Beska     14 мая 2009 в 18:17



7

Обучение программированию в первый раз похоже на изучение иностранного языка. Вы легко сможете воссоздать фразы, которым вас учили, но вам будет не хватать понимания контекста, почему это делается таким образом, и, таким образом, вы не сможете эффективно решать новые проблемы. Это просто требует времени.

Если вы начинающий программист, я действительно не могу рекомендовать Java. Python было бы намного лучше (отказ от ответственности: Python fan-boy, но по уважительным причинам).

Тем не менее, я не думаю, что Новичок мог бы сделать намного лучше, чем Head First Java

Поделиться

ShawnMilo     14 мая 2009 в 18:00



4

Основная проблема, с которой вы столкнулись, заключается в том, что вы впервые изучаете Программирование с помощью Java, и я думаю, что Java-не лучший язык для начала.

Я полагаю, что вы обращаетесь к рабочему проекту, не так ли? Это давление может ухудшить ситуацию. В зависимости от того, насколько сложен проект, вы можете добиться успеха, но изучение Java за 10 недель без фоновых знаний-это еще одна проблема.

Поделиться ivmos     14 мая 2009 в 17:38



4

Я преподаю Программирование Java в средней школе, и наш курс длится 14 недель. Этого времени достаточно, чтобы дать студентам прочную основу в объектно-ориентированном программировании, но студенты недостаточно опытны для разработки и крупных проектов или чего-то слишком сложного.

Многие школы используют учебник Ламберта & Осборна:

Lambert, K. & Osborne, M. Fundamentals of Java: AP Computer Science Essentials for the AP Exam. 3-е изд. 2006. Технологии, Конечно, Томсон.

Поделиться bestattendance     30 июля 2009 в 18:14


Поделиться Johannes     14 мая 2009 в 19:15



2

Я должен сказать, что вы многое берете на себя всего за 10 недель, я только что закончил семестр программирования Java в Юго-Восточном университете Индианы, и я не думаю, что еще начал царапать поверхность. Java-очень строгий язык в том смысле, что его синтаксис очень трудно понять, если у вас вообще нет опыта программирования. Я предложу эти советы перейти к www.bluej.org и вниз загрузить там компилятор Java, с которым, как говорят, легче всего работать, и что большинство колледжей используют его. Кроме того, то, что мы узнали, и из того, что я знаю сейчас, я могу сказать, что они правы. Java-это объектно-ориентированный язык, и Bluej дает вам отличное понимание объектов. Они также показывают вам, как проектировать, классы, методы, массив, список массивов, карты hash, все это есть на этом сайте, и это бесплатно. Я надеюсь, что это поможет и удачи вам в вашей задаче.

Поделиться kennethfsk     16 мая 2009 в 16:16



2

Мой опыт в программировании Java для начинающих несложен в освоении, однако он действительно зависит от того, насколько развиты ваши навыки объектно-ориентированного программирования. Поскольку вы утверждаете , что у вас нет опыта программирования, я думаю , что рекомендую веб-сайт http://www.exampledepot.com/ и введите любое ключевое слово java, такое как Swing, FileInputStream, это дает много практических примеров, которые вы можете применить в проекте.

Пожалуйста, купите книгу java (Sams ‘ java 6 in 24 hours) в качестве ссылки. Это даст вам действительно базовые навыки для java в течение короткого времени. и я уверен, что у вас будет достаточно времени, чтобы узнать о java и J2ME в течение 10 недель. удачи.

Тигр

Поделиться Tiger     15 мая 2009 в 01:53



2

Это зависит от того, насколько усердно вы хотите работать, но да, это возможно. Проблема, с которой вы столкнетесь, заключается в том, что вы должны научиться программировать вместе с обучением java. Это две совершенно разные вещи. Программирование-это умение читать и писать логику, а Java-это язык, на котором вы ее пишете. Если у вас есть математический или физический опыт, это будет намного проще, так как вы уже подвержены такому мышлению.

Если у вас нет книг по началу 30-х годов, я бы пошел и купил одну из них.

Я бы также взял код книги (я бы попытался пройти через это через несколько дней, если бы не в выходные, если это возможно). На самом деле с 10 неделями я бы сделал это в первую очередь, так как это будет основой для того, что вам нужно будет знать, чтобы запрограммировать Java.

Через 10 недель вам придется почти каждый вечер заниматься, чтобы освоиться к тому времени, когда вы пойдете на занятия. Мой лучший совет заключается в том, что, когда вы берете урок, делайте много заметок и не ожидайте, что поймете все. Большая часть того, что бросают в вас там, вероятно, сначала пройдет через вашу голову, и вы забудете. Все в порядке. После того, как урок закончится, вернитесь назад и просмотрите заметки и т. д., Пока это не начнет иметь смысл.

Поделиться kemiller2002     14 мая 2009 в 17:32



2

Существуют различные школы мышления относительно того, сколько времени вам нужно, чтобы стать экспертом в программировании. Я не собираюсь ничего добавлять. Я предлагаю, если у вас нет абсолютно никакого опыта программирования, сначала изучить C. Затем перейдите к Java. Следующий сайт очень хорош для изучения java. http://www.javapassion.com

Поделиться Christy John     30 июля 2009 в 18:07



1

10 недель? Ты с ума сошел? Java API-это массивно, не говоря уже о Java EE, как можно было бы пройти через это за 10 недель? возможно, вы могли бы пройти через 5% из этого за пару месяцев. Я бы сказал,что для новичка потребуется не менее года, чтобы опереться на основы Java. Я имею в виду, что вы не можете просто прочитать главу на тему, а затем думать, что вы ее понимаете. Вы должны потратить много времени, используя эту концепцию или часть API, чтобы, по крайней мере, зафиксировать ее в памяти, не говоря уже о том, чтобы действительно хорошо ее понять.

Реально я бы сказал, что по крайней мере 2, может быть, три года программирования, чтобы достичь отраслевого стандарта начального уровня. И это если вы действительно приложите себя.

Поделиться ally     31 марта 2011 в 18:45



1

Я работал с некоторыми программистами-самоучками, которые читали такие вещи, как»выучите javascript за 0.01 дней». Каждый день стоил своей доли thedailywtf.com .

Кроме того, на собеседовании вас спрашивают: «сколько у вас javascript опыта?», ваш ответ «0.01 дней».

так что удачи, но я надеюсь, что наш путь не пересечется раньше, чем через несколько лет

Поделиться Eric     14 мая 2009 в 21:53



1

Я бы не сказал, что у меня было «no programming experience», но до изучения J2ME большая часть того, что я делал, была на ассемблере более 10 лет назад.

Я пропустил изучение «JAVA» и изучил J2ME, который, по-видимому, является небольшим подмножеством java. Он достаточно мал (если вы игнорируете расширения), что он очень удобоварим и легко объясним в книге среднего размера. С этой точки зрения это было немного похоже на ассемблер (несколько ограниченное количество вещей, которые нужно знать), хотя мне действительно нужно было узнать о OOP.

Я купил несколько книг J2ME, но одна из них показалась мне наиболее полезной: «Programming Wireless Devices with the Java 2 Platform» by Riggs, et al.

Я не помню точно, сколько времени это заняло у меня, но я почти уверен, что писал развертываемый код (это было мобильное приложение табеля учета рабочего времени) примерно за 12 недель.

Поделиться Unknown     20 мая 2009 в 19:27



1

Выполнимо, да. Но вы упускаете из виду много теории программирования, так что даже если вы знаете язык достаточно хорошо, чтобы кодировать на нем, вы не будете знать, как хорошо программировать. Я бы посоветовал вам взять несколько книг для начинающих по объектно-ориентированному дизайну, пока вы этим занимаетесь. Лучшие (по крайней мере для меня) обучающие и помогающие инструменты для нового языка-это учебники и форумы, подобные этому (не забудьте сначала погуглить, хотя есть много вопросов для начинающих, на которые можно ответить простым поиском).

Удачи!

Поделиться Fry     14 мая 2009 в 17:36



1

Вы определенно можете получить хорошее понимание Java за 10 недель, но, как уже упоминалось ранее, практика делает вас совершенным (или, по крайней мере, лучше…).:

Java API будет вашим другом: http://java.sun.com/в J2SE/1.5.0/документы/api/

Java имеет много встроенных функций, поэтому старайтесь не дублировать его (строковые функции и тому подобное).

Кроме того, IDE может сделать некоторые вещи немного сложнее, но это также поможет вам найти свой путь вокруг API. Eclipse-это хорошее место для начала (и это бесплатно) http://www.eclipse.org/

Надеюсь, это немного поможет..

Поделиться newfie_coder     14 мая 2009 в 17:40



1

Можете ли вы научиться рисовать, лепить или рисовать за десять недель? Любой может научиться бить по клавишам программы, так же как любой может взять в руки кисть, но для развития артистизма требуется время и талант . Сделайте себе одолжение и потратьте время и силы на обучение, а не на зубрежку . Уроки, которые вы извлекаете, прилагая согласованные усилия, чтобы знать, как развиваться , будут служить вам гораздо лучше, чем цепляться за него, чтобы встретить какую-то произвольную дату.

Поделиться Wayne Hartman     14 мая 2009 в 17:41



1

Я могу посочувствовать… когда-то я был в таком же затруднительном положении, хотя у меня, по крайней мере, была некоторая предыстория. Я согласен с @ShawnMilo относительно головного кулака Java . Также рекомендую Sams Teach Yourself Java in 21 Days и, учитывая, что вы говорите, что у вас нет опыта программирования, я настоятельно призываю вас взглянуть на проектно-ориентированный мыслительный процесс Мэтта Вайсфельда. Я также согласен со всеми людьми в этой теме, которые говорят, что в программировании есть WAY больше, чем ‘simply’ изучение одного языка (особенно если это Java). Сказав Это, желаю удачи и Божьей скорости.

PS Я бы +1 @Patrick McDonald за чувство юмора, но мне не хватает репутации!

PPS и еще один виртуальный +1 для @Robin. мне было интересно, когда четверо йоркширцев войдут в эту тему…

Поделиться avstrallen     14 мая 2009 в 18:16



1

Для java вам также нужно научиться использовать IDE и настроить свою среду и все такое, чтобы заставить java работать. ..

Тогда для J2ME вам нужно будет кое-что знать о встроенных/мобильных системах….

10 недель с учебниками было бы хорошо, но это также зависит от того, что вы собираетесь делать в своем курсе j2me…

Я бы пошел головой вперед в учебник j2me (предполагая, что вы знаете минимум о переменных функциях и OO)…

удачи…

Поделиться LB40     14 мая 2009 в 21:20



1

Лучший совет для обучения программированию в основном таков: пишите много программ.

Проект Эйлера содержит множество задач, хорошо подходящих для этой цели, так как результирующие программы являются управляемыми по размеру, в то же время фактически позволяя вам решить явную задачу.

http://projecteuler.net/index.php

Поделиться Thorbjørn Ravn Andersen     14 мая 2009 в 21:34



1

У меня не было опыта программирования, и я хотел выучить PHP. Мне потребовалось около 6 месяцев практики помимо моей обычной работы, чтобы развить свои навыки достаточно, чтобы написать несколько простых приложений для веб-сайта. Java немного сложнее…

Поделиться Dan     10 января 2012 в 07:44



0

Как уже упоминали другие,10 недель должно быть достаточно, если у вас есть опыт программирования.

Ближе к 28 неделям, если вы Джефф Этвуд.

Поделиться Jack Leow     15 мая 2009 в 01:59



0

Я не понимаю, почему ты не можешь этого сделать. Я книжный человек, так что выбери книгу и беги по ней. Создайте несколько небольших проектов и завершите их. 10 недель-это больше, чем обычно, чтобы выучить новый язык.

Получайте удовольствие и надеюсь, что вы многому научитесь.

Я бы отправил книги, которые выучил java, но они дома, а я нет.

Поделиться Primetime     14 мая 2009 в 17:31


Похожие вопросы:


Сколько времени требуется SHA-1 для создания хэшей?

Примерно сколько времени и сколько вычислительной мощности требуется для создания SHA-1 хэшей данных? Сильно ли это отличается в зависимости от исходного размера данных? Будет ли генерация hash…


Сколько времени требуется для выполнения цикла?

Есть ли какой-нибудь способ узнать, сколько секунд требуется циклу для выполнения в java? Например: for(int i=0; i < 1000000; i++) { //Do some difficult task goes in here } Это не обязательно…


Сколько времени мне нужно, чтобы выучить LabVIEW

Я знаю, что этот вопрос слишком абстрактен. Но. Сколько времени мне нужно, чтобы выучить LabVIEW, чтобы стать средним разработчиком LabVIEW? Например, если я куплю хорошую книгу о LabVIEW и у меня…


Зная C++, сколько времени нужно, чтобы выучить Java?

Я компетентный разработчик C++. Я понимаю и использую полиморфизм, шаблоны, STL, и у меня есть твердое понимание того, как работают потоки. Для всех практических целей я не занимался разработкой…


Сколько свободы я должен оставить себе, чтобы выучить новый язык?

Я относительно недавно нанят и начинаю работать над небольшим, довольно простым проектом. Язык, на котором будет реализован этот проект, еще предстоит определить. Вопрос в основном сводится к — Java…


сколько времени вам нужно, чтобы научиться backbone.js

Я просто решаю выучить backbone.js. Я являюсь разработчиком front-end между младшим и средним уровнем. моя нынешняя работа связана с html, css и jQuery. Мой босс попросил меня выучить этот…


Сколько времени потребуется программисту, чтобы выучить ruby?

Сколько времени потребуется разработчику, чтобы выучить ruby. И разработать производственный веб-сайт, такой как stackoverflow ? Обычно. Если у разработчика есть опыт .NET, но нет опыта ruby и MYSQL…


Сколько времени требуется для выделения массива (в Java)

Просто общий вопрос о распределении массивов, в первую очередь в Java, но я думаю, что он имеет отношение ко всем языкам программирования: Сколько времени требуется для выделения памяти для массива…


Какова какая-то интуиция за тем, сколько времени требуется для запуска моего фрагмента кода?

Какова некоторая интуиция за тем, сколько времени требуется для запуска моего фрагмента кода? (т. е. сколько времени требуется, чтобы добавить 100 объектов в ArrayList в java?) Чтобы уточнить, я не…


Сколько времени потребуется, чтобы выучить ionic framework?

Я уже знаю html,css, javascript сколько времени потребуется, чтобы выучить ionic framework и чем он отличается от angularjs?

За сколько можно выучить язык программирования Java — советы экспертов

Нет предела совершенству и языки программирования — не исключение. За сколько можно выучить Java, вам не ответит ни один профессионал, потому что свои навыки профессионалы оттачивают весь трудовой путь. Каждый год в языке происходят какие-то обновления, которые подстраивают его под современные тенденции в продвижении сайтов. Каждый год профессиональный программист старается изучать и находить что-то новое. Кто-то считает, что углубляться в специфику одного языка не стоит — лучше выучить несколько языков. А кто-то работает только с одним языком. С чего начать обучение Java начинающему кодеру, читайте дальше.

С чего начать Java программирование

С чего начать изучение Java программирование — с выбора способа обучения. Их несколько:

самостоятельное обучение. В интернете много бесплатных книг, видео материалов, уроков — осталось только решить, с чего начать Java программирование. Всегда есть место сомнению: «Все ли я делаю правильно? Нужно ли вообще то, что я учу?» И пусть отчасти на этот вопрос ответит общение на форумах, из-за отсутствия опыта и понимания рынка могут быть ошибки;

бесплатный онлайн курс. Плюс — логичное построение базы обучения. Недостаток — бесплатные курсы не рассчитаны на глубокое изучение языка;

живое общение на онлайн курсах. Кроме цены недостатков здесь нет. Преподаватель расскажет, как начать писать на Java, ответит на вопросы, поможет с практикой;

личный преподаватель. Подходит для тех, кого интересует индивидуальный график обучения по уникальной программе, разработанной с учетом требований слушателя;

прохождение стажировки в компании. Плюс — работодатель учит под свои требования. Минус — стажировка зачастую неоплачиваемая и уже требует базовых знаний.

В идеале комбинировать все эти способы между собой. Онлайн курсы всегда эффективнее, но они дают только базу и указывают направление. Дальше дело за самоорганизацией и самодисциплиной. И теперь, когда метод обучения выбран, переходите к знакомству с требуемым для обучения ПО и к простейшим командам.

Курсы программиста Java в Easy Code

Начните знакомство с языками программирования вместе со школой Easy Code. Курсы программистов Java Easy Code научат вас теоретическим основам составления работающего кода и покажут вам, как работает скомпилированный код. Здесь учат умению ориентироваться в самых основных тенденциях программирования, находить самое ценное и составлять код без лишней перегрузки. Курсы программистов Easy Code — это:

уютная раскрепощающая атмосфера в небольших группах, формируемых по уровню знаний;

профессиональные учителя, работающие в крупных IT компаниях;

программа, разработанная под современную специфику рынка.

Посетите первое бесплатное занятие — определите, с чего бы вам хотелось начать знакомство с IT. Для тех, кто хочет развивать свой бизнес в сетях и не хочет быть программистом, есть курсы по SMM.

Easy Code — ваша карьера начинается здесь!

Заметили ошибку? Выделите ее и нажмите Ctrl+Enter, чтобы сообщить нам.

с чего начать изучение, за сколько можно выучить, особенности

Образец

Когда речь заходит о том, как «пойти в IT», многие начинают судорожно читать форумы и спрашивать у друзей-айтишников, каким был их путь в мир высоких технологий, дабы последовать примеру и облегчить себе жизнь. Советы и чужие истории — это хорошо, но у каждого своя дорога, отличная от других.

В этой статье мы познакомим вас с Java-технологией, подскажем, с чего начать и как продолжить, как найти работу по специальности и не разочароваться в выбранной профессии.

История технологии Java: с чего все начиналось

Java создали в начале 90-х. Технология с историей, так сказать. В основу этого языка программирования лег синтаксис семейства технологий С (С, С++, С#). Это означало, что программирование будет как минимум легким, как максимум безопасным.

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

Основной принцип работы кода на Java — возможность писать код один раз, чтобы он работал где угодно. Написал — и спокоен. Вместо компиляции различных файлов под каждую платформу, здесь создаётся JAR-файл. И если система поддерживает Java, то файл исполняется.

Чтобы такой принцип стал реальностью, была разработана Виртуальная машина Java или JVM.

JVM — набор инструкций, определяющий ход компиляции кода в зависимости от платформы и дальнейшее его исполнение.

Как начать программировать на Java или соберите всю волю в кулак

Оговоримся сразу, что точного ответа на вопрос, за сколько можно выучить Java, не существует. Но одно правило вам все же следует усвоить: не «ведитесь» на кричащие призывы образовательных курсов «Выучить Джава за месяц? Легко!». Программа таких школ рассчитана на получение поверхностных знаний. Поэтому надеяться на то, что вы сразу станете программистом и найдете работу своей мечты, не стоит.

В среднем, для изучения Java требуется год.

Результат зависит от осознанности вашего решения изучать программирование на Java. Если вы твердо решили, что вам это интересно и нужно, то учеба будет в удовольствие, хоть и с трудностями. А если перед глазами маячат высокие заработки программистов, то лучше расстаться с этой мыслью раз и навсегда. Все от этого только выиграют.

Кстати! Для наших читателей сейчас действует скидка 10% на любой вид работы

Почему стоит изучать Java?

Существует множество языков программирования, но почему стоит начинать свой путь в IT с Java? Во-первых, согласно все тому же индексу TIOBE, Java занимает первое место в рейтинге востребованных языков программирования последние лет десять и не собирается сдавать позиции.

Во-вторых, спрос на грамотных Java-программистов есть всегда из-за мультифункциональности языка. Задачи, которые решает эта технология, не ограничиваются разработкой Android-приложений.

Где используется Java?

  • Android-приложения,
  • десктопные приложения,
  • системы предприятий: обработка личных данных, банковские операции, финансы, торговля,
  • встроенные системы: смарт-часы, контроллеры и даже некоторые системы гибридных авто,
  • Internet of Things,
  • научные исследования. Наряду с Python и MATLAB, Java отлично справляется со сложными задачами.

В-третьих, у Java-технологии припасена куча плюсов, которая перевешивает редкие минусы:

  1. Легкость в использовании. Хоть основы Java взяты из сложного и, порой, неадекватного синтаксиса С/С++, со временем технология была улучшена и упрощена. В результате мы имеем мощный, но простой язык программирования.
  2. Надежность. Объектно-ориентированное программирование тем и хорошо, что сводит к нулю ошибки, которые допускают программисты при написании кода. В отличие от Javascript, который может выдать код с ошибками и даже не обратить на это внимания, Java тщательно анализирует данные и, при наличии ошибок, не пропускает код дальше.
  3. Безопасность. Java создавалась для разработки мобильных приложений. Это означало, что работа по-любому будет вестись с данными пользователей. Отсюда делаем вывод, что данная технология изначально была настроена на высокий уровень безопасности, которого придерживается и сейчас. Есть мнение, что это самый безопасный язык программирования.
  4. Платформонезависимость. Программы, созданные на Java, работают вне зависимости оттого, на какой платформе они запускаются. Технология Java — переносимый язык, которому неважна ни операционная система, ни аппаратная составляющая компьютера.

Java создавалась на основе синтаксиса языка С

С чего начать освоение Java: план самостоятельного изучения java с нуля

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

Общий план для начала изучения Java таков:

  • читаем базовую литературуHead First Java, Second EditionJava. Библиотека профессионала, том 1. Основы. Кей С. Хорстманн, Гари Корнелл; П.Ноутон, Г.Шилдт — «Java 2. Наиболее полное руководство»;
  • читаем статьи про сферу применения Java и выбираем направление, в котором хотим развиваться: Станислав Лозенко: Цикл статей об обучении Java, Сергей Немчинский: Java Enterprise, что и как учить;
  • находим информацию по стеку технологий выбранного направления;
  • составляем план изучения тем и практических заданий по ним;
  • изучаем темы по схеме: книги — статьи — форум — видео. Форумы: Cyberforum — самый крупный русскоязычный форум, Stack Overflow — IT-форум мирового значения (внимание! Нужен английский!) ;
  • устанавливаем JDK и ставим среду разработки: Eclipse, Intellij Idea, NetBeans.

Каждую ступень плана тщательно прорабатываем. Особое внимание уделяем практическому направлению. В этом вам поможет условно-бесплатный ресурс Javarush, который на 80% состоит из практики.

Можно прочитать горы книг, но так и не научиться программировать на Java.

Если хотите и чувствуете в себе потенциал для изучения Java, то дерзайте и твердо стойте на своем, не опуская руки в случае неудач. Со всем остальным поможет студенческий сервис, который освободит вас от написания курсовых, рефератов, контрольных и других студенческих работ.

Стоит ли становиться Java разработчиком в 2020 — Офтоп на DTF

Данная статья, описывает моё личное мнение основанное на моём опыте и опыте моих друзей. Может быть полезна только людям не знающим не один язык, но имеющим желание начать свою карьеру в сфере IT.

{«id»:94900,»url»:»https:\/\/dtf.ru\/flood\/94900-stoit-li-stanovitsya-java-razrabotchikom-v-2020″,»title»:»\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0432 2020″,»services»:{«vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/dtf.ru\/flood\/94900-stoit-li-stanovitsya-java-razrabotchikom-v-2020&title=\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0432 2020″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»facebook»:{«url»:»https:\/\/www. facebook.com\/sharer\/sharer.php?u=https:\/\/dtf.ru\/flood\/94900-stoit-li-stanovitsya-java-razrabotchikom-v-2020″,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/dtf.ru\/flood\/94900-stoit-li-stanovitsya-java-razrabotchikom-v-2020&text=\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0432 2020″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/dtf.ru\/flood\/94900-stoit-li-stanovitsya-java-razrabotchikom-v-2020&text=\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0432 2020″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect.ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/dtf.ru\/flood\/94900-stoit-li-stanovitsya-java-razrabotchikom-v-2020″,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f Java \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u0432 2020&body=https:\/\/dtf.ru\/flood\/94900-stoit-li-stanovitsya-java-razrabotchikom-v-2020″,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}

43 076 просмотров

Привет DTF.
Скажу сразу, что если тему заголовка ставить как вопрос, то однозначного ответа я не дам. Я могу лишь описать своё видение и опыт.

Я являюсь Java программистом. Работаю в компании, где присутствуют множество языков. Основной проект компании написан на Java, но все новые проекты написаны на других языках.
Список языков в компании такой:
Java
Java Script
Type Script
C++
Go
Kotlin
Swift
Python

Компания существует уже более 20 лет и т.к. создавалась, для основного продукта и написана была сразу на Java. Отсюда вытекает 1 пункт, который по моему мнению должен знать новичок, решивший выучить Java

Java — это не про создание, а про поддержку.

Поясню. Java долгое время была лидером на рынке языков программирования — это было модно, стильно, молодёжно. Когда-то на ней писали всё: мобильные игры, серверную часть сайтов, десктопные приложения. Многие из успешных проектов, которые существуют и приносят прибыль создателям до сих пор, всё ещё написаны на Java. Их не стремятся переписать т.к. на этом может уйти много времени, сил и денег. Плюс встаёт вопрос куда девать всех jav’истов.
Этим я хочу сказать следующее — если вы решили стать именно Java программистом, буд-те готовы, что в 75% случаев, вас поставят не в молодой проект. Скорее всего вы будете поддерживать и фиксить баги в коде, который мог ещё остаться от java 5 или 6 версии. Вы в любом случае будете прокачиваться, возможно даже быстро, но не ждите что приобретённые вами навыки будут востребованы на рынке.
Так же в подобных проектах много дедов, которые не готовы к изменениям и не хотят разбираться в новых фишках java.
По факту вы будете чем-то вроде Адептус Механикус. Вы поклоняетесь богу машине, уповаете на её работоспособность, при каждом релизе молитесь, чтобы что-то не отвалилось, а всё, что выше java 8 версии является высшей степенью техно-ереси!

Чем больше у тебя тех обвеса, тем больше ты знаешь про Java 

Сказанное выше это скорее красивая метафора, чем суровая реальность. Просто на мой взгляд это важный аспект, для тех людей которые хотят стать программистом и это нужно знать. Вы все ещё программист, выглядите круто, но по факту — возможно это не то, о чём вы мечтали!

Какой курс капитан?

Тут я опишу, субъективное мнение, относительно того, где я вижу могла бы активно использоваться java и какие проекты на ней стоит начинать.
1) Игровая индустрия
Сразу нет, не мучайте себя и других людей. Вы всегда можете выкрикнуть Minecraft, но я отвечу — «Хотите разрабатывать игры, учите C++ и C Sharp»
2) Автотесты
Возможно. На рынке сейчас очень много вакансий для автотестов на Python и scala, иногда даже встречается C Sharp. Java не самый плохой вариант из предложенных. Плюс в других странах — эта сфера в целом очень популярна становится и прибыльна. Если интересен данный путь развития, Java — добротный вариант с множеством документации и информации.
3) Мобильная разработка
Kotlin в Android сейчас «БОСС качалки», у Яблока есть Swift. Сейчас, если где-то Java и используется, то она скорее f**g slave, чем реальный конкурент.

Лицо нанимателя, когда говоришь на собеседовании, что ты Java разработчик и хочешь разрабатывать мобилки

4) Web(Бэк)Spring — это та технология, которая делает java одним из королей бэкенда. Если вы освоили Spring, то вы будете тем самым счастливчиком, который может поучаствовать в разработке/поддержке нового проекта. Ваша стоимость на рынке так же вырастет.
5) Web(Фронт)У Java был когда-то JSF. Не дай бог парни! JS и TS к вашим услугам.
Далее кратко ещё про пару направлений
Криптография — С++
Машинное обучение — Python

Всё плохо?

На самом деле нет! Java всё ещё хороша и развивается. По всему миру на этом языке ещё очень много вакансий.
НО!
Я часто слышу от людей, ещё не начавших свой карьерный путь, что они хотят учить именно Java. И я уверен многие студенты и пользователи этого сайта, которые лишь выбирают свой путь думают так же.
Я лишь пытаюсь объяснить, что всё уже не так идеально, как это было например в 12-15 годах. Просто учить Java и не задумываться о том, как ты хочешь применять свои навыки — это очень плохая практика.
Да у Java в Ру сегменте есть JavaRush, на HH она довольно часто повторяется в списке вакансий, по ней много книг и если у вас есть знакомые программисты, скорее всего 1 из них точно программирует на Java. Однако — это не повод бездумно начинать учить этот язык, в надежде получать большие деньги, скорее всего всё закончится тем, что вы разочаруетесь или в этом языке, или в программировании в целом.

Как выучить Java с нуля: рецепты успеха от экспертов NIX

18 октября 2019

Существуют десятки мнений о том, с чего лучше начать изучение Java. Одни говорят о курсах, другие тянутся к книжной полке за бессмертным Эккелем, а третьи начинают вбивать запросы в Google. Мы решили сэкономить твое время, посовещались с нашими гуру Java-разработки, посетили десятки крутейших мировых конференций, и теперь готовы поделиться рекомендациями, как реально выучить Java с нуля, чтобы потом сразу взяли на работу. 

Правильный старт

Этап подготовки очень важен — от него будет зависеть скорость и качество твоего дальнейшего обучения. Поэтому первым делом установи JDK и одну из последних версий IDE. 

Остановимся немного на IDE. Рекомендуем на старте познакомиться с IntelliJ IDEA. Здесь ты найдешь встраиваемый в IDE плагин с интерактивными упражнениями, которые позволят в легкой и понятной форме изучать основы Java. Усилить плагин поможет правильно подобранная литература. После этого можно считать, что база у тебя уже есть.

В ожидании инсталляции плагина, займись поиском книг. Переходить к классике и бросаться за чтение Б. Эккеля и Дж. Блоха новичкам мы не рекомендуем. А вот «Head First Java» будет то, что нужно. Эта понятная и легкая для восприятия литература станет для вас ступенькой, с которой вам будет гораздо проще “прыгнуть” к изучению Эккеля. 

Сразу раскроем важный лайфхак — Java можно учить даже по книгам о других объектно-ориентированных языках для новичков. Поэтому заливай в свою электронную библиотеку «Java for C/C++ Developers» от Michael C. Daconta, чтобы сразу расставить все точки над “i” и понять основные отличия одной технологии от другой. 

И обязательно заведи себе отдельную заметку в телефоне (или даже целый блокнот со стильной обложкой). Сюда записывай все вопросы, возникающие по ходу чтения, которым нужно будет уделить больше внимания в будущем — и ответы на которые можно будет как самостоятельно поискать на просторах интернета, так и обсудить на специализированных форумах, Java-митапах в твоем городе или на собеседовании при поступлении на курс обучения, чтобы сразу зарекомендовать себя хорошим студентом ;).

Комбинируем теорию и практическое тестирование

Можно прочитать десятки книг, написать столько же программ или пройти все обучающие курсы Java в Харькове, а завтра выйдет новое обновление, которое ну просто вау какое крутое, и тебе придется заново его учить. А еще через день, возможно, ты сам придумаешь новую фишку и начнешь ее апгрейдить и совершенствовать. И так по кругу.

Будь готов к тому, чтобы превратить Java в стиль жизни. Выделяй определенное количество свободного времени в день (помимо основных занятий, конечно же), которое ты будешь посвящать Java. Читай все, что будет попадать в поле зрения, и обязательно записывай и бери на заметку все, что будет казаться непонятным. 

После знакомства со “вступительной” литературой, можешь приступать к изучению фундаментальных книг. Дополнительно возьми на вооружение специальные подборки материалов по Java — здесь найдется над чем подумать.

И не забывай отслеживать свой прогресс. Заведи для этого специальную систему метрик, проходи Java тесты, которые сейчас достаточно легко найти в интернете для любого уровня знаний, и смотри на полученный результат. Все вопросы, которые вызывают недопонимание, выписывай, гугли и запоминай. Не забывай возвращаться к своему старому коду, и когда спустя время он окажутся не такими уж и блистательными, можешь быть уверен — ты становишься лучше как Java-разработчик.

Как выбрать направление в Java

Прежде, чем с головой уйти в Java, новичкам нужно понимать, что стек этого языка для web-приложений включает в себя множество направлений. Поэтому в самом начале важно изучить некоторые смежные технологии. Для этого разберемся со всем по порядку.

Типовая архитектура работы web-разработчика

Любой сайт и приложение имеет внешнюю (frontend) и внутреннюю (backend) составляющую. Frontend визуализирует серверную работу backend’а. 

Вы можете сразу начать двигаться в сторону web разработки, минуя Servlets/JSP (технология используется как база для современных подходов), использовать стек Spring/Hibernate. Этот стек требуется в 90% случаев. Он является альтернативой JavaEE и фактически стандартом в современном Java мире. 

Для того, чтобы расшифровать то, что ты прочел выше, нужно изучить следующие темы:

— СУБД и SQL, которые отвечают за реляционное и нереляционное хранение данных. В изучении опирайся на книгу «Head First SQL», загляни на полезные online-сервисы и почитай вводные статьи по NoSQL.

— Протокол HTTP и передача данных. Здесь базовой литературой считают книгу «Компьютерные сети» Эндрю Таненбаума. Для более глубокого понимания темы можно прочитать вводные главы любой книги Дмитрия Котерова по PHP. Языки, конечно, разные, но автор дает доступное объяснение, как взаимодействует клиент и сервер.

— JSON и XML. Здесь можно ограничиться Википедией.

— JavaScript и HTML.  Хорошим путеводителем станет статья “Лайфхак: в какой последовательности изучать JavaScript”.

Мы привели базовые вещи, которые максимально широко и доступным языком охватывают основные аспекты Java, помогают понять и разобраться в работе девелопера, а также в реализации твоего первого собственного pet-проекта.

Pet project

Теоретическое изучение Java может быть полезно только в период знакомства с языком. Продвинуться дальше можно только при условии написания собственного проекта. Писать его нужно так же постепенно, как и изучать сам язык. Лучше, если это будет происходить параллельно.

Поэтому в период первого знакомства с Java подумай над идеей проекта. Каждый раз после прохождения новой темы пробуй закреплять ее практикой в своем проекте. В качестве стартового web-сервиса может быть:

— ToDo List;

— каталог прослушанных аудиокниг;

— простой движок форума. 

Будь готов к тому, что тебе придется много раз переписывать (а иногда и начинать с нуля) свой код. Это станет показателем того, что ты прогрессируешь и совершенствуешься в своих знаниях.

При написании первого проекта запрети себе пользоваться дополнительными библиотеками и фреймворками. Для этого тебе придется познакомиться с рефлексией и базовыми паттернами. Здесь рекомендуем обратиться за помощью к GoF — книге по шаблонам. 

Поверь, на выходе ты увидишь отвратительный код, который захочется сразу же удалить :). Но наша задача — не получить идеальный код, а выявить проблемы и решить их фреймворком. 

Ошибки, которые выйдут на свет при написании проекта, покажут твои слабые стороны. Запомни их, выпиши и приступай к изучению. Вот увидишь, после этого изучение Java станет максимально простым. 

О чем еще нужно знать

Во время обучения ты обязательно столкнешься с Java Enterprise Edition и фреймворком Spring. Java EE является спецификацией языка, с помощью которой разработчики могут описать серверную часть проекта. А вот Spring — это один из фреймворков.

Java EE изначально отвечала за стандартизацию, но со временем стало ясно, что она слишком тяжелая. Особенно в сравнении с более упрощенной альтернативой Spring, который сегодня разросся настолько, что теперь у него есть фреймворк над фреймворком – Spring Boot.

Чтобы глубже понять тонкости и отличия обеих платформ, изучи обе. «Head First Servlets and JSP» и «Программирование web-приложений на языке Java» Буди Курняван используй для знакомства с Java EE. А вот со Spring все несколько сложнее, так как он состоит из множества модулей. Мы рекомендуем начать с книги «Spring в действии» Крейга Уоллса и особое внимание уделить Core, MVC и Web-MVC и Security.

Что дальше?

Обычно после прочтения нескольких книг и небольшой практики, возникает потребность углубиться в материал. И вот на этом этапе можно смело подавать заявку на бесплатный курс обучения Java от NIX. Дальнейшее самостоятельное изучение огромного разнообразия тем и направлений Java может привести тебя в замешательство. 

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

А когда ты услышишь от хейтеров, что Java устарел, и нужно выбирать что-то более модное, напомни им о Google, Netflix, Airbnb и Uber, использующих Java в своих продуктах. Это лучшее доказательство того, что Java живее всех живых и что это все еще самый популярный язык в мире, продолжающий активно развиваться.

Могу Ли Я Выучить Java За 20 Дней?

Я не очень уверен в том, что на самом деле значит для вас обучение. Если изучение Java просто означает печать «Hello World» для вас, то вы, безусловно, сможете выучить Java за 20 дней. Иначе, это «НЕВОЗМОЖНО»… Знание Java приходит со временем…

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

Важные понятия Java:

Ну, каждый язык делится на три части (базовый, средний, продвинутый) для учащихся. Для Java разделение выглядит примерно так.

Начальный уровень: OOPS, вложенный класс и внутренний класс, обработка исключений и ошибок, промежуточный уровень многопоточности: базовые классы Java (JFC): библиотеки классов AWT, Swings, Drag and Drop и Java 2D, Java Beans, апплет, сервлет, подключение к базе данных: Драйверы JDBC продвинутого уровня: общие сведения, платформа сбора данных, работа в сети на Java, MVC

Ресурсы для изучения Java:

Полный справочник по Java, девятое издание Герберта Шильдта Глава «Первая Java» Берт Бейтс и Кэти Сьерра «Черная книга Java» доктора Р. Нагесвара Рао Документация по Java от Oracle (для справки)

Как только вы закончите с первыми двумя книгами, переходите к третьей и не раньше. Не используйте ppts, так как ppts никогда не даст вам полного знания.

Трюки для изучения Java:

Люблю Яву. Вместо того, чтобы находить его недостатки, изучите широкий спектр Java. Ежедневно посвящайте свое драгоценное время изучению Java. Не отказывайтесь от темы, если не понимаете. Прочитайте это, пока вы не будете тщательно с этим. Регулярно практикуйте концепции и программы на Java. Просмотрите свои видео IIT на Java, доступные на канале Neptel на YouTube, чтобы решить свои сомнения. Если у вас все еще есть сомнения, поищите в Google или оставьте свои сомнения на форумах Java, таких как javaranch или quora. Тысячи профессионалов здесь, чтобы помочь вам. Если вы выполните описанные выше шаги, то какими бы ни были ваши возможности, вы, безусловно, получите хорошее знание Java в течение месяца. Если вы уверены в себе, зайдите на проект и разрабатывайте его с нуля без посторонней помощи. Не сдавайся. Читайте каждый день, чтобы находить что-то новое в Java каждый день.

Нет необходимости в обучении / коучинге, поверь мне, самостоятельная учеба — это лучшая учеба. Когда вы освоите Java, перейдите на сертификацию OCJP (Oracle Certified Java Professional)…

Надеюсь, к настоящему времени вы уже поняли, как быстро выучить Java, но, конечно, не за 20 дней, потому что «Изучите Java за 21 день» — всего лишь миф…

Люблю Яву !!! Живая Ява !!!

Стать программистом за десять лет

Статьи » Стать программистом за десять лет

Teach Yourself Programming in Ten Years (essay)

© Питер Норвиг, 2001

Примечание: В сети уже имеется перевод данной статьи. Этот вариант отличается полнотой и максимальной приближенностью к оригиналу.

Почему все так спешат?

Зайдите в любой книжный магазин, и вы обнаружите там самоучитель ”Как выучить в Java за 7 дней” и другие бесконечные вариации, предлагающие выучить Visual Basic, Windows, интернет и так далее в течение нескольких дней или часов. Я сделал следующий поисковый запрос на Amazon.com:

pubdate: after 1992 and title: days and
      (title: learn or title: teach yourself)

дата публикации: после 1992 года и название: дни и
      (название: выучить или название: научиться)

и получил 248 результатов. Первыми 78 были компьютерные книги (под номером 79 был самоучитель бенгальского языка за 30 дней). Я заменил «дни» на «часы» и получил удивительно похожие результаты: более 253 книг, сначала 77 компьютерных книг, затем под номером 78 следовал ”Самоучитель грамматики и стиля за 24 часа”. В общей сложности из топ-200 результатов компьютерные книги составляли 96%.

На этом основании можно сделать выводы: либо люди очень сильно спешат узнать все о компьютерах либо сами компьютеры являются той областью, которую неправдоподобно легко изучить, легче, чем что-либо другое. Нет книг о том, как научиться Бетховену, квантовой физики или даже стричь собак в течение нескольких дней. Felleisen, один соавторов книги “How to Design Programs”, так отмечает эту тенденцию, когда говорит о том, что «Плохо программировать легко”. Идиоты могут изучить программирование за 21 день, даже если они ”чайники”.

Давайте проанализируем, что может означать “Выучите язык C за три дня”:

Выучите: 3-х дней вам не хватит, чтобы написать несколько важных программ, а вместе с тем учиться на своих успехах и неудачах. У вас не будет времени на совместную работу с опытным программистом, для того чтобы понять, каково это жить в среде C. Короче говоря, у вас не будет времени многому научиться. Таким образом, книга может только дать вам поверхностное знакомство, но не глубокое понимание. Как сказал Александр Поуп, ”небольшое” обучение — опасная вещь.

Язык C: За 3 дня вы сможете познакомиться с синтаксисом языка C (если вы уже знаете другой язык), но вы не можете многое узнать о том, как использовать язык. Короче говоря, если бы вы были, скажем, программистом Basic, то вы могли бы научиться писать программы в стиле Basic, используя синтаксис языка С, но вы бы не могли узнать для чего C действительно хорош (или плох). Так в чем же дело? Алан Перлис однажды сказал: «язык, который не влияет на то, что вы думаете о программировании, не стоит знать». Возможно, вам действительно нужно выучить немного C (или, скорее, что-то вроде JavaScript или Flash-Flex), потому что вам нужно взаимодействовать с существующими инструментами для выполнения конкретной задачи. Но тогда вы не научитесь программировать, вы просто выполните эту задачу.

За три дня: К сожалению, этого не достаточно, как показывает следующая глава.

Научитесь программированию за десять лет

Исследователи (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) показали: для того чтобы стать экспертом в некоторой области, будь то игра в шахматы, написание музыки, телеграфия, живопись, игра на фортепиано, плавание, теннис или исследования в области нейропсихологии и топологии, требуется около десяти лет. Ключом к успеху является совещательная практика: не только делать что-то снова и снова, но и пытаться решать сложные для себя задачи, которые соответствуют уровню ваших текущих способностей или выше; при этом нужно стараться анализировать вашу работу, как во время решения задачи, так и после и исправлять ошибки. Затем повторять. И снова повторять. Кажется, более короткого пути нет: даже Моцарту, который был музыкально одаренным в возрасте 4 лет, потребовалось более 13 лет, прежде чем он начал создавать музыку мирового класса. Казалось бы, в другом жанре, Beatles ворвался на сцену, заняв первые строчки хит-парадов, появившись на шоу Эда Салливана в 1964 году. Однако они играли в маленьких клубах Ливерпуля и Гамбурга с 1957 года, и хотя они стали популярны у широкой публики очень рано, их первый большой успех среди критиков связан с появлением альбома Sgt. Peppers в 1967 году. Малкольм Гладуэлл (Malcolm Gladwell) приводит данные его исследований среди студентов Берлинской академии музыки. Для этого он опросил лучших, средних и худших студентов о том, сколько они практиковали:

Любой студент из любой группы начал играть примерно в одно и то же время — около пяти лет. Первые годы все практиковали примерно одно и тоже время — около 2-3 часов в неделю. Но около восьми лет начали проявляться реальные различия. Студенты, которые оказались лучшими в своем классе, начали заниматься больше, чем все остальные: 6 часов в неделю в возрасте 9 лет, 8 — в возрасте 12, 16 – в возрасте 14 лет и все больше и больше, пока в возрасте 20 лет они не стали практиковаться более 30 часов в неделю. В возрасте 20 лет элитные исполнители имели за плечами в общей сложности более 10 000 часов практики за всю свою жизнь. Просто хорошие студенты имели в общей сложности 8000 часов, а будущие учителя музыки — чуть более 4000 часов.

Поэтому, может быть, 10000 часов, а не 10 лет является магическим числом. (Анри Картье-Брессон (1908-2004) сказал: «Ваши первые 10000 фотографий являются вашими худшими фотографиями», он фотографировал более часа в день). Сэмюэль Джонсон (1709-1784) считал: «Превосходство в любой деятельности достигается трудом всей своей жизни, его нельзя приобрести по меньшей цене». А Чосер (1340-1400) жаловался: «Жизнь так коротка, а ремесло так долго изучать». Гиппократ (ок. 400 до н.э.) известен отрывком «ars longa, vita brevis», который является частью более длинной цитаты » Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile» и переводится так «Искусство вечно, жизнь коротка, возможность мимолетна, опыт обманчив, решение трудно». Несмотря на то, что на латыни ars может означать и искусство и ремесло, в греческом оригинале слово «ars» может означать только «мастерство», а не «искусство».

Итак, Вы хотите стать программистом

Вот мой рецепт успеха в программировании:

  • Интересуйтесь программированием, и делайте это так, чтобы было нескучно. Пусть вам будет нескучно на протяжении 10 лет /10000 часов.

  • Программа. Лучший способ обучения – обучение на собственном опыте. Выражаясь технически, «максимальный уровень производительности для физических лиц в некоторой области не достигается автоматически в зависимости от большого опыта, однако уровень производительности может быть увеличен даже для очень опытных людей в результате целенаправленных усилий по его улучшению» и «наиболее эффективное обучение требует наличия четко определенных задач с соответствующим уровнем сложности для конкретного человека, информационной обратной связи и возможности для повторения и исправления ошибок». Книга Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life («Познания на практике: разум, математика и культура в повседневной жизни») является хорошей ссылкой на эту точку зрения.

  • Общайтесь с другими программистами, изучайте чужие программы. Это важнее, чем любая книга или обучающий курс.

  • Если у Вас есть желание, потратьте четыре года на колледж (или больше на аспирантуру). Это даст вам доступ к рабочим местам, где требуется документ об образовании и это даст вам более глубокое понимание области..

  • Работайте над проектами с другими программистами. Будьте лучшим программистом в некоторых проектах, будьте худшим в некоторых других. Когда вы — лучший, вы получаете возможность проверить свои способности в качестве лидера проекта, а также как вы вдохновляете других своим видением. Когда вы — худший, вы узнаете, что делают мастера, и чего они не любят делать (потому что они заставляют вас делать это за них).

  • Узнайте, по крайней мере, полдюжины языков программирования. Включите один язык, поддерживающий абстракции на основе классов (как Java или С++), один, поддерживающий функциональную абстракцию (как Lisp или ML), один, поддерживающий синтаксическую абстракцию (как Lisp), один, поддерживающий декларативные спецификации (как Prolog или C++ — шаблоны), один, поддерживающий сопрограммы (как Icon или Scheme), и тот, который поддерживает параллелизм (как Sisal).

  • Помните, что есть «компьютер» в «компьютерных науках». Узнайте, сколько времени требуется вашему компьютеру для выполнения инструкции, выборки слова из памяти (с кэшом и без него), чтения упорядоченных слов с диска, и обращения в другое место на диске (Ответы ниже).

  • Участвуйте в процессе стандартизации языка. Это может быть ANSI C++ комитет или обсуждение стиля кодирования внутри компании, где пространство отступа составляет 2 или 4 уровня. В любом случае, вы узнаете о том, что другим людям нравится в языке, как глубоко они чувствуют его, а может быть даже немного о том, почему они так чувствуют.

  • Будьте готовы начать пытаться стандартизировать язык как можно скорее.

Учитывая все это, еще большой вопрос, как многому вы можете научиться только по книгам. Перед рождением моего первого ребенка, я прочитал все How To книги и все еще чувствовал себя, как невежественный новичок. 30 месяцев спустя, при рождении моего второго ребенка, вернулся ли я к книгам для того, чтобы освежить свои знания? Нет. Вместо этого, я положился на мой личный опыт, который оказался гораздо более полезным и обнадеживающим для меня, чем тысячи страниц, написанные экспертами.

Фредерик Брукс в своем эссе ”No Silver Bullet” определил план из трех частей по поиску великих дизайнеров программного обеспечения:

  1. Как можно раньше систематически выявляйте ведущих проектировщиков.

  2. Назначьте наставника, ответственного за развитие будущих проектировщиков и тщательно контролируйте ход их развития.

  3. Обеспечьте возможность для роста проектировщиков через их взаимное взаимодействие и стимулирование.

Все это предполагает, что некоторые люди уже обладают качествами, необходимыми, для того чтобы стать великими дизайнерами. Алан Перлис выразился более лаконично: «Всех можно научить лепить: Микеланджело бы пришлось учить, как лепить не надо. Так же и с великими программистами». Перлис говорит, что у великих людей есть внутреннее качество, которое выходит за рамки их профессиональной подготовки. Но откуда это качество берется? Оно врожденное? Или же оно развивается через трудолюбие? Как выразился Огюст Густо (шеф-повар в Ratatouille), «каждый может готовить, но только бесстрашные делают это великолепно». Я думаю об этом больше как о желании посвятить большую часть своей жизни совещательной практике. Но, возможно, бесстрашие является способом резюмировать это. Или, как говорит критик Густо, Антон Эго: «Не каждый может стать великим художником, однако великий художник может прийти откуда угодно».

Так что вперед за покупкой Java/Ruby/Javascript/PHP книг; вероятно, вы получите некоторую пользу от них. Но вы не измените свою жизнь и не станете опытным программистом за 24 часа, дня или даже недели. А как насчет упорного труда над улучшением профессиональных навыков в течение 24 месяцев?

Ответы

Приблизительная временная оценка для выполнения различных операций на типичном PC:

Выполнение типичной инструкции 1/1,000,000,000 сек = 1 наносек
Выборка из кэш-памяти 1 уровня 0.5 наносек
Ошибочное предсказание ветви 5 наносек
Выборка из кэш-памяти 2 уровня 7 наносек
Mutex lock/unlock 25 наносек
Выборка из основной памяти 100 наносек
Посылка 2 KB данных через сеть c пропускной способностью 1 гигабит в секунду 20,000 наносек
Последовательное чтение 1MB из памяти 250,000 наносек
Выборка через новое позиционирование на жестком диске (seek) 8,000,000 наносек
Последовательное чтение 1MB на жестком диске 20,000,000 наносек
Посылка пакета из США в Европу и обратно 150 мс = 150,000,000 наносек

Приложение: выбор языка

Несколько людей спросили меня, какой язык программирования они должны учить в первую очередь. На этот вопрос существует не один ответ, однако рассмотрите следующие моменты:

  • Используйте ваших друзей. На вопрос «какую операционную систему следует использовать Windows, Unix, Mac?», я обычно отвечаю: «используйте ту, которую используют ваши друзья». Преимущество, которое вы получите от обучения с помощью друзей, будет компенсировать любые внутренние различия между ОС или между языками программирования. Также учитывайте ваших будущих друзей: сообщество программистов, частью которого вы будете, если будете продолжать. Выбранный Вами язык имеет большое растущее сообщество или оно небольшое и умирает? Есть ли книги, веб-сайты и онлайн-форумы, где можно получить ответы? Нравится ли вам люди на этих форумах?.

  • Будьте проще. Языки программирования, такие как C++ и Java, предназначены для профессиональной разработки большими командами опытных программистов, которых беспокоит эффективность исполнения их кода. В результате эти языки имеют сложные части, предназначенных для удовлетворения таких требований. Ваша же цель — обучение программированию. Вам не нужны эти сложности. Вам нужен язык, который можно легко изучить и использовать единственным программистом.

  • Играйте. Какой путь вы избрали, чтобы научиться играть на фортепиано: нормальный, интерактивный способ, в котором вы слышите каждую ноту, как только вы нажмете клавишу или «пакетный» режим, в котором Вы слышите только ноты после того, как вы закончите песню целиком? Очевидно, что интерактивный режим проще для обучения как игры на фортепиано, так и для программирования. Используйте язык с интерактивным режимом.

Учитывая эти критерии, мои рекомендации для выбора первого языка программирования будут такими: Python или Scheme. Но для вашего случая обстоятельства могут измениться, есть и другие хорошие выборы. Если ваш возраст — единственная цифра, вы можете предпочесть Alice или Squeak (более взрослые ученики также могут пользоваться этим). Важно то, что вы выбрали и хотите начать работу.

Источник: http://www.norvig.com/21-days.html

Переход от «Hello World» к многопоточности: сколько времени нужно, чтобы изучить Java? | Джона Селавски | Javarevisited

Java считается одним из наиболее удобных для начинающих языков для изучения благодаря своей «объектно-ориентированности», безопасности типов и общей простоте. По сравнению с C или C ++, где понимания указателей достаточно, чтобы сводить разработчиков с ума, «получение» Java кажется прогулкой по парку.

Сказав это, когда именно вы можете быть уверены в знании Java? В чем смысл «выучить» язык и как до него добраться? Поскольку эти вопросы чрезвычайно распространены среди новичков в программировании, я решил поближе взглянуть на путь к мастерству Java.

Короче говоря, от относительного до абсолютного владения Java уходит от 6 месяцев до десятилетий. Почему такая разница? Давайте подробнее рассмотрим, что такое свободное владение Java.

Лично у меня есть две шкалы для определения моего или чужого владения языком программирования. Первый из них объективен — насколько квалифицирован кодер в использовании технологии как функционально, так и идиоматически.

Я оцениваю свои навыки в любом языке программирования следующим образом:

  • Hello World — способность решать базовые практические задачи из 101 учебника по программированию.
  • Уровень владения — кодировщик может писать функциональные программы, но ему необходимо изучить особенности и технологии перед выполнением задания.
  • Свободное владение — вам не нужно много ориентиров, чтобы писать сложные решения.
  • Родной код — код, который вы создаете, неотличим от кода другого носителя языка, вы можете свободно использовать весь набор инструментов Java и вам не нужны ссылки для создания сложных решений.

Есть еще один способ оценить ваше владение Java — это то, позволяет ли ваш уровень владения языком выполнять повседневные задачи программирования. Вот примеры того, как «изучение Java» может варьироваться между программистами:

  • Возможность написать базовое решение производственного уровня;
  • Выполнение задач колледжа без необходимости обращаться к API за ссылками;
  • Прохождение собеседования с младшим Java-разработчиком;
  • Мыслить языком и видеть алгоритмы, а не используемые элементы;
  • Замечать недостатки языка и искать пути их улучшения.

Как видите, для каждой пули в списке требуется разная степень погружения — первая достигается за месяцы, а последняя может потребовать десятилетий ежедневной самоотдачи.

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

В этом посте я подхожу к «овладению языком» как к способности легко проходить собеседование при приеме на работу, отвечая как на теоретические вопросы, так и на практические задачи. Давайте подробнее рассмотрим, что именно вам нужно знать, и найдем самые быстрые и эффективные способы внедрить концепции Java в свой мозг.

Java — один из самых удобных для начинающих языков программирования. При поиске обучающего контента вы можете быть шокированы количеством имеющихся в вашем распоряжении блогов, видеоуроков, онлайн-курсов и обучающих платформ.

Начинающих программистов часто разочаровывает такое разнообразие средств обучения. Если вы задаетесь вопросом: «Стоит ли мне читать книгу по Java, или это слишком прошлое столетие» или «Являются ли онлайн-курсы лучшим способом выучить язык», взгляните на это последовательное сравнение самых популярных курсов обучения Java инструменты, их плюсы и минусы, а также время, необходимое для завершения процесса обучения.

Интерактивные средства обучения Java — одно из новейших средств обучения, и учащиеся начального уровня еще не уверены в их эффективности.

Плюсы:

  • Сделайте процесс обучения более увлекательным.
  • Вы можете применять концепции Java в реальных ситуациях.
  • Сосредоточен на практических задачах, а не на теоретических концепциях.

Минусы :

  • Требуется теоретическое понимание принципов Java.
  • Не изучайте теорию так крепко, как книги.
  • На выполнение уходит больше времени, чем на другие средства обучения.

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

Лучшие платформы обучения Java

  • Codegym.cc — углубленная платформа для изучающих Java начального уровня.Созданная как увлекательная многоуровневая игра, в ней используются шутки и игровые персонажи, чтобы сделать обучение программированию увлекательным. Присмотревшись к игровой оболочке платформы, вы поймете, что CodeGym — один из самых продвинутых инструментов обучения, охватывающий все, от Java Core до SQL, Hibernate и JSP.
  • CodinGame — эта платформа представляет собой набор практических задач и задач, которые необходимо решить с помощью кодирования. CodingGame поддерживает более 25 языков, включая Java. Креативное повествование и современная графика — вот что выделяет CodinGame среди других интерактивных платформ.
  • CodeHunt. Хотя этот не предлагает плана обучения, это определенно надежный инструмент для отработки навыков Java. В CodeHunt ученики должны сравнить два фрагмента кода и выбрать рабочий. Есть таблица лидеров, чтобы поддерживать мотивацию и желание совершенствоваться.

Плюсы :

  • Краткое изложение теоретических концепций языка;
  • Вы можете выбрать темп обучения, пропуская знакомые части и сосредотачиваясь на более сложных темах.
  • Книги предлагают углубленное изучение теории программирования, помогая вам правильно использовать словарный запас программистов на собеседовании.

Минусы :

  • Нет места для отработки приобретенных навыков
  • Отсутствие личной связи со специалистом по программированию позволяет легко неправильно понять концепцию;
  • Книги со временем устаревают — вы не получите руководства по последним обновлениям языка.
  • Никакой вовлеченности, читать легко наскучить.

Хотя программисты 21 века часто пренебрегают книгами по программированию, на мой взгляд, им не следует этого делать. Я считаю, что чтение книги по основам нового языка дает представление о технологии с высоты птичьего полета — ее приложениях, плюсах и минусах, а также основных концепциях.

Лучшие книги для изучающих Java:

  • Java: A Beginner’s Guide — это руководство по Java Core в стиле учебника. Помимо использования увлекательных, нетехнических метафор, помогающих понять концепции программирования, Герберт Шильдт добавляет в каждый раздел тесты и практические задачи.Обязательно заполните их, чтобы улучшить удержание знаний.
  • Эффективная Java. Эту книгу необходимо прочитать кодировщикам со знанием Java на начальном уровне. «Эффективная Java» — это список из 78 практик, которые изменят ваш подход к решению проблем, добавят элегантности и гладкости вашему коду и сделают конечный продукт более естественным.
  • Java Concurrency на практике. Несмотря на то, что эта книга довольно устарела (книга посвящена Java 5.0), она представляет собой отличный обзор концепций параллелизма и многопоточности.Java Concurrency in Practice нелегко читать, но, как только вы справитесь с этим, решение любых практических проблем, связанных с параллелизмом, на рабочем месте будет легким делом.
  • Производительность Java: определенное руководство. Это отличное чтение для вас, если вы не разбираетесь в JVM, настройке производительности или сборке мусора. Книга охватывает широкий круг тем о производительности Java — от настройки приложений баз данных до JAVA SE и EE API.

Плюсы :

  • Обучение по запросу.Онлайн-курсы являются гибкими: они разделены на модули, что позволяет студенту выбирать, какие темы требуют больше времени и внимания, и пропускать другие.
  • Увлекательное обучение. Большинство онлайн-курсов содержат видеоуроки, викторины и даже встроенную среду IDE для решения практических задач. Таким образом, студенты Java могут получить сбалансированное сочетание теоретического и практического образования.
  • Доступность. Есть много дешевых курсов по Java, некоторые из них даже бесплатные.

Минусы :

  • Репутация.Публикация книги — серьезное обязательство, в отличие от онлайн-курсов. Учитывая, насколько велика Java прямо сейчас, есть много преподавателей, которые выпускают посредственный учебный контент. Когда вы тратите время на прохождение таких курсов, чаще всего это напрасная трата времени.
  • Не так лаконично, как книги. Хотя онлайн-курсы в определенной степени гибкие, вам, возможно, придется мириться со скоростью лектора или проходить тесты по темам, которые вам хорошо знакомы, чтобы открыть новые учебные пособия.

Лучшие курсы обучения Java

  • LinkedIn Learning Java Tutorials — это краткий и увлекательный курс по основам Java. После прохождения всей серии руководств вы получите четкое представление о методах, синтаксисе и потоках, которые программисты Java обычно используют в реальном мире.
  • Полный мастер-класс Java по Udemy — это один из самых известных онлайн-курсов по Java, в котором обучаются более 207 000 студентов. Конечно, если вы решите придерживаться мастер-класса, вам нужно сделать изучение Java обязательным — есть 72 часа учебных материалов, а также викторин и практических задач.Курс охватывает Java 8 и 9, многопоточность, модульное тестирование, базы данных, сети и многие другие концепции. Этот курс Удеми заслуживает внимания.
  • Java в деталях. Это еще один углубленный онлайн-курс, который редко встречается в программировании на Java. Мне понравилось количество деталей и относительная легкость, с которой инструктор излагает концепции программирования на Java. Конечно, здесь не так много примеров или практических проблем, однако в качестве краткого изложения основных концепций языка Java In-Depth отлично справляется.
  • Программа на Java для начинающих за 250 шагов. Несмотря на то, что курс хорошо структурирован и углублен, он также бесплатный. Все учебные материалы структурированы по модулям — текстовые руководства и слайды знакомят начинающих программистов с концепциями Java.

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

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

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

Вот что означает изучение Java Core:

  • Проверка синтаксиса .Сначала разработчик должен узнать, что такое объекты, классы и методы, уметь работать с операторами if-else, использовать циклы, массивы и простейшие операторы.
  • Понимание объектно-ориентированного программирования . Поскольку ООП используется на нескольких языках, вам следует уделять этому много внимания. Абстракция и инкапсуляция данных, представление классов, наследование и полиморфизм — вот некоторые из концепций, которые вам необходимо четко понимать.
  • Обработка коллекций Java и исключений Java — разработчик должен быть уверенным пользователем интерфейсов Java Collection и Map. Помимо этого, каждый студент CS должен изучить java.lang.Exception и уметь определять классы исключений.
  • Алгоритмы Java — знание того, как выбрать и применить правильный алгоритм для решения данной проблемы, сэкономит вам много времени при выполнении рабочих проектов.
  • Многопоточность Java — это одна из самых сложных тем Java, знаменующая ваш переход от новичка к разработчику Java среднего уровня.
  • Модульное тестирование — вас как разработчика попросят написать модульные тесты, поэтому выделите время на то, чтобы научиться делать это правильно.
  • Лямбды — это относительно новая концепция, однако, поскольку большинство людей действительно используют Java 8 или более новые версии, вам необходимо хорошо владеть лямбдой.

Как упоминалось выше, овладение языком программирования — это нечто большее, чем понимание функций и синтаксиса. Java настолько универсален, что часто используется в сочетании с другими технологиями. Как разработчик программного обеспечения, вы хотите максимально использовать любой язык программирования, выбранный для проекта — вот где вам пригодятся надстройки для обучения.

Вот надстройки Java, которые необходимо освоить продвинутому разработчику, чтобы быть мастером на все руки на рабочем месте.

  • SQL — технология, используемая для обработки баз данных и управления системой управления реляционными базами данных.
  • JavaScript — занимает первое место в списке лучших языков программирования StackOverflow, JS — это технология, которая может понадобиться вам больше, чем стандартная Java. Конечно, JavaScript очень сложен, поэтому иногда кажется, что освоить новый язык с нуля, но это путешествие не будет чрезвычайно сложным, если вы в хороших отношениях с Java.
  • Git — инструмент номер один для управления вашим кодом.

Теперь, когда мы составили план действий и предложили инструменты для запуска Java с нуля, давайте перейдем к сути проблемы — сколько времени нужно, чтобы изучить Java?

В среднем, чтобы стать уверенным программистом на Java, требуется 1-2 года, если учесть, что вы тратите 2–3 часа в день на практику программирования. Ознакомление с языком до такой степени, что вы сможете редактировать чужой код или писать базовые приложения, может занять всего четыре месяца.

Что касается учебного контента, я бы посоветовал выбрать сочетание книг, онлайн-курсов и ориентированных на практику платформ или игр — каждая из них полезна и уникальна. Имейте в виду, что изучение Java — это долгий путь, но, в конце концов, изучение любого языка ООП после Java будет намного проще, и освоение JS также станет легко достижимой целью.

Сколько времени нужно, чтобы выучить Java?

Итак, сколько времени нужно, чтобы изучить Java? Десять лет, десять недель или один день? Может всю жизнь? Вы можете найти весьма своеобразные ответы на этот вопрос на некоторых онлайн-форумах.Давайте проясним с самого начала. В этой статье «знать Java» не означает, что вы можете написать «Hello world program». Речь идет о достаточном знании Java, чтобы найти свою первую работу. Девиз Базза Лайтера в названии — не совсем шутка. Вы действительно можете продолжать изучать Java или любой другой язык до конца своей жизни. Причина в том, что язык постоянно развивается, его объем меняется и… Хорошие новости, друзья! Нет причин для паники! Изучение миссии Java определенно возможно завершить за 3–12 месяцев, однако есть много нюансов, которые мы обсудим в этой статье.Здесь мы также постараемся ответить на вопрос «как быстро выучить Java».

Как мы ищем ответ

Вопрос «сколько времени нужно на изучение Java» довольно сложен. Мы разбили его на более конкретные подвопросы и ответим на них здесь. Чтобы быть более точным, мы использовали интервью со студентами CodeGym, открытые источники и статистику опроса, проведенного в конце 2019 года. Этот опрос касался процессов изучения Java и поиска первой работы. Его проводило одно из местных подразделений CodeGym.Участниками опроса были студенты CodeGym уровня 30 и выше, которые нашли свою первую работу, связанную с Java, или прошли стажировку по Java.

Что означает «знать Java»?

Самый точный, хотя и очень общий ответ на этот вопрос — «уметь решить проблему с помощью Java». Такой проблемой может быть цель «сдать экзамен» или «устроиться на работу». Или это может быть техническая задача, например, большая «создать свой собственный проект, достаточно подходящего для Play Market», или небольшая, например, «понять, как написать код, который делает то, что вам нужно.” Конечно, со временем ваши проблемы изменятся. После получения первой работы вам нужно будет дорасти до должностей (например, от младшего разработчика Java до среднего / старшего разработчика Java). За первой задачей по кодированию следует вторая. Далее, когда вы это сделаете, появятся какие-то новые цели. Вернемся к нашему вопросу. Какие темы нужно знать, чтобы написать «Я знаю Java» в своем резюме? Студенты, изучающие Java, обычно изучают следующие темы:
  • Core Java или
  • Core Java + JUnit или
  • Core Java + базы данных или
  • Core Java + Tools или
  • Core Java + библиотеки или
  • Core Java + Spring + SpringBoot + Hibernate или
  • Core Java + Android SDK или
  • … и все вышеперечисленные комбинации.
Все эти темы объединяет одно общее. Это Core Java, основы языка Java. Так что, если вы не знаете Core Java, вы определенно не знаете Java вообще. Таким образом, изучение Core Java — это шаг №1 для каждого будущего разработчика программного обеспечения Java. Core Java охватывает фундаментальные концепции языка:
  • Основные виды и объекты
  • Основные конструкции (спецоператоры, петли, филиалы)
  • Концепции ООП
  • Классы оболочки
  • Коллекции
  • Многопоточность
  • Потоки ввода-вывода
  • Обработка исключений
Итак, Core Java содержит основные типы, объекты, конструкции и принципы, а также наиболее важные библиотеки и фреймворки.Кроме того, Core Jav охватывает классы для работы в сети, безопасности, доступа к базе данных, разработки графического пользовательского интерфейса (GUI) и синтаксического анализа XML. В основном все пакеты «Core Java» начинались с ‘java. lang ..’ Первая цель каждого студента Java — изучить Core Java. Чему научиться после Java Core? Это зависит от того, для чего вы изучаете Java.

Ваш личный образ. Для чего вы изучаете Java?

В этой статье мы не рассматриваем такие варианты, как «Я изучаю Java просто для развлечения» или «Я хочу преподавать Java в будущем».Речь идет о профессиональном использовании Java в ИТ. В настоящее время Java чаще всего преподается одним из трех способов:
  • Разработчик Java, от стажера / младшего разработчика до старшего разработчика
  • Разработчик Android, инди или в компании (от младшего до старшего)
  • Автоматизация контроля качества (с Java)

Java Developer

Пул Java-разработчиков очень широк, и требования к знаниям Java заключаются в получении вашей самой первой работы, которые могут сильно различаться.Согласно опросу CodeGym, есть люди, которые получили свою первую работу в Java Junior, зная только Java Core и ничего более. Компании были готовы обучать их в процессе работы. Однако это довольно редкое событие. Чаще такой человек может пройти стажировку или стать стажером Java после сдачи экзаменов. Обычно соискатели Java Junior должны знать больше, чем просто Java Core, чтобы получить свою первую работу. Вот список соответствующих технологий, которые должны знать разработчики Java.
  • Ядро Java
  • JDK API
  • Java 8 (лямбды)
  • Библиотеки тестирования (JUnit)
  • Пружинный каркас
  • Spring Boot и Spring MVC
  • Спящий режим
  • JDBC
Ниже представлена ​​расширенная инфографика, основанная на опросе CodeGym и анализе текущих вакансий Java Junior.Отметим только, что он изображает не саму Java, а ряд других технологий, которые должны знать современные Java-разработчики. Его размер и разветвленность могут напугать неподготовленного читателя. Пожалуйста, успокойтесь и дышите полной грудью! Эти технологии вы подробно изучите в процессе работы. Обычно начинающему разработчику программного обеспечения необходимо иметь общее представление о большинстве этих технологий (за редкими исключениями).

Android Developer

Android-разработчики могут работать в компании или иметь свои собственные проекты.Они обязательно должны знать Java Core и некоторые другие технологии. Здесь у нас есть одна инфографика, демонстрирующая способ разработки Android. Что ж, в списке много пунктов, но не многие из них напрямую относятся к Java (только инструменты тестирования и, собственно, Core Java). Обычно разработчики сходятся во мнении, что самостоятельное изучение программирования для Android несколько проще и быстрее, чем разработка для предприятий. Тем не менее, даже тем, кто претендует на должность Java Junior, будет полезно создавать Android-проекты для тренировки навыков программирования.

QA Automation

Хороший QA Automation должен хорошо знать язык программирования, это один из самых важных навыков для этой профессии. Подключен к Java
  • Ядро Java (особенно ООП, Коллекции, Файловые Операции)
  • Библиотеки тестирования (JUnit)
  • IntelliJ IDEA
Прочие технологии:
  • Структура Selenium RC / WebDriver
  • Страница объектной модели
  • HTML / CSS
  • SQL
Обычно путь к младшему разработчику QA несколько короче, чем к младшему разработчику Java.Точные цифры вы найдете в конце этой статьи.

Кто спрашивает? Портреты потенциальных студентов Java

«Я думаю, это зависит от вашего опыта и количества времени, которое вы можете потратить на обучение. Когда я начинал свой путь в качестве разработчика программного обеспечения, я тратил на обучение не менее 40 часов в неделю. После 6 месяцев очного обучения я почувствовал себя достаточно уверенным, что смогу освоить любую новую технологию самостоятельно. Чтобы получить свою первую работу в качестве инженера-программиста, вам необходимо не только изучить Java, но и понять основы информатики, объектно-ориентированного программирования и написать несколько проектов, которые могут продемонстрировать вашу работу. Я думаю, это может занять от девяти до двенадцати месяцев. Я знаю, что это звучит как большая работа, но не расстраивайтесь! Это путешествие может стать настоящим развлечением, если вы узнаете, какой аспект программирования приносит вам радость, и позволите себе поиграть ». Юлия Дейнега, разработчик программного обеспечения-самоучка. Юлия работает в LinkedIn в должности ученика инженера REACH. Также она создала канал на YouTube, чтобы поделиться своим опытом изучения компьютерного программирования и поиска работы в Кремниевой долине. Мы можем разделить тех, кто начинает изучать Java, на три основные категории:
  1. «Новички».Нулевой опыт. Что ж, вот люди, которые ничего не знают о программировании.
  2. «Коридоры». Студенты с минимальным или хаотичным опытом программирования. Эти люди изучают программирование в школе, университете или на курсах, но это не было серьезным обучением.
  3. «Плюсы». Разработчики программного обеспечения, знающие другие языки программирования (1 или более).
Согласно опросу, 49% наших студентов изучали основы программирования в школах или на курсах, прежде чем они начали серьезно изучать Java.
  • 33.3% были абсолютно новичками
  • 17,6% знали хотя бы один язык программирования

Что положительно влияет на время учебы?

Чтобы не тратить зря время, нужно с самого начала подходить к обучению эффективно. Мы определили основные моменты, которые способствуют успешному программированию обучения.

Выберите правильные источники

В Интернете можно найти много различной информации о Java. В нем легко заблудиться. Иногда, если вы не разбираетесь в теме, полезно поискать в Google новые источники, но перед тем, как начать, рекомендуется выбрать: 1 основной курс и 1-2 дополнительных источника, таких как книги или учебные пособия по Java.Придерживайтесь их. В этом случае вы сэкономите свое время, избегая бесцельного блуждания по Интернету и поиска чего-либо.

Будьте готовы учиться много и последовательно.

Джон Селавски, Java Tutor и Software Developer, сказал в одной из своих статей, что иногда у него были ученики, которые удивительно хорошо программировали, но некоторые из них просто перестали учиться. Их проблемы заключались не в свободном времени, возрасте или поле. Дело не в способностях! Речь шла о последовательности. У всех успешных студентов был постоянный график, и они его придерживались.Они добились прогресса, даже если иногда он был медленным. Итак, у вас должно быть расписание (вы можете взять его из основного курса или учебника) и установить время для обучения. Вы хотите сделать программирование на Java своей профессией? Если да, будьте готовы ежедневно учиться в течение 1–3 часов. Согласно опросу CodeGym, 52,3% наших успешных студентов ежедневно практиковались от 1 до 3 часов.

Хорошее соотношение для теории и практики

Вы не можете научиться плавать, не пытаясь плавать, только по книге. Та же история и с программированием.Вы не можете научиться программированию, не написав код. Программирование — это практическая деятельность. Важно начать писать код как можно раньше. Не нужно сразу изучать слишком много теории, особенно в первые месяцы обучения. Лучше изучать его небольшими порциями, а потом сразу исправлять на практике. Итак, 20% вашего времени отводится на теоретические исследования, а 80% — на практику. Здесь правильное место, чтобы вернуться к самому первому вопросу «Что значит знать Java» и уточнить ответ.Знать Java — значит уметь программировать на Java. Не «знаю о Java», но уметь писать программы различной сложности и иметь некоторый опыт в таком кодировании.

Хорошее соотношение для простых и сложных задач

Новички довольно часто пытаются решить какие-то сложные задачи, пробуют их снова и снова. Если они будут делать это слишком долго, результат может быть печальным. Это путь к потере мотивации. Новичкам выгоднее решать множество мелких и простых задач, чем несколько сложных. Хорошее соотношение для первых месяцев обучения — 1 сложное задание к 10–20 простым заданиям. И еще: если задача для вас слишком сложна и вы несколько раз пытались ее решить, наберитесь смелости… отложите ее, пока не узнаете больше. Лучше решить несколько более простых задач, а затем вернуться в непроходимую крепость. Или … если вы все еще думаете, что сейчас подходящее время, чтобы решить эту проблему, не бойтесь задать вопрос. Это следующий момент.

Уметь задавать вопросы

Новички часто сомневаются, следует ли им задавать вопросы на форумах и в сообществах, потому что они думают, что их вопросы могут быть глупыми.Что ж, определенно могли! Но ничего страшного, волноваться не о чем! Каждый разработчик программного обеспечения был на вашем месте и нуждался в ответе на глупый вопрос новичка. Ну и что? Сообщества программистов в некоторой степени сотрудничают. Разработчики программного обеспечения обычно работают в команде, и все они когда-то были новичками. Каждый студент и даже каждый профессиональный разработчик программного обеспечения время от времени задает глупые вопросы, и в этом нет никакого преступления. Так что, если что-то пошло не так, зайдите на форум и задайте вопрос! Конечно, это может быть Javaranch, Stack Overflow или CodeGym Help.Лучшие форумы, чтобы задавать вопросы или искать ответы:

Итак, как долго мне нужно изучать Java, чтобы получить первую работу?

Мы подошли к тому моменту, когда мы можем ответить на главный вопрос этой статьи: сколько времени нужно, чтобы изучить Java, прежде чем вы начнете рассылать свое резюме и получить свою первую работу? Мы используем данные опроса и интервью студентов, чтобы построить следующие графики, которые учитывали исходный уровень респондентов и одну из трех необходимых позиций. Для каждой группы мы определили интервалы времени, в течение которых они изучали Core Java, и время, которое они потратили на изучение связанных технологий, необходимое для получения первой работы.Внимание! Вот информация для чтения графиков. «Новичок» — это человек с нулевым опытом программирования, «Средний» — это тот, кто немного научился программированию в школе или на курсах. В случае Java и Android Developer «Pro» означает человека, хорошо знающего один или несколько языков программирования. В случае с QA Automation «Pro» означает того, кто уже работает с ручным тестированием и хочет стать автоматом с языком Java. Для всех графиков мы использовали шкалу времени с количеством месяцев.Красные прямоугольники означают время, потраченное на изучение Core Java, синие — для других необходимых технологий, кроме Core Java. Важно понимать, что графики показывают среднее время, затрачиваемое респондентами из каждой группы на изучение технологий. Фактически, в каждой группе были чемпионы, которые справлялись с обучением намного быстрее, а также были те, кто откладывал учебу на несколько лет. Общее время обучения указывает на момент, когда соискатели начали рассылать резюме или завершили свой первый проект (тот, который начал приносить прибыль).Согласно нашему опросу, в среднем на поиск работы уходит от месяца до трех. Эти месяцы поиска начинаются с окончания изучения родственных технологий. Были счастливчики, которые находили работу через неделю после отправки своего первого резюме, но были и те, кто потратил на поиски год.

Выводы

Как долго учить Java? Согласно результатам исследования, скорость изучения Java и связанных с ней технологий во многом зависит от регулярности и начального уровня студента. Конечно, сейчас вы ничего не можете сделать со своим начальным уровнем, но регулярное обучение — это определенно ваша обязанность.Как быстро выучить Java? Старайтесь не делать длительных остановок и не откладывать дела на потом во время обучения. Это чрезвычайно важно, потому что во время длительных остановок вы не просто стоите на месте, а постепенно откатываетесь назад. Ежедневная практика, настойчивость и мотивация — все это вам обязательно понадобится, если вы решите изучать Java и связанные с ней технологии. Если вы следуете установленному расписанию, соблюдаете правильный баланс теории и практики и практикуете ежедневно не менее 1-3 часов, не боясь задавать вопросы, вполне возможно выучить Java до уровня, который позволит вам найти ваша первая работа через 6-12 месяцев. … А затем продолжайте свое обучение в качестве специалиста по разработке / контролю качества до бесконечности! P.S .: А что насчет вас? Как долго вы сейчас изучаете Java? Насколько сложен этот процесс? Или, может быть, вы уже нашли свою первую работу, связанную с Java? Было ли это сложно? А может вы просто начали его искать? Поделитесь своим опытом здесь!

Сколько времени нужно, чтобы изучить Java для полного новичка?

Главный вопрос заключается в том, занимались ли вы каким-либо программированием в прошлом, поскольку это может быть основным усилием.Я подозреваю, что если бы вы этого не сделали, вы бы выжили, но не обязательно преуспели. Вы указываете, что у вас не было опыта программирования, поэтому именно здесь у вас будет больше всего проблем и вы будете проводить большую часть своего времени. Java не обязательно будет быстрее или медленнее изучать, чем другие подобные языки.

Учебники Sun по Java великолепны, но, к сожалению, программирование — одна из тех вещей, где необходима практика, и это зависит от вашего свободного времени. Также необходимо часто останавливаться и практиковаться, а не после прочтения половины книги.Если вы посвятили ему 10 недель полного рабочего дня — да, это вполне выполнимо для некоторых людей . В конце концов, студенты колледжа становятся хорошими разработчиками за один учебный год, когда они проходят другие, не связанные с ним курсы.

Я бы сосредоточился на том, чтобы сначала полностью разобраться в Java, не пытаясь использовать J2ME. Тогда вы можете переключиться.

Кроме того, имейте в виду, что существует большая разница между языком и стандартной библиотекой. Главное — выучить язык. Существуют определенные вызовы стандартных библиотек, которые все используют и которые очень важно изучить, но они не являются частью языка.Однако вы никогда не узнаете по-настоящему всю библиотеку (хотя вы узнаете из опыта). Более важно научиться , как найти функциональность, которую вы ищете для , чем точно знать, что это такое и где ее найти. Важно не изобретать велосипед заново.

Кроме того, поймите, что вы можете быть только сносным разработчиком в конце. Опыт требует времени, и его часто нельзя торопить.

Кроме того, даже если вы научитесь программировать, вы упустите некоторые важные общие знания CS, такие как структуры данных и алгоритмы.Книги по программированию редко учат этому, вам придется изучить это самостоятельно (см., Например, учебные пособия по TopCoder).

Сколько времени нужно, чтобы изучить Java?

Вы решили начать изучать Java и задаетесь вопросом, сколько времени вам понадобится. Тогда эта статья для вас. Мы не только посмотрим на время, необходимое для изучения Java, но я также дам вам советы, как начать.

Время обучения зависит от разных факторов. Вы научитесь намного быстрее, если будете знать любой другой язык программирования.Но если вы полный новичок, это может занять довольно много времени.

Итак, в этой статье мы рассмотрим

Зачем изучать Java?

Во-первых, у вас должна быть четкая цель, какова ваша цель изучения Java.

Если у вас есть опыт работы с другими языками программирования и вы хотите улучшить свои навыки в Java, то почему бы и нет? Вы не только изучите новый язык программирования, но и получите возможность подавать заявки на новые должности.

Java — хорошо оплачиваемый язык, и разработчики Java обычно получают высокие зарплаты.Итак, еще одна причина может заключаться в том, что вам нужно больше платить.

Помимо цели обучения, у вас также должна быть страсть. Изучение нового языка программирования — непростая задача. Это требует времени и усилий, поэтому без страсти и мотивации вам лучше дважды подумать, прежде чем посвятить себя учебному процессу.

Итак, если вы все еще здесь, я уверен, что у вас есть правильная мотивация и цель учиться.

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

Сколько времени нужно, чтобы выучить Java для начинающих?

Если у вас есть опыт работы с другими языками программирования, вы можете пропустить эту часть и перейти к следующему абзацу.

Новичкам, не имеющим опыта программирования, может потребоваться 6-12 месяцев, чтобы изучить Java и начать подавать заявки на работу.

Я видел, как многие агентства утверждали, что они могут преподавать Java за 2-8 недель, и люди будут готовы подавать заявки на работу. Мой совет — избегать таких курсов и компаний.Они просто хотят забрать ваши деньги. Они могут научить вас чему-то, но вы определенно не сможете получить работу с таким набором навыков. Изучение Java требует времени и усилий.

Продолжительность вашего обучения в основном зависит от того, сколько времени вы готовы проводить каждый день. Учтите, что для достижения хороших результатов вам нужно будет проводить минимум 4 часа в день. Если вы не можете уделять Java 4 часа в день, то вам лучше пересмотреть изучение Java.

Итак, если у вас есть правильное отношение к изучению Java, имейте в виду, что вам понадобится 6-12 месяцев, чтобы получить базовые знания о Java и начать поступать на работу.

В этой статье я расскажу вам, как начать процесс обучения и как добиться успеха.

Сколько времени нужно, чтобы изучить Java с опытом программирования?

Кто-то с опытом программирования может выучить Java намного быстрее. В зависимости от вашего опыта программирования продолжительность обучения может варьироваться от 2 недель до 3 месяцев.

Java решает те же проблемы, что и Python, JavaScript или C #, поэтому знание любого из этих языков ускорит процесс обучения.

Синтаксис Java отличается от синтаксиса вышеупомянутых языков программирования. Но если вы знаете другой язык программирования, значит, вы знакомы с концепциями кодирования, ООП и другими вещами, необходимыми для кодирования. Эти концепции очень похожи во всех языках программирования.

Итак, если вы опытный разработчик на другом языке, подумайте о том, чтобы потратить 2–12 недель на изучение Java и начать процесс ее освоения.

Как начать изучение Java

Что ж, чтобы начать изучать Java, сначала нужна мотивация.Я уверен, что она у вас есть, поэтому вы дошли до этого момента в этой статье. Итак, вы готовы принять вызов и стать гуру Java.

Помимо мотивации, вам также понадобятся несколько вещей, например компьютер. Без компьютера невозможно выучить Java.

Итак, если у вас есть правильное отношение и оборудование, вы готовы к работе.

Первое, что нужно сделать, это загрузить и установить Java на локальном компьютере. Как только вы это сделаете, вам следует загрузить инструмент, на котором вы будете писать код.Я бы порекомендовал использовать Eclipse или IntelliJ Idea.

После загрузки этих инструментов вы готовы начать процесс обучения.

Как лучше всего выучить Java?

Что ж, вы можете спросить, как лучше всего изучать Java. Я уверен, что вы не хотите тратить свое время на ненужные дела, и вы хотите использовать свое время максимально эффективно.

Я бы посоветовал начать с основ и писать консольные приложения в первые 1-2 недели.Затем вам может потребоваться написать API-интерфейсы для отдыха с использованием расширенных библиотек, таких как spring.

Итак, что вам нужно, чтобы добиться успеха:

  1. Настройка среды Java на локальном компьютере
  2. Загрузка предпочитаемого вами инструмента для программирования. Я рекомендую Intellij или Eclipse.
  3. Пишем первое приложение Hello World.
  4. Запуск онлайн-курса, который поможет вам пройти.

Хотя первые три пункта кажутся очевидными, онлайн-курс может оказаться сложным, когда дело доходит до поиска нужного ресурса.

Хорошо разработанный онлайн-курс проведет вас через настройку вашей среды и многое другое, чтобы начать работу.

Имейте в виду, что одного курса для знания Java недостаточно. Вы должны экспериментировать и совершенствовать свои навыки. Курс поможет вам разобраться в основах и узнать, как выполнять простые задачи. Но чтобы стать успешным Java-инженером, вы должны сами много искать и добиваться результатов.

Итак, следующий шаг — какие ресурсы использовать для изучения Java.Я помогу вам найти нужные ресурсы и начать работу.

Какие ресурсы использовать во время учебы?

Первое, что нужно сделать, это подписаться на нас в Facebook, Instagram и Linkedin. Мы предоставляем идеи, чтобы мотивировать вас, а также примеры кода, которые помогут вам на этом пути.

Кроме этого, вам необходимо надлежащее руководство для учебы. Вы можете воспользоваться курсами Plural Sight. В нем есть множество материалов, которые помогут вам на этом пути. Ежемесячная подписка стоит 26 долларов, так что это не так уж и дорого.

Кроме этого, вы можете использовать курсы Udemy. Этот курс может быть полезен многим, но стоит довольно дорого. Вы также можете поискать более дешевые курсы в Удеми.

И последнее, но не менее важное: подпишитесь на мой информационный бюллетень. Я буду присылать вам еженедельные учебные пособия и обновления о новейших технологиях.

Сколько времени нужно, чтобы изучить Java для программистов на C ++? | Джон Селавски

Фото Марвина Мейера на Unsplash

В эпоху непрерывного личного развития все больше и больше инженеров-программистов предпочитают овладеть вторым или даже третьим языком программирования, чтобы получить больше опыта и получить доступ к большему количеству карьерных возможностей.Если вы разработчик C ++ и ищете второй язык программирования для освоения, имеет смысл добавить Java в облако навыков. Далее я объясню вам, сколько времени нужно, чтобы изучить Java для программистов на C ++ и почему вам стоит пойти на это.

Как и у других технологий, у Java есть свои плюсы и минусы. Итак, прежде чем выбирать второй язык программирования, давайте разберемся, в чем особенность Java и о каких недостатках вам следует помнить.

  • Независимость от архитектуры и платформы.С виртуальной машиной Java (JVM) вы не должны думать о специфике операционной системы или процессора и можете просто писать алгоритмы и реализовывать бизнес-логику.
  • Управление памятью. Java известна своей интегрированной системой управления памятью, которая предотвращает большинство утечек памяти и позволяет освободить все ресурсы сразу после того, как программа перестает их использовать. Таким образом, разработчику не нужно контролировать память для каждого созданного и уничтоженного объекта.
  • Безопасность. JVM также не позволяет программе получать доступ к тому, что находится за пределами ее полномочий.Таким образом, без прав доступа никакая программа Java не сможет взаимодействовать с другими приложениями или читать RAM, которая не выделена для текущего запущенного приложения.
  • Корпоративное программирование. Java обычно используется для создания корпоративных приложений. Хотя язык сочетает в себе ООП, управление памятью и независимость от архитектуры, он по-прежнему пользуется большим спросом среди крупных компаний, стремящихся создавать надежные, стабильные и поддерживаемые приложения.
  • Производительность могла быть лучше.C ++ — это компилируемый язык программирования, поэтому его компьютерная программа преобразует исходный код в машинный язык. В Java отсутствует компилятор, и для выполнения кода Java используется JVM (которая должна быть сначала запущена на компьютере).

Каковы еще преимущества изучения Java для разработчиков на C ++? Давай выясним.

Когда у вас за плечами более одного языка программирования, вы становитесь более гибкими в создании сложных приложений. В зависимости от целей проекта и того, чего вы ожидаете от конечного результата (эффективности, производительности и удобства использования), вы можете выяснить, какой язык подходит лучше и какой из них решит данные проблемы.

Владение двумя или более языками программирования значительно расширяет ваши возможности трудоустройства и дает доступ к большему количеству ролей. Многие компании ищут универсальных программистов, и как только вы научитесь писать код на нескольких языках, вы больше не будете ограничены только несколькими должностями.

Чем больше языков вы знаете, тем больше у вас шансов выучить. По данным ZipRecruiter, средняя зарплата полиглота в США достигла 120 000 долларов в год. ITJobsWatch в Великобритании, в свою очередь, сообщил о средней годовой зарплате разработчика-полиглота в размере 85 000 фунтов стерлингов.

Кроме этого, разработка программного обеспечения не остается прежней — она ​​постоянно развивается, одни технологии становятся более востребованными, чем другие, появляется много новых технологий. Итак, знание многих языков программирования позволяет вам держать руку на пульсе, быстро адаптироваться к постоянно меняющимся тенденциям развития и подниматься по служебной лестнице.

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

Имея уже освоенный и отработанный язык C ++, вы очень скоро сможете овладеть Java. Конечно, будет что-то, к чему вы не привыкли, например, сборка мусора (в C ++ вам приходилось управлять выделением памяти вручную). Отсутствие указателей, скорее всего, ограничит вас, в то время как согласованность иерархии Java, чистая реализация ООП и многопоточность будут работать в вашу пользу.

Когда вы уже хорошо разбираетесь в C ++ и планируете изучать Java, вы можете ознакомиться с основными различиями между языками, а затем начать практиковаться в одной из двух самых популярных IDE Java: IntelliJ IDEA и Eclipse.

Итак, сколько времени нужно, чтобы изучить Java для программистов на C ++? Некоторые специалисты говорят, что это занимает около пары недель. Но я бы выделил не менее 6-8 недель, чтобы понять идею Java.

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

CodeGym

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

Codewars

Чтение книг, связанных с программированием, — это хорошо, но все же не так эффективно, как когда оно сопровождается практикой. Здесь вам могут помочь игровые обучающие курсы.Платформа Codewars — одна из них. Это позволяет обучаться программированию на задачах, называемых ката. Выполнив каждое следующее задание, вы зарабатываете честь и звание. Вы также можете создать свое собственное ката и предложить своим сверстникам потренироваться над этим вызовом.

Cyber-Dojo

Cyber-Dojo — это другой игровой курс. Это не заставит вас закончить игру, достигнув финального уровня как можно скорее. Напротив, это побудит вас улучшать свои навыки в удобном для вас темпе. Вы можете выбрать один из 30 языков программирования, представленных на платформе, и изучить его индивидуально или в группе.Каждая задача, которую вы должны выполнить, подробно описывается и имеет иллюстрацию того, как должен выглядеть конечный результат.

CodeChef

CodeChef — это место, где разработчики могут продемонстрировать свои навыки программирования, участвуя в конкурсах или соревнованиях по программированию. Для тех, кто плохо знаком с программированием, платформа предлагает учебные пособия и обсуждения на форумах, связанные с алгоритмами, двоичным поиском, размером массива и другими техническими темами.

Полный мастер-класс по Java

Udemy — популярная обучающая платформа среди разработчиков.Этот курс Java позволяет студентам, не имеющим предыдущего опыта, изучить основы языка и перейти к более сложным концепциям.

Программирование на Java для начинающих

Этот курс программирования на Java от Udemy гарантирует, что вы овладеете всеми концепциями и функциями Java за чуть более 250 шагов. Вы начнете с основ, а затем изучите функциональное программирование, параллелизм и обработку исключений в Java.

Сертификация Java от Университета Дьюка

В этом курсе Coursera вы не только освоите программирование на Java, но также познакомитесь с миром основ программирования на JavaScript, HTML и CSS.

YouTube продолжает набирать популярность среди людей всех возрастов, которые используют его не только для прослушивания музыки и просмотра видеоклипов, но и для учебы. Таким образом, процесс обучения меняется с появлением новых тенденций в обществе, и появляется все больше и больше каналов YouTube, связанных с программированием на Java. Новички и специалисты с опытом программирования могут найти здесь советы, уроки, видеоуроки и другой образовательный контент по Java.

Некоторые из каналов и YouTube, связанных с Java, которые стоит упомянуть, включают:

  • Derek Banas — популярный канал с ежедневными видеоуроками, охватывающими любую тему, которую запрашивают подписчики.
  • Программирование с помощью канала Mosh YouTube идеально подходит для начинающих, и его автор ставит цель обучить кодеров, которых компании хотели бы нанять.
  • Java — официальный канал сообщества Java и Oracle на YouTube.
  • Devoxx идеально подходит, если вы хотите быть в курсе последних новостей с конференций и семинаров для программистов.

Книги — это то, что неразрывно связано с процессом обучения, и их следует добавить в список полезных образовательных ресурсов.Я бы порекомендовал вам начать с нескольких книг:

  • Core Java Volume I — Fundamentals — идеальная книга для всех, кто серьезно относится к изучению Java. Независимо от того, являетесь ли вы полным новичком или опытным программистом, это источник, который в любом случае вам поможет.
  • Эффективная Java в третьем издании была обновлена ​​новыми функциями, добавленными в Java 7,8 и 9. Эти новые функции включают лямбда-выражения, ромбовидный оператор, дополнительный интерфейс и т. Д.
  • «Мышление на Java» — это книга, которая должна быть под рукой, как только вы получите вопрос о Java.Он признан программистами всего мира своей ясностью, тщательной структурой и примерами программирования.
  • Java — The Complete Reference — это книга, охватывающая все аспекты языка Java от основных принципов, синтаксиса и ключевых слов до более сложных концепций.

Несмотря на то, что вы можете регулярно сталкиваться со многими различиями между этими двумя языками, изучение Java не будет таким сложным, если у вас уже есть опыт программирования на C ++. Итак, приступайте к освоению Java сегодня и помните, что знание двух или трех языков программирования не только делает вас умнее, но и дает вам доступ к большему количеству рабочих мест.

Сколько дней требуется для изучения Java

Программирование на Java — один из наиболее часто используемых языков программирования. В мире ИТ более 8 миллионов разработчиков Java. Количество разработчиков Java стремительно растет. Изучение Java не позволяет сделать это в одночасье и требует времени и практики. Очень сложно дать правильный ответ на вопрос , сколько дней нужно для изучения Java? Потому что у каждого человека разные силы или способности к обучению.

Объем программирования на Java огромен и предоставляет множество возможностей для работы в сфере информационных технологий. Все хотят как можно скорее научиться программированию на Java, но это непросто. Единственный способ стать успешным Java-разработчиком — это практиковать все основы и передовые концепции.

Если мы пойдем по следующему пути обучения, мы сможем выучить Java всего за один месяц.

1) День 1-2: Изучение основ

Если мы новички в программировании на Java или других языках программирования, нам необходимо очистить все основы этого языка.Прежде чем углубляться в основную концепцию Java, нам нужно узнать о введении языка, функций, приложений и т. Д. После этого мы должны знать, как мы можем настроить среду выполнения Java. Мы также должны научиться создавать, компилировать и запускать java-программу «Hello World». На этом уровне нам также необходимо изучить IDE, которые помогают нам программировать на Java. Итак, в конце концов, мы знаем следующие концепции:

  1. Введение в Java
  2. Особенности Java
  3. JVM (виртуальная машина Java)
  4. Среда Java
  5. Программа Hello World
  6. IDE для Java

2) День 3-5: изучение переменных, типов данных и условных выражений

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

  1. Различные типы типов данных в Java.
  2. Как переменные создаются или инициализируются в Java.
  3. Что такое условные операторы и как мы можем реализовать эти условные операторы?
  4. Что такое операторы и модификаторы и как они реализованы в Java?
  5. Все операторы цикла, такие как для цикла .

В конце концов, мы должны создать базовые программы, такие как перестановки чисел, ряд Фибоначчи, Factorial и т. Д.

3) День 6-8: Изучите концепции массивов, ArrayList и манипуляции строками

Получив знания о предпосылках программирования на Java, мы готовы перейти к некоторым продвинутым концепциям этого программирования. В Java важны как String, так и Array, и разработчик должен хорошо их знать. На этом этапе мы должны получить информацию о:

  1. Струны.
  2. Что такое массив и как мы его создаем в Java? Мы также должны знать, как мы можем получить доступ к элементам из него.
  3. Объем переменных.
  4. Как мы можем выполнить преобразование типов в Java?
  5. Как операторы switch используются в Java?
Примечание: Переходя к следующему шагу, вы должны убедиться, что все вышеупомянутые концепции очищены в вашем уме.

4) День 9-12: Изучите предметы, классы и методы

Получив знания по всем указанным темам, у нас будет достойная база, необходимая для изучения любого языка программирования.Теперь мы знаем, что Java следует концепциям ООП, поэтому нам нужно прояснить концепции основных строительных блоков Java. Нам нужно получить ответы на все следующие вопросы.

  1. Что такое объекты и классы и как их создавать в Java?
  2. Что такое методы в Java и как мы их создаем?
  3. Что такое перегрузка и переопределение в Java?
  4. Как мы можем передать параметры в Java?
  5. Что такое конструкторы и какова их роль в Java?

5) День 13–16: Изучите основные концепции ООП

Теперь мы готовы погрузиться в базовое программирование на Java.На этом этапе мы должны иметь надлежащие знания об объектах , классах и методах . Чтобы изучить Java, мы должны владеть такими понятиями Oops, как полиморфизм, инкапсуляция, наследование и абстракция, потому что Java работает на этих принципах. За два дня мы должны получить знания о следующих концепциях.

  1. Наследование
  2. Полиморфизм или полиморфизм времени выполнения и полиморфизм времени компиляции.
  3. Абстракция
  4. Инкапсуляция
  5. Различные ключевые слова, например Это и Super .
  6. Композиция
  7. Агрегация
  8. Ассоциация

6) День 17-20: Интерфейсы и пакеты

Зная все вышеперечисленные принципы, мы готовы сделать еще один шаг. Мы должны узнать о пакетах , интерфейсах, вложенных интерфейсах и абстрактных классах за эти четыре дня. Есть несколько пакетов, таких как «Java.Lang», «Java.Time », и «Java.Math », которые в основном используются в программировании на Java.

Интерфейс может иметь несколько абстрактных методов, и если мы реализуем этот интерфейс, нам необходимо определить его абстрактные методы в наших программах. Для этого мы должны хорошо разбираться в интерфейсах, абстрактных классах и методах.

Итак, в конце концов, мы должны знать следующие концепции:

  1. Пакет
  2. Интерфейс
  3. Абстрактный класс и метод
  4. Вложенный интерфейс
  5. Time, Lang, Math и другие пакеты.

7) День 21-25: концепции обработки исключений, потоков, многопоточности и потоков ввода-вывода

Наша программа всегда выполняется без ошибок, это невозможно. Всегда есть шанс получить ошибку при выполнении нашей программы. Итак, нам нужно обрабатывать эти ошибки, чтобы наши программы могли выполняться, даже если они получат ошибку. Мы также знаем, как работать с файлами и использовать регулярные выражения в Java. Помимо этого, мы также должны получить знания о концепциях потоков и многопоточности в Java.

Итак, в конце концов, мы должны знать следующие концепции:

  1. Обработка исключений
  2. Типы исключений
  3. Концепция резьбы
  4. Многопоточность
  5. Регулярное выражение
  6. Работа с файлами

8) День 26-30: Структура сбора, AWT и Swings

Прежде чем перейти к следующему шагу, мы должны подчеркнуть аспекты реализации всех концепций и теоретических знаний, упомянутых выше.После этого мы готовы познакомиться с продвинутыми концепциями. Collection Framework, Abstract Window Toolkit и Swings являются наиболее важной передовой концепцией Java. Collection Framework определяет несколько классов и интерфейсов для представления коллекции объекта как единого блока. Итак, в конце концов, мы должны знать следующие концепции:

  1. Коллекции на Java
  2. Ява качели
  3. Универсальные
  4. AWT

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


10 причин изучить язык программирования Java и почему Java лучше

Java — один из лучших языков программирования, созданных когда-либо, и я не говорю этого, потому что я увлеченный разработчик Java, но Java доказала это за последние 20 лет. Два десятилетия — это большое время для любого языка программирования, и Java набирала силу с каждым днем.Хотя бывают случаи, когда разработка Java замедляется, Java хорошо реагирует. Ранее с революционными изменениями в форме Enum, Generics и Autoboxing в Java 5, улучшением производительности с помощью Java 6, функциональным программированием с использованием лямбда-выражений в Java 8 и выбором языка Google для разработки приложений для Android, Java оставалась на переднем крае. язык программирования.

Многие выпускники информатики часто спрашивают меня, с какого языка программирования лучше всего начать? С какого языка мне следует выучить для начала? Должен ли я изучать Java? Или начать с Python и т. Д.?

Ну, это зависит от определения вашего лучшего языка программирования; если он популярен, то очевидно, что Java превосходит всех, даже C, который существует уже почти 50 лет.

Если говорить о возможностях трудоустройства, Java снова превосходит всех. Вы можете получить массу возможностей для работы, изучая язык программирования Java; вы можете разрабатывать основные серверные приложения на основе Java, веб-приложения J2EE и корпоративные приложения, а также можете даже заняться разработкой мобильных приложений на базе Android.

Итак, если вы не знакомы с C и C ++ и хотите выучить свой первый язык программирования, я предлагаю выбрать Java.

В этой статье я поделюсь своим списком причин, почему вам следует изучать программирование на Java, и почему я считаю Java лучшим языком программирования из когда-либо созданных.

Между прочим, если вы уже решили изучить Java и просто ищете лучший ресурс для начала, то я предлагаю вам присоединиться к The Complete Java Master Class o n Udemy. Один из самых современных и всеобъемлющих курсов по изучению Java. Недавно он был обновлен и для Java 11.


Почему вы должны изучать язык программирования Java Вот мой список из 10 причин, которые я говорю всем, кто интересуется моим мнением об изучении Java, и о том, является ли Java лучшим языком программирования с точки зрения возможностей, развития и поддержки сообщества.

1) Java легко выучить

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

Java имеет свободный английский синтаксис с минимальным количеством магических символов, например угловые скобки Generics, что позволяет легко читать программу Java и быстро учиться.

Когда программист знаком с начальными препятствиями при установке JDK и настройке PATH и понимает, как работает Classpath, написать программу на Java довольно легко.

2) Java — объектно-ориентированный язык программирования

Еще одна причина, сделавшая Java популярной, — это то, что это язык объектно-ориентированного программирования. Разработать приложение ООП намного проще, и это также помогает сохранить модульность, гибкость и расширяемость системы.

Когда вы познакомитесь с ключевыми концепциями ООП, такими как абстракция, инкапсуляция, полиморфизм и наследование, вы сможете использовать все эти концепции с Java. Сама Java воплощает в своей библиотеке множество передовых практик и шаблонов проектирования.

Java — один из немногих языков программирования, близких к 100% ООП. Java также продвигает использование принципов SOLID и объектно-ориентированного проектирования в форме проектов с открытым исходным кодом, таких как Spring, которые обеспечивают хорошее управление зависимостями вашего объекта с помощью принципа внедрения зависимостей.


3) Java имеет Rich API

Еще одна причина огромного успеха языка программирования Java — это Rich API, и, что наиболее важно, он очень заметен, потому что он поставляется вместе с установкой Java.

Когда я только начинал программировать на Java, я кодировал апплеты, и в те дни апплеты предоставляют отличные возможности анимации, что удивляет новых программистов, таких как мы, которые привыкли кодировать в редакторе Turbo C ++.

Java предоставляет API для ввода-вывода, работы в сети, утилит, синтаксического анализа XML, подключения к базе данных и почти всего.Все, что осталось, покрывается библиотеками с открытым исходным кодом, такими как Apache Commons, Google Guava, Jackson, Gson, Apache POI и другими.

Далее вы можете увидеть мою публикацию «20 основных библиотек с открытым исходным кодом для программистов Java», чтобы узнать больше о полезных библиотеках, которые должны знать разработчики Java.

4) Мощные инструменты разработки, например Eclipse, Netbeans

Вы не поверите, но Eclipse и Netbeans сыграли огромную роль в превращении Java в один из лучших языков программирования.Кодировать в IDE — одно удовольствие, особенно если вы писали в редакторе DOS или в Блокноте.

Они не только помогают в завершении кода, но также предоставляют мощные возможности отладки, которые необходимы для реальной разработки. Интегрированная среда разработки (IDE) сделала разработку на Java намного удобнее, быстрее и плавнее. С помощью IDE легко выполнять поиск, рефакторинг и чтение кода.

Помимо IDE, платформа Java также имеет несколько других инструментов, таких как Maven и ANT для создания приложений Java, Jenkins для непрерывной интеграции и доставки, декомпиляторы, JConsole, Visual VM для мониторинга использования кучи и т. Д.

Вы также можете посмотреть мой пост 10 Essential Tools for Java Programmers , чтобы узнать больше об инструментах, которые Java-программисты используют в повседневной жизни.

5) Большая коллекция библиотек с открытым исходным кодом

Библиотеки с открытым исходным кодом гарантируют, что Java будет использоваться везде. Apache, Google и другие организации предоставили множество замечательных библиотек, которые делают разработку Java простой, быстрой и рентабельной.

Существуют такие фреймворки, как Spring, Struts, Maven, которые гарантируют, что разработка на Java следует лучшим практикам создания программного обеспечения, способствует использованию шаблонов проектирования и помогает разработчикам Java в выполнении их работы.

Я всегда рекомендую поискать функциональность в Google перед написанием собственного кода. Есть большая вероятность, что он уже закодирован, протестирован и доступен для использования.

Вы также можете просмотреть 20 лучших библиотек и API для Java-программистов, в которых я рекомендую библиотеки для разработчиков Java.

6) Замечательная поддержка сообщества

Сильное и процветающее сообщество — это самая сильная сторона языка программирования и платформы Java.Каким бы хорошим ни был язык, он не выжил бы, если бы не было сообщества, которое могло бы поддерживать, помогать и делиться своими знаниями.

Java очень повезло; у него есть множество активных форумов, StackOverflow, организации с открытым исходным кодом и несколько групп пользователей Java, которые помогают всем.

Существует сообщество, которое поможет начинающим, продвинутым и даже опытным программистам Java. Java фактически способствует принятию и возвращению привычкам сообщества. Многие программисты, использующие открытый исходный код, вносят свой вклад в качестве коммитера, тестировщика и т. Д.

Многие опытные программисты БЕСПЛАТНО дают советы на различных форумах Java и StackOverflow. Это просто потрясающе и вселяет уверенность в новичках в Java.

7) Java БЕСПЛАТНА

Людям нравятся БЕСПЛАТНЫЕ вещи, не так ли? Поэтому, если программист хочет изучить язык программирования или организация хочет использовать технологии, СТОИМОСТЬ является важным фактором. Поскольку Java изначально бесплатна, то есть вам не нужно ничего платить за создание Java-приложения.

Эта БЕСПЛАТНАЯ вещь также помогла Java стать популярной среди индивидуальных программистов и среди крупных организаций. Если вам интересно, где именно Java используется в реальном мире, посмотрите этот пост. Я говорил о принятии Java во всем мире.

Наличие Java-программистов — еще один важный фактор, который заставляет организацию выбирать Java для своего стратегического развития.

8) Отличная поддержка документации — Javadocs

Когда я впервые увидел Javadoc, я был поражен.Это отличная документация, которая многое рассказывает о Java API. Я думаю, что без документации Javadoc Java не была бы такой популярной, и это одна из главных причин, почему я считаю Java лучшим языком программирования.

Не у всех есть время и желание взглянуть на код, чтобы узнать, что делает метод или как использовать класс. Javadoc упростил обучение и стал отличным справочным материалом при кодировании на Java.

С появлением таких IDE, как Eclipse и IntelliJIDEA, вам даже не нужно явно просматривать Javadoc в браузере, но вы можете получить всю информацию в самом окне IDE.

9) Java не зависит от платформы

В 1990-х годах это была основная причина популярности Java. Идея независимости от платформы прекрасна, и девиз Java «напиши один раз, запускай где угодно», и аббревиатура «WORA» были достаточно заманчивыми, чтобы привлечь множество новых разработчиков на Java.
Это по-прежнему одна из причин того, что Java является лучшим языком программирования, большинство приложений Java разрабатываются в среде Windows и выполняются на платформе Linux.

10) Java везде

Да, Java есть повсюду: на настольных компьютерах, на мобильных устройствах, на картах, почти везде, и программисты на Java тоже. Я думаю, что программистов на Java больше, чем среди других профессионалов в области языков программирования.

Хотя у меня нет данных, подтверждающих это, это основано на опыте. Столь широкая доступность Java-программистов — еще одна причина, по которой организации предпочитают выбирать Java для новых разработок, чем любой другой язык программирования.

При этом программирование — это обширная область, и если вы посмотрите на C и UNIX, которые все еще выживают и даже достаточно сильны, чтобы прожить еще 20 лет, Java также попадает в ту же лигу.

Хотя много говорят о функциональном программировании, Scala и других языках JVM, таких как Kotlin и Groovy, они должны пройти долгий путь, чтобы соответствовать сообществу, ресурсам и популярности Java.

Кроме того, ООП — одна из лучших парадигм программирования, и пока она будет там, Java останется прочной.


Как научиться программировать на Java с нуля Теперь, если вы решили изучить программирование на Java, вот несколько ресурсов, на которые вы можете взглянуть. Я лично предлагаю для начала записаться на онлайн-курс, а затем выбрать книгу, потому что они почти всегда хорошо написаны авторитетами по предмету и рассчитаны на новичков.

Для начала я рекомендую присоединиться к The Complete Java Master Class в Udemy. Вы можете купить этот курс чуть менее чем за 10 долларов на распродаже флеш-памяти Udemy, которую они проводят, я думаю, каждый месяц.


Этот курс является всеобъемлющим и современным и охватывает как Java SE 8, так и Java SE 9. Курс также систематизирован, чтобы предоставить новичкам все знания и инструменты, прежде чем они смогут понять сложные концепции, такие как многопоточность. и параллелизм.

Он охватывает все основные функции Java 8, описанные выше, в стиле учебного курса с большим упором на практическую работу.

Если вы можете себе это позволить, то это лучший онлайн-курс для изучения Java. Честно говоря, это очень дешево, даже в один прекрасный день класс Java стоил около 100 долларов в развивающихся странах, забудьте о развивающихся странах.Вы не можете получить более дешевый комплексный курс по Java.

Что касается книг, я лично рекомендую Head First Java всем новичкам, так как я сам многому из него научился. Это отличная книга для начала, если вы ничего не знаете о Java, но, к сожалению, она устарела.

Изучив эту книгу, вы можете выбрать любую хорошую книгу по Java, чтобы изучить ключевые функции Java 8, такие как лямбда-выражение, справочник по методам, Stream API, новый API даты и времени, методы по умолчанию и т. Д.

Содержание все еще в силе, и основы Java не изменились, но я настоятельно рекомендую каждому программисту начинать с последней версии Java. Java 8 или Java 9 и по этому параметру Современная Java в действии в настоящее время является лучшей книгой для изучения Java.

В этой книге подробно рассматриваются все темы. Я даже рекомендую прочитать все три книги этого автора по Java 8, чтобы глубже изучить Java 8.

Вы также можете ознакомиться с официальными учебными пособиями по Java, предлагаемыми Oracle.Эти руководства являются исчерпывающими, современными и охватывают почти все важные детали языка программирования Java. Кроме того, вы можете использовать Google одновременно с обучением.

Если вам нужно понять конкретную концепцию, термин или любую проблему с Java, Google может указать вам на конкретный ресурс. В Интернете есть множество блогов, учебных сайтов и бесплатных видеоуроков для изучения программирования на Java.

Я также создал The Complete Java Developer RoadMap , чтобы вы прошли путь от новичка до профессионального Java-разработчика.Эта дорожная карта включает в себя все, что Java-программисту необходимо изучить, например, темы, инструменты, технологии и библиотеки.