Решил начаь учить JS с нуля, для себя как челлендж, т.к. это практически не связано с моей карьерой. Из предыдущего опыта - C++ в университете, который я люто ненавидел. После универа, ни разу к нему не возвращался, соответственно забыл всё.
Почему JS и что меня вдохновило? Не могу дать исчерпывающий ответ. Мой знакомый, вючил его сам за год без опыта программирования, на столько увлёкся, что стал девелопером. Мне стало интересно попробовать, посмотреть что изменилось в подходе к изучению программирования за 13 лет с тотальным приходом интернета , доступностью практически всех знаний человечества и моим взрослением.
Те кто в теме, дайте пару советов на что стоит обратить внимание, чего избегать. Что бы вы сделели подругому, если начинали изучать сегодня?
От упомянутого выше знакомого получил совет пользоваться codeacademy и freecodecamp. В идеале хочу пользоваться англоязычными источниками. Если есть советы, буду благодарен.
Совет: не лезь, она тебя сожрёт! Перестанешь человеком быть, серьёзно. У меня самого так получилось
Комментарий недоступен
Комментарий недоступен
Я бы скинул три тонны видео со схожим тезисом, да вот с мобилы не удобно
Watman?
Как человек, который успешно помогал людям изучать программирование, хочу рассказать, что есть условно два подхода к изучению программирования (на самом деле все выбирают некоторый микс). В силу индивидуальности они подходят людям с разным складом ума, поэтому имеет смысл выбрать тот, который ближе тебе.
Первый подход: от теории к практике, второй от практики к теории. Если совсем условно, то первый ты сначала читаешь всю книгу по основам языка, потом пытаешься что-то состряпать. Второй - ты сначала берешь какие-то титориалы, где показывают как что-то можно сделать конкретное и пробуешь что-то изменять, экспериментировать, при этом не всегда понимая, что происходит.
Короче если тебе нравится теория то лучше начать с литературы. Если второе, то freecodecamp вот это все, например https://www.freecodecamp.org/news/how-to-build-an-html-calculator-app-from-scratch-using-javascript-4454b8714b98/ . Далее гуглишь "xyz tutorial" на интересующие тебя темы.
Это общее. Теперь про JS. Сам JS в вакууме язык довольно простой, сильно проще си++. В основном с JS делают всякие интерактивные веб страницы (про бэкэнд пока оставим), и тут вот как раз начинается сложность, потому что надо сразу за одно учить HTML и CSS, и сейчас много используют фреймворки и библиотеки и прочие вещи, в которых тоже надо разбираться. Если в это резко окунуться то у тебя случиться перегрузка от этого потока. Поэтому мой совет - придумай для себя какую-нибудь простую практическую задачу, которую тебе было бы интересно решить и не пытайся сразу лезть в полноценный веб девелопмент.
Спасибо за развернутый ответ.
Основы HTML есть, freecodecamp с этого тоже начинается, решил не пропускать.
Про фреймворки слышал, что там всё уже другой уровень. Задачи стать девелопером не ставлю.
Про придумать для себя какую-нибудь простую практическую задачу, это действительно хорошо. Думаю сначала пройти курс, чтобы понять какую задачу можно поставить перед собой.
Если ты не ставишь целью стать девелопером, то какую цель ты себе ставишь? Довольно бессмысленно учить программирование, чтобы поставить галочку и забыть благополучно. Я не имею в виду профессиональную разработку, а вообще, ты можешь какой-то проект вести в качестве хобби.
Самая хорошая практическая задача - это повторить что-то существующее, потому что понятно что это можно сделать. Ну или можно поискать примеры задач. Можешь например сделать игру 15. https://ru.wikipedia.org/wiki/%D0%98%D0%B3%D1%80%D0%B0_%D0%B2_15
Комментарий недоступен
В комментах люди жалуются, что учебник устарел
Комментарий недоступен
Пиздят
Ну и в догонку
Node JS Developer:
Комментарий недоступен
Комментарий недоступен
Ещё совет: когда полезешь в фреймворки, 300 раз спроси себя: "Надо ли оно мне?"
А что, можно без фреймворков?
Только ванила, только хардкор
Пока точно не надо, я ради развлечения.
Чего избегать: var-ов. Лично мне режут глаз.
Совет: на JS одну вещь можно написать охуилярдом способов. Поэтому найди свой путь и пиши всегда по-своему, не меняй стили по КД
Начни с принципов работы браузера
Отличная книга для начала JS пути
https://eloquentjavascript.net/
Фронтендеры атакуют. Энергию на задние отражатели, занять оборону!
Верно подметил, фронтендеры они такие
Фронтендеры атакуют.
Обиженки лепят минусы
Спас твой рейтинг
А я твой!
И пососались...
Начни с этой книги, она простая, но после нее в голове уже что-то будет. Потом уже можно посложнее книги читать
Комментарий недоступен
Комментарий недоступен
Ищи аналоги Программируй с Козулей
Читай хабр, митапы по жс смари, посещай, хороших фронтов мало, у тебя есть норм база, шарь про архитектуру по крупному, реакт будет или вьюшечка?
А всякие онлайнкурсы как? Отус, лофтскул, хтмлакадеми?
Зачем начинать с изучения языка? Это как учить формулу по физики и нихера не понять.
Надо же основы понимать, железяки, ассемблер (хотя бы иметь представление), а потом двигаться вверх по абстракциям.
Это полезно, но не необходимо.
Ну если всю жизнь сидеть в миддлах - то сойдет.
1) Я не хочу становиться девелопером, меня моя текущая роль PM'а вполне устраивает
2) Написал, что хочу разобраться для себя потому что интересно. Ассемблер был семестр в универе - это смертная тоска. Если у меня хобби автосимуляторы, то это не значит, что я хочу разбираться в устройстве реального автомобиля
Я имел ввиду не конкретно язык ассемблера, а набор низкоуровневых понятий: логические вентили; p-, n- транзисторы, регистры, уровни кэша и прочее дерьмо. Потом типы данных, структуры данных и тд. Дает хорошее представление, как это работает в высокоуровневых языках и становишься более эффективным программистом, и ты не просто собираешь код из готовых блоков, как гастарбайтер, а реально знаешь, что и как использовать.
P.s. Очень плохое сравнение.
Тоже так думаю. Нужно вникать в вещи, и понимать как они работают на более низких уровнях, или хотя бы иметь представление. Как сказал David Haney (один из инженеров Stack Overflow): "stringing APIs together and calling it programming doesn’t make it programming." Погуглите left-pad incident, кому интересно.
Когда до миддла дорастет, тогда уже про ассемблер почитает.