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

JavaScript с нуля

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

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

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

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

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы рассказать свою историю.

Написать
{ "author_name": "Artem Ruzanov", "author_type": "self", "tags": [], "comments": 40, "likes": 17, "favorites": 20, "is_advertisement": false, "subsite_label": "dev", "id": 104760, "is_wide": true, "is_ugc": true, "date": "Wed, 03 Jul 2019 15:15:53 +0300", "is_special": false }
0
{ "id": 104760, "author_id": 165373, "diff_limit": 1000, "urls": {"diff":"\/comments\/104760\/get","add":"\/comments\/104760\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/104760"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 232424, "last_count_and_date": null }
40 комментариев
Популярные
По порядку
Написать комментарий...
9

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

Ответить
17

Комментарий удален по просьбе пользователя

Ответить
1

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

Ответить
5

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

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

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

Ответить
0

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

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

Ответить
0

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

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

Ответить
4

Комментарий удален по просьбе пользователя

Ответить
1

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

Ответить
5

Комментарий удален по просьбе пользователя

Ответить
1

Пиздят

Ответить
4

Ну и в догонку

Ответить
3

Node JS Developer:

Ответить
0

В тиндере хрюши заебали бтв. Крик души.

Ответить
0

Могла бы и не объяснять, всё по нику понятно

Ответить
2

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

Ответить
1

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

Ответить
0

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

Ответить
0

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

Ответить
2

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

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

Ответить
0

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

Ответить
1

>на **задние** отражатели

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

Ответить
1

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

Ответить
0

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

Ответить
1

А я твой!

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

Ответить
1

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

Ответить
1

Совет сходить нахуй и убиться об стену принимается?

Ответить
0

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

Ничего, я всё сделал правильно. Когда-то дрочил пингвинов потому что мне так хотелось, теперь беру килобаксы за пару кликов в консоли aws и сакральное умение экранировать кавычки. С сутулых фронтендеров кекаю.

Ответить
0

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

Ответить
0

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

Ответить
–1

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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
2

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

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

Ответить
0

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

Ответить
0

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

Ответить
Обсуждаемое
Новости
"Подумай о своей семье": Китай угрожает европейским гражданам из-за протестов в Синьцзяне - The Guardian
Уйгуры, живущие в Германии, Нидерландах, Финляндии, Швеции и Франции, жалуются на угрозы со стороны Пекина.
Новости
Экс-ведущий программы «Время» Валерий Фадеев стал главой СПЧ. Из совета исключили Шульман и главу «Агоры» Чикова
Исключённый из СПЧ бывший глава совета Михаил Федотов планирует продолжать заниматься правозащитной деятельностью.
Новости
В США мужчина преодолел 564 километра ради секса с несовершеннолетней, но она оказалась полицейским под прикрытием
Теперь ему грозит до 10 лет тюрьмы.
Популярное за три дня
Интернет и мемы
Настоящий патриот
Технологии
«Умные» чётки от Ватикана взломали за 15 минут
Вера не помогла.
Интернет и мемы
Девушка, которая почти всю жизнь была парализована, навещает свою медсестру
Она приготовила ей лучший подарок

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovy", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbk", "p2": "gnwc" } } } ]