Разработка
Artem Ruzanov

JavaScript с нуля

Решил начаь учить JS с нуля, для себя как челлендж, т.к. это практически не связано с моей карьерой. Из предыдущего опыта - C++ в университете, который я люто ненавидел. После универа, ни разу к нему не возвращался, соответственно забыл всё.

Почему JS и что меня вдохновило? Не могу дать исчерпывающий ответ. Мой знакомый, вючил его сам за год без опыта программирования, на столько увлёкся, что стал девелопером. Мне стало интересно попробовать, посмотреть что изменилось в подходе к изучению программирования за 13 лет с тотальным приходом интернета , доступностью практически всех знаний человечества и моим взрослением.

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

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

0
40 комментариев
Написать комментарий...
serguun42 и ещё 0,000 человек

Совет: не лезь, она тебя сожрёт! Перестанешь человеком быть, серьёзно. У меня самого так получилось

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
serguun42 и ещё 0,000 человек

Я бы скинул три тонны видео со схожим тезисом, да вот с мобилы не удобно

Ответить
Развернуть ветку
Арсен

Watman?

Ответить
Развернуть ветку
Andrey Syschikov

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

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

Короче если тебе нравится теория то лучше начать с литературы. Если второе, то 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, и сейчас много используют фреймворки и библиотеки и прочие вещи, в которых тоже надо разбираться. Если в это резко окунуться то у тебя случиться перегрузка от этого потока. Поэтому мой совет - придумай для себя какую-нибудь простую практическую задачу, которую тебе было бы интересно решить и не пытайся сразу лезть в полноценный веб девелопмент.

Ответить
Развернуть ветку
Artem Ruzanov
Автор

Спасибо за развернутый ответ.
Основы HTML есть, freecodecamp с этого тоже начинается, решил не пропускать.
Про фреймворки слышал, что там всё уже другой уровень. Задачи стать девелопером не ставлю.

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

Ответить
Развернуть ветку
Andrey Syschikov

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

Самая хорошая практическая задача - это повторить что-то существующее, потому что понятно что это можно сделать. Ну или можно поискать примеры задач. Можешь например сделать игру 15. https://ru.wikipedia.org/wiki/%D0%98%D0%B3%D1%80%D0%B0_%D0%B2_15

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Artem Ruzanov
Автор

В комментах люди жалуются, что учебник устарел

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
DiDi

Пиздят

Ответить
Развернуть ветку
jname

Ну и в догонку

Ответить
Развернуть ветку
jname

Node JS Developer:

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт заморожен

Комментарий недоступен

Ответить
Развернуть ветку
serguun42 и ещё 0,000 человек

Ещё совет: когда полезешь в фреймворки, 300 раз спроси себя: "Надо ли оно мне?"

Ответить
Развернуть ветку
Myemptyblog

А что, можно без фреймворков?

Ответить
Развернуть ветку
Zoibana

Только ванила, только хардкор

Ответить
Развернуть ветку
Artem Ruzanov
Автор

Пока точно не надо, я ради развлечения.

Ответить
Развернуть ветку
serguun42 и ещё 0,000 человек

Чего избегать: var-ов. Лично мне режут глаз.

Совет: на JS одну вещь можно написать охуилярдом способов. Поэтому найди свой путь и пиши всегда по-своему, не меняй стили по КД

Ответить
Развернуть ветку
Konstantin Shitikov

Начни с принципов работы браузера

Ответить
Развернуть ветку
CiZerin

Отличная книга для начала JS пути
https://eloquentjavascript.net/

Ответить
Развернуть ветку
Pavel Averyanov

Фронтендеры атакуют. Энергию на задние отражатели, занять оборону!

Ответить
Развернуть ветку
serguun42 и ещё 0,000 человек
>на **задние** отражатели

Верно подметил, фронтендеры они такие

Ответить
Развернуть ветку
serguun42 и ещё 0,000 человек

Фронтендеры атакуют.
Обиженки лепят минусы

Ответить
Развернуть ветку
Pavel Averyanov

Спас твой рейтинг

Ответить
Развернуть ветку
serguun42 и ещё 0,000 человек

А я твой!

И пососались...

Ответить
Развернуть ветку
Вадим Кот

Начни с этой книги, она простая, но после нее в голове уже что-то будет. Потом уже можно посложнее книги читать

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Stan Majors

Ищи аналоги Программируй с Козулей
Читай хабр, митапы по жс смари, посещай, хороших фронтов мало, у тебя есть норм база, шарь про архитектуру по крупному, реакт будет или вьюшечка?

Ответить
Развернуть ветку
Stan Majors

А всякие онлайнкурсы как? Отус, лофтскул, хтмлакадеми?

Ответить
Развернуть ветку
Ava Lord

Зачем начинать с изучения языка? Это как учить формулу по физики и нихера не понять.
Надо же основы понимать, железяки, ассемблер (хотя бы иметь представление), а потом двигаться вверх по абстракциям.

Ответить
Развернуть ветку
Andrey Syschikov

Это полезно, но не необходимо.

Ответить
Развернуть ветку
Ava Lord

Ну если всю жизнь сидеть в миддлах - то сойдет.

Ответить
Развернуть ветку
Artem Ruzanov
Автор

1) Я не хочу становиться девелопером, меня моя текущая роль PM'а вполне устраивает
2) Написал, что хочу разобраться для себя потому что интересно. Ассемблер был семестр в универе - это смертная тоска. Если у меня хобби автосимуляторы, то это не значит, что я хочу разбираться в устройстве реального автомобиля

Ответить
Развернуть ветку
Ava Lord

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

P.s. Очень плохое сравнение.

Ответить
Развернуть ветку
Вадим Кот

Тоже так думаю. Нужно вникать в вещи, и понимать как они работают на более низких уровнях, или хотя бы иметь представление. Как сказал David Haney (один из инженеров Stack Overflow): "stringing APIs together and calling it programming doesn’t make it programming." Погуглите left-pad incident, кому интересно.

Ответить
Развернуть ветку
Andrey Syschikov

Когда до миддла дорастет, тогда уже про ассемблер почитает.

Ответить
Развернуть ветку
Читать все 40 комментариев
null