Сколько времени занимает обучение JavaScript
Один из самых распространенных вопросов, которые мне задают начинающие программисты, — сколько времени нужно на изучение JavaScript. Конечно тебе стоит разобраться, сколько времени у займет обучение, прежде чем ты сможешь самостояетельно создавать JavaScript проекты и претендовать на роль разработчика программного обеспечения.
Я расскажу тебе почему у некоторых новичков уходит так много времени, чтобы изучить основы JavaScript и что больше всего влияет на скорость обучения. Также я дам тебе несколько советов и предложений, которые помогут тебе изучить JS немного быстрее.
Итак, давай начнем с ответа на самый распространенный вопрос:
Сколько времени нужно, чтобы выучить JavaScript?
Короткий ответ — один год.
Тебе понадобится как минимум один год, чтобы выучить JavaScript от начинающего до готового к работе Junior программиста.
Эти 12 месяцев можно разделить на четыре этапа обучения.
Если у тебя есть талант и много свободного времени, возможно ты справишься быстрее. Но в любом случае, все программисты проходят через эти 4 этапа.
Новичок (1-3 месяца)
На этом этапе ты только начинаешь изучать JavaScript и знакомишься с синтаксисом языка.
В первые недели твоё внимание будет сосредоточено на основных концепциях JavaScript, таких, как переменные, функции и типы данных.
Многое будет казаться странным и непонятным, но это нормально, поскольку эти концепции начнут приобретать для тебя смысл в ближайшие месяцы.
Основная цель на этом этапе — познакомиться с синтаксисом JavaScript, принципами работы языка программирования и создать небольшие программы, чтобы научиться писать код JS.
Продвинутый новичок (4-6 месяцев)
К четвертому месяцу ты должен быть знаком с основными концепциями и механизмами JavaScript.
Ты сможешь использовать JS для создания консольных программ и возможно начнешь разбираться с тем как добавлять его на веб страницы.
С этого момента твоя главная цель — применять полученные знания на практике.
Средний уровень (7-9 месяцев)
На этом этапе ты больше не новичок — теперь ты понимаешь основные концепции JavaScript и начинаешь работать над углублением знаний.
Возможно, тебе все равно придется время от времени обращаться к некоторым руководствам и лекциям, но большую часть времени ты будешь проводить за написанием кода, поскольку именно здесь происходит настоящее обучение.
Продвинутый средний уровень (10 — 12 месяцев)
На этом последнем этапе вы теперь должны иметь возможность писать Full-Stack проекты на JavaScript, читать и понимать код, а также знать, как исправлять ошибки.
После завершения этого этапа ты будешь готов к работе Junior JavaScript разработчиком.
Почему изучение JavaScript занимает так много времени?
Причину, по которой обучение занимает так много времени, можно разделить на две:
- HTML и CSS не являются языками программирования
- JavaScript не интуитивно понятен
HTML и CSS не являются языками программирования
Изучение JavaScript сильно отличается от HTML и CSS. И HTML, и CSS технически не являются языками программирования, поскольку не содержат логики программирования. У HTML/CSS довольно простой синтаксис и низкая кривая обучения, выучить их довольно легко, и ты можешь стать достаточно опытным после нескольких месяцев усердной практики.
Однако это не относится к JavaScript. JavaScript — настоящий язык программирования, и он содержит логику программирования, что означает, что он требует много размышлений и выяснения того, как правильно выполнять программу.
Неудивительно, что помимо наличия различных методов и длительного обучения по сравнению с HTML и CSS, многим новичкам сложно изучать JavaScript.
JavaScript НЕ интуитивно понятен для начинающих
Еще одна проблема с изучением JavaScript заключается в том, что он не интуитивно понятен.
В HTML все зависит от того, какие теги использовать. CSS просто выясняет, какие теги выбрать, и изменяет стиль. Если ты выучил эти правила, ты готов к работе с HTML и CSS.
Что касается JavaScript, в нем так много правил, и, кроме того, тебе нужно потратить время на размышления о том, как ты собираешься создать что-то на JavaScript, прежде чем даже писать одну строку кода! Вот почему требуется 3-6 месяцев, чтобы узнать все его правила, прежде чем он сможет полностью раскрыть свой потенциал.
Факторы, влияющие на время, необходимое для изучения JavaScript
Время уделенное практическим занятиям
Первое, что влияет на общее время, необходимое для изучения JavaScript, — это то, сколько времени ты готов тратить на практику. Если ты тратишь от 30 минут до 1 часа в день на написание кода и никогда не пропускаешь занятия, то за год твой прогресс будет очевиден.
С другой стороны, если ты тратишь на практические занятия всего несколько часов в месяц, будет сложно выучить JavaScript быстро, потому что большая часть того, чему вы научились, будет забыта через неделю.
Это похоже на обучение вождению автомобиля — ты не можешь рассчитывать стать хорошим водителем быстро, если практикуешься всего пару раз в месяц.
Предыдущие знания программирования
Второй фактор — это предварительное знание программирования. Если ты посещал курсы информатики или разработки программного обеспечения в школе или институте, то изучение JavaScript может занять меньше времени, поскольку ты уже знаком с фундаментальными концепциями программирования.
Однако для разработчиков-самоучек это займет чуть больше времени, поскольку тебе нужно будет усвоить фундаментальные концепции программирования. Это не то же самое, что изучение языка программирования, но эти концепции настолько важны, что ты не можешь позволить себе пропустить этот шаг.
Как вы изучаете JavaScript
Третий фактор — это то, как ты подходишь к изучению JavaScript. Если ты тратишь значительное количество времени на обучение, создавая множество небольших проектов, то ты прогрессируешь, поскольку программирование — это навык.
Как и в случае любых других навыков, единственный способ стать лучше — это практика, практика и еще раз практика. А это значит, что нужно писать больше кода.
Некоторые начинающие замечают, что они перестали прогрессировать, хотя смотрят одно обучающее видео за другим и много времени тратят на чтение книг.
Но без практики, без ежедневного написания кода, ты просто провалишься в так называемый адом учебников (tutorial hell), который довольно часто встречается у новичков.
За какое время можно изучить javascript?
За какое время реально обучиться javascipt + фреймворку какому-нибудь типа backbone или angular? Обучаясь ежедневно по несколько часов в день под руководством опытного человека.
- Вопрос задан более трёх лет назад
- 60321 просмотр
Комментировать
Решения вопроса 0
Ответы на вопрос 6
Скажу вам так : я уже долгое время занимаюсь фронт-эндом, мы пишем веб-приложения, 2d-3d игры, сайты и так далее. JS был моим следующим языком после Java. И, говоря честно, JS — абсолютно всеобъемлющий язык, который хорошо выучить очень непросто(гораздо сложнее, чем тот же Java). По-началу, смотря на этот код, половина из которого занимается только фиксами кросс-браузерности становится тошно, потом попроще, но ввиду «особой особенности» js и его прототипно-ориентированности, многие просто хотят вырвать себе глаза, что и делают любые программисты, переходящий с c/c++/c#/Java(любой другой более классический язык). Чтобы писать хорошие модули на JS, могут понадобится годы разработки. Объективно, если сидеть по 2-3 часа в день, результативно заниматься, то можно освоить js и самые начальные паттерны за 4-6 месяцев. Изучение Angular — вообще отдельная тема, которую так быстро ты не освоишь. Angular — это вам не убогий jQuery, от которого реально тошнит, Angular — это по сути отдельное изучение JS заново. Вот как-то так.
Ответ написан более трёх лет назад
Нравится 11 7 комментариев
Люто плюсую про Энгуляр.)
Ха-ха. давно так не смеялся 🙂 Если коротко: angular.js + gulp = 1-2 недели. JavaScript (семантика, наследование, замыкания, а-ля классы и т.д.) две недели. Node.js + mongoDb — 1 или 2 месяца.
Отдельно хочу сказать по поводу работы с графикой и прочими вещами. Здесь важнее не сам язык, не знание canvas и svg, а знания в области математики, знание геймдева в целом и т.д.
Boniface вы, видимо, очередной зазнайка, который выучил одни замыкания и думает, что на этом всё остановилось 🙂 Я, изучая js, закончив книжку флэнагана и рейзига , посчитал, сколько сделал задач по js в сумме : оказалось более 400шт. Теперь расскажите мне, как без знания этих велосипедов, можно писать чистый, качественный код на нативном js? По вашим словам, можно стать фронт-энд программистом за месяц? 🙂
Boniface: стать разработчиком, да. А вы правда считаете, что изучение книг и 400 заданий сделают из вам «художника»? Я не хочу вам ничего доказывать, у вас свой опыт у меня свой. Я лишь высказал свою точку зрения.
Сколько времени нужно, чтоб выучить JavaScript на хорошем уровне? [закрыт]
Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
Закрыт 5 лет назад .
Подскажите пожалуйста, меня интересует вопрос засколько можно выучить javascript при усердной практики примерно 4-5 часа в день?
Отслеживать
задан 19 окт 2018 в 19:39
89 1 1 золотой знак 6 6 серебряных знаков 15 15 бронзовых знаков
Выучить любой язык можно за день, а научиться программировать и за всю жизнь не каждому дано.
19 окт 2018 в 19:44
@BeastWinterwolf ну за день, это вы загнули, язык c не выучишь за день) А вообще, вы правы, научится писать правильный код на одном даже языке можно и за годы не научится.
19 окт 2018 в 19:46
@ПавелИгоревич я lua освоил за день. Он от js не так уж сильно отличается. Если вы хорошо знаете хотя бы один любой язык, то все остальные буду даваться гораздо легче.
19 окт 2018 в 19:47
@BeastWinterwolf Это если у вас за спиной есть опыт в других языках программирования, а если вы не знакомы с программированием вообще, тогда я не соглашусь
19 окт 2018 в 19:49
За день не реально выучить даже HTML, я пробовал
19 окт 2018 в 19:49
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
4-5 часов в день для изучения синтаксиса, думаю, что максимум неделя. А вот применять новые навыки на практике. на это уйдут месяцы. Программирование всегда хорошо идет под задачу, будет задача будете искать решение, читая, видя и набирая код придут и опыт и практика 🙂
Отслеживать
ответ дан 19 окт 2018 в 20:04
user312892 user312892
Советую так-же поставить перед собой задачу, написать простое приложение, работу с rest api возможно написать примитивную логику на сайт для меню, сделать свой слайдер — это все поможет вам быстрее выучить и освоить данный язык
19 окт 2018 в 20:07
А я бы посоветовал сначала досконально освоить ООП и только потом изучать язык, если вы действительно желаете научиться писать код на хорошем уровне.
С чего начать изучение JavaScript и как это делать эффективно
JavaScript (JS) — это многофункциональный язык программирования. В основном разработчики используют этот язык в вебе. По данным рейтинга W3Techs на ноябрь 2023 года, на JavaScript работает 98% всех сайтов.
JS, наравне с HTML и CSS, используется в создании веб-страниц. С его помощью фронтенд-разработчики придают веб-страницам интерактивность: добавляют различные слайдеры, плашки, кнопки, анимации и тем самым делают сайты удобнее для пользователей.
В бэкенд-разработке программисты с помощью JavaScript создают серверные приложения на базе программной платформы Node.js. Данные об активности пользователя на сайте, файлы, которыми он делится, отправляемые запросы — все это делается на JavaScript.
Кроме того, JavaScript используют в этих областях программирования:
- Мобильная разработка
- Разработка игр
- DevOps
- Машинное обучение
- Базы данных
Профессия «Фронтенд-разработчик»
- Изучите востребованные JavaScript и TypeScript
- Научитесь создавать пользовательские интерфейсы сайтов и приложений
- Освойте самый популярный фреймворк JavaScript — React
- Познакомьтесь с языками веб-разработки HTML и CSS
С чего начать изучать JavaScript
JavaScript — самый популярный язык среди разработчиков в 2022 году по версии исследования GitHub , база знаний у него очень большая. Важно в ней не теряться. Давайте разберемся, как начать изучать JavaScript с нуля и не запутаться в обилии информации.
Составьте план обучения
Для начала определитесь, когда вы будете заниматься и как долго. Осознание четких временных границ поможет вам не перерабатывать до усталости и выгорания, но дисциплинирует.
Изучите основы языка
- Лексика, синтаксис и семантика — то, без чего вы не освоите ни один язык программирования. На этом этапе вы должны понять, в какой последовательности давать компьютеру инструкции, как выводить информацию на экран и писать простейшие программы на языке JavaScript.
- Типы данных: что такое числа, строки, в чем разница между null и undefined.
- Операторы. Здесь нужно узнать, какие бывают операции и чем они отличаются от операторов, как складывать, вычитать, умножать и делить числа на JS, и в каком приоритете это выполняет программа.
- Переменные: что это такое, зачем они нужны, как изменять переменные и именовать их, как использовать.
- Функции: зачем их используют разработчики, какие бывают функции, что такое их сигнатура, что такое чистая функция и какие у нее особенности.
- Условные конструкции: как строить условия, как выполняется код в зависимости от условия и как строятся сложные условные конструкции.
- Методы, объекты и свойства: в чем особенность каждого понятия, что такое объекты и структуры данных.
- Циклы: для чего они нужны, как их задавать.
Описанные выше темы можно изучать по учебным пособиям, а еще можно воспользоваться бесплатными курсами в Хекслете. Вот некоторые из них:
- «Основы JavaScript» — познакомитесь с экосистемой JavaScript, ключевыми возможностями языка, а также узнаете о чистых функциях и именовании.
- «Основы современной верстки» — базовые представления о HTML-разметке страниц и CSS — каскадных таблицах стилей.
В дополнение изучите документацию MDN JS . Это хороший вспомогательный инструмент, который поможет вам разобраться с основами. Для многих разработчиков документация MDN — как настольная книга.
Изучите HTML и CSS
Так как чаще всего разработчики используют JavaScript для работы с элементами веб-сайтов, вам нужно освоить HTML и CSS. Знание этих инструментов значительно облегчит вам дальнейшую работу с кодом на JS.
Лучше всего изучать HTML и CSS параллельно с основами JS. Но здесь важно не переусердствовать и не запутаться в обилии информации. Если вы чувствуете, что в голове появляется «каша» из разных понятий, отложите изучение HTML и CSS и дайте знаниям время для усвоения. Занимайтесь в удобном для вас режиме.
Читайте также:
Установите и настройте редактор кода
Кодить на JavaScript можно и в простом «Блокноте». Но программисты практически не пользуются им в повседневной практике — возможности этого редактора очень ограничены. Для полноценной работы на JavaScript лучше выбирать редакторы с более широким функционалом.
Вот примеры нескольких редакторов кода с настраиваемым интерфейсом, подсветкой синтаксиса и удобной навигацией:
- Visual Studio Code — редактор со встроенным дебаггером, Git-командами для работы с системой управления версий GitHub.
- Sublime Text — редактор с горячими клавишами, автосохранением, автодополнением.
- WebStorm — редактор, который обеспечивает автодополнение, навигацию по коду, рефакторинг и отладку. Он платный, но очень популярный среди разработчиков.
О том, как настроить редакторы кода на JS, можно почитать в гайдах Хекслета.
Читайте также:
Пробуйте кодить
Установив редактор, как можно больше практикуйтесь. Начинайте с малого, не пытайтесь сразу применить все полученные знания и составлять сложные программы самостоятельно.
Зайдите на GitHub и найдите там открытый код на языке JS. Выберите из него самый привлекательный для вас фрагмент, скопируйте его и откройте у себя в редакторе. Изучите код, проанализируйте, почему он написан именно в таком порядке, за что отвечает каждая строка. Это хорошая практика, которая вырабатывает насмотренность и структурирует знания.
Найдите в интернете каталог плагинов для JavaScript. Выберите что-то простое, вроде слайдеров, плашек, каруселей и попытайтесь улучшить их код у себя в редакторе. Хорошее упражнение, которое научит вас, как писать JavaScript-код за счет использования сложных языковых конструкций.
Углубите свои знания
По мере вашего развития в программировании вам нужно будет познакомиться с этими понятиями языка JavaScript:
- Асинхронность и событийная модель — одна из «фишек» этого языка программирования. Кто-то ее любит, кто-то ненавидит, но у начинающих разработчиков эта концепция неизменно вызывает сложности. Чтобы стать программистом на JavaScript, нужно уметь работать с циклом событий и коллбеков, стеком вызова и промисами.
- BOM и DOM-дерево — альфа и омега веб-разработки. BOM — объектная модель браузера, а DOM — объектная модель документа. Программист должен знать, из каких элементов состоит веб-страница, какая у нее структура и как разные части взаимодействуют между собой.
- Объекты, классы, основы ООП — теоретический базис разработчика. ООП — это объектно-ориентированное программирование, одна из самых распространенных парадигм. Она предлагает создавать сущности в коде в виде различных объектов. А описывают их через классы — набор параметров и характеристик.
- Помимо самого языка программирования — JavaScript разработчику необходимо освоить популярные библиотеки и фреймворки. Библиотеки — это наборы готовых кусков кода, а фреймворки — каркасы или шаблоны для создания приложений.
Также изучите фреймворки и библиотеки. В JavaScript сейчас популярны:
- jQuery — помогает работать с событиями веб-страницы, а также содержит распространенные функции для использования в DOM, о которой говорили выше. jQuery каждый год хоронят, но за счет своей простоты библиотека не теряет актуальности.
- React — универсальный помощник для разработки пользовательских интерфейсов. У React есть еще версии для мобильной разработки и VR.
- AngularJS — фреймворк, который поддерживает Google. Он эффективен для разработки одностраничных приложений. AngularJS делит их на три отдельных части: модель, вид и контролер, что упрощает процесс написания кода.
- Vue.js — фреймворк с самым высоким рейтингом среди разработчиков и прекрасной документацией. К его особенностям относят простоту шаблонов, которая избавляет программиста от необходимости прописывать каждое действие.
Изучить эти аспекты языка в одиночку будет трудно и не быстро. На этом этапе советуем вам найти себе комьюнити таких же начинающих JS-разработчиков, ментора или обучающие курсы.
Читайте также:
Дополнительная информация
JavaScript позволяет создавать современные интерфейсы сайтов. Но в идеале программисту нужно иметь представление и о других частях приложения. Если он захочет расширить свои компетенции, то ему предстоит настраивать связи между фронтендом приложения и бэкендом — серверной частью и базами данных.
Также, помимо написания кода, ему необходимо разбираться в сетях, протоколах и браузерах.
Какие знания потребуются:
- Что такое протокол TCP/IP, какие у него есть уровни и как каждый из них работает, что такое DNS-зоны и домены.
- Сессии, куки и аутентификация — веб-разработчик должен знать, как приложения взаимодействуют с пользователями.
- База данных — одна из основных частей любого приложения, которое загружает или хранит информацию. Все разработчики используют их в своей деятельности. Нужно понимать, что такое реляционные и нереляционные базы данных, а также понимать типы связи между ними. Рекомендуется выучить основы SQL — языка запросов к базам данных.
- Инструменты разработчика от Chrome — помогают отслеживать маршруты и проводить отладку приложений прямо в консоли. Ими нужно научиться пользоваться.
- TDD — популярная техника разработки. Она предполагает, что крупный проект разбивают на несколько небольших циклов. В каждом сначала создают тесты, проверяющие изменения, а потом вносят их. Нужно понимать основы тестирования и знать об основных принципах этой техники.
Сколько времени нужно, чтобы выучить JavaScript
Скорость обучения у всех разная. Но в среднем начинающие программисты, которые изучают JavaScript и практикуются около 10 часов в неделю, могут претендовать на позицию Junior JavaScript-разработчика через 10-12 месяцев.
Истории выпускников Хекслета
Меня зовут Виталий. Расскажу, почему я ушел из нефтяной отрасли в фронтенд-разработку, как мой пет-проект придал мне уверенности на собеседованиях и тяжело ли вообще вливаться в IT после 30 лет.
Меня зовут Сергей, мне 39 лет. Расскажу, как я оставил перспективную должность ради IT, почему выбрал для развития бэкенд-разработку и чем помогаю стримерам на Twitch в свободное от работы время.
Соревнуйтесь на Codebattle
Codebattle — это платформа, на которой разработчики разных уровней и специализаций могут соревноваться в скорости написания кода или решать задачки по программированию.
Codebattle особенно полезен новичкам, потому что он:
- Прокачивает алгоритмическое мышление
- Знакомит с интересными и нестандартными задачами
- Дает полезные связи с разработчиками
- Помогает достичь минимального уровня, который требуется для прохождения собеседований
- Вносит в обучение элемент игры, что помогает лучше запоминать новую информацию.
Если у вас появятся вопросы по кодингу на Codebattle, не стесняйтесь задавать их разработчикам напрямую — это можно сделать в канале по Codebattle в Хекслет Комьюнити . Чаще упражняйтесь в кодинге, постоянно прокачивайте свои знания и у вас все получится!
Изучайте дополнительные материалы
Читайте обучающие статьи на Хабре , учебники , смотрите видеоуроки на YouTube. Есть также много хороших книг по изучению JavaScript. Будет здорово, если вы прочитаете некоторые из них:
- Дэвид Флэнаган «JavaScript. Подробное руководство»
- Дуглас Крокфорд «Как устроен JavaScript»
- Алексей Васильев «JavaScript в примерах и задачах»
У Хекслета есть свой список рекомендованной литературы. Ознакомьтесь с этими книгами — они полезны для программистов любых направлений.
Изучить основы языка JavaScript вам поможет подготовительный курс Хекслета «Фронтенд-разработчик». В программу включено много теоретических и практических заданий, которые выполняются в браузерном тренажере. Вы изучите основные понятия программирования, научитесь мыслить как разработчики, исправлять ошибки в коде, а еще создадите свою первую программу.