Я застрял, что делать то?

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

Собстно суть проблемы — вот решил я выучить программирование, начал лазить по интернетам и искать что да как, смотреть возможности языков и что я смогу осилить для начала. Мой выбор пал на JavaScript, как то понравился он мне и все тут. Но вот у меня ступор. Закончив курсы HTML/CSS а так же JavaScript на codeacademy.com. Начал читать learn.javascript.ru. Но со временем и к своему сожалению, я понял, что я мало чего понимаю из того что прошел и прочел. Это как то странно. Что делать ? Или я как то не с того начал или же я просто слишком глуп что бы постичь все тайны «силы» ?

Надеюсь на понимание и разумные ответы без посыланий в тихое путешествие.

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

Лучшие комментарии пропустить

Заведи себе пет-проект и пили его, пока ты не решишь, что его не стыдно показать публике. Когда наступит этот момент, покажи код какому-нибудь опытному разработчику. Потом переделай все с нуля. Примерно на этом этапе станет ясно, что ничего ты не застрял, а совершил огромный прогресс, но впереди намного больше интересностей. Главное упорство :)

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

назад — кричать ’вiльна касса’
c таким овощным взглядом на мир вы в it далеко не уедете

www.youtube.com/watch?v=7hY28PXvHaE
Це було Вам ))

Или я как то не с того начал или же я просто слишком глуп что бы постичь все тайны “силы” ?
ТС просить поради. Тут не погляд чи безпорадність “овоча”, а прохання новачка про допомогу якогось “профі”

Нестор Иванович не был экспертом по жабам!

Не только лишь все могут стать программистами. Не каждый может это делать

github.com/rmurphey/js-assessment — набор задач по JS, поможет разобраться с основами (массивы, строки и т. д.) + можно посмотреть, как писать тесты, на будущее.

codewars.com — языки можно выбирать. После решения каждой задачи советую читать Best practices и анализировать чужие решения, сравнивая со своим.

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

Вы не описали какой у вас есть опыт и образование, так что заранее прошу прощение если мои вопросы как-то вас обижают. Могу предположить что у вас одна из возможных проблем:
1. Возможно, вы рановато начали изучения конкретного языка, в данном случае JS.
Вы знаете что такое рекурсия, чем рекурсия отличается от цикла, что такое указатель, чем значение отличается от указателя, что такое сборка мусора, что означает «структуры данных» и какие они бывают и для чего они, что такое многопоточность, что такое булевые операции, что такое объектно ориентированное программирование, что такое функциональное программирование, и т.д. сразу все не вспомню. Если хотя бы один ответ на эти вопросы «нет», то вам надо отложить (не прекратить, а именно на время отложить) изучение конкретно JS и восполнить пробелы основ программирования. А потом опять вернуться к изучению JS (если он вам все еще будет нравится)

2. Возможно, вы выбрали слишком «свободный» язык для начала изучения программирования. JS очень много ошибок «прощает» программисту, в нем очень легко допустить ошибку («отстрелить себе ногу»), и сам JS вам об этом не скажет, либо скажет так, что даже опытный синиор не сразу поймет в чем проблема по тексту ошибки. Для изучения обычно выбирают языки с более жестким синтаксисом и с более четкими правилами что можно и что нельзя, и как будет выполняться программа. Например Pascal или Java идеальны для начала изучения программирования как такового. Можете начать с них изучать основы программирования, а потом переключится на то направление которое нравится, например на JS.

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

Спасибо за совет. У меня образование в сфере туристического бизнеса, к программированию или же точным наукам никакого отношения не имеет. Опыта в программирование никакого нет, разве что легкая практика с HTML, я работаю контент менеджером в информационных порталах. Рядом сидят разрабы этих проектов, вот и захотелось тоже что то создавать(но там никто со мной заниматься и не думает) =) Ну, я пойду пожалуй основы поучу.

Ну с, начнем. Рекомендую начать с:
1. Рекурсия. Нарисуйте одну из фигур: «Дракон Хартера-Хейтуэя», «Снежинка Коха», «Ковёр Серпинского». А вообще говоря, если станет интересно то нарисуйте все три. «Нарисуйте» — я имею ввиду напишите программу, которая нарисует, конечно. Вообще существует очень много задач, которыми можно продемонстрировать рекурсию, но эти задачки которые я предложил более интересные, они не примитивные, и там надо не просто найти какой-то результат, а именно рисовать, это не так скучно. А еще это красиво :) если у вас визуальное восприятие преобладает, то вы увидите «как прекрасен мир формул и программирования» :)
Пишите на любом языке, даже на JS если хотите. Я рекомендую Pascal. В гугле вы конечно найдете готовый код программы, но не советую его читать, копировать, и т.д. Разберитесь и поймите задачу, придумайте алгоритм, возможно нарисуйте шаги алгоритма, и напишите программу.
1.1 Если будет сложно, то почитайте про рекурсию, и решите более простую задачку: Разверните число. То есть, если на вход пришло число 9182, то на выходе программа должна выдать число 2819. При этом нельзя использовать массивы, строки, циклы. То есть, надо использовать только рекурсивный вызов функции, целочисельные переменные, операцию целочисельного деления, операцию отстатка от деления, операцию умножения, операцию сложения, условные операторы, операции сравнения.
1.2. Если и с предыдущей задачей проблемы, то начините с задачи: вывести n-ное число Фибоначчи. То есть, если на вход пришло число 8, то на выходе программа должна выдать 21.

2. Структуры данных. Представьте что вы пишите программу организации приема кораблей в транзитном порту. Решайте задачи последовательно. Каждая следующая задача включает в себя требования всех предыдущих. Пишите на любом языке. Пишите так, чтобы программа работала быстро, то есть чтобы максимально быстро отвечала на запросы менеджера порта.
2.1 При входе в порт корабль сообщает программе порта свое уникальное имя и название страны назначения. Каждый корабль хаотически плавает в порту и ожидает пока по громкоговорителю не объявят его имя, тем самым дав ему разрешение выйти из порта и следовать в страну назначения. Вам нужно организовать в программе очередь кораблей для каждой страны. Иногда программе будет даваться команда от менеджера порта «можно выпустить 1 корабль в страну Х», тогда программа должна определить какой корабль первый в очереди в эту страну и назвать в громкоговоритель его имя. Если в эту страну нет кораблей, то ничего не надо говорить, либо можно сказать «Всем привет». Программе нельзя называть имена кораблей, которых сейчас нет в порту, потому что это озадачит всех и расстроит, все подумают что названый корабль утонул и начнется паника, а этого допустить нельзя.
Кораблей может быть много тысяч, максимальное число неизвестно. Стран существует неизвестное количество.
*тут вы ознакомитесь со струкрутой очередь, возможно с понятием «указатель», ознакомитесь с понятием «ассоциативный массив» либо с понятием «хеш» и «хеш таблица».
2.2 Теперь менеджер порта приходит к вам с новыми требованиям: он хочет чтобы программа умела отвечать на вопрос «сколько сейчас кораблей в порту ожидают отправки в страну Х», и на вопрос «сколько сейчас всего кораблей в порту».
2.3 В порту стало мало места и в некоторые страны очереди очень длинные. Теперь менеджер хочет чтобы корабли на входе в порт сообщали не только имя и страну назначения, а и еще страну откуда они приплыли в порт. Теперь менеджер хочет иметь возможность сказать «отправь домой последний корабль, который стоит в очереди в страну Х». Программа должна объявить имя корабля и сказать ему «домой», а этот корабль опечалившись должен уплыть. Опять же, нельзя называть имени корабля которого нету в порту, а в случае когда корабля в такую страну нету, то надо сказать «Всем привет».
* тут вы ознакомитесь с понятием «стек»
2.4 В порт стали приходить большие корабли, и очереди стали выглядеть не так как хочет менеджер. Менеджер хочет чтобы теперь, кроме всего прочего, корабли при входе в порт называли еще и свой размер, условное дробное число от 0 до 100. Теперь становясь в очередь корабль с большим размером обязательно должен становится раньше кораблей с меньшим размером, чтобы побыстрее отплыть в страну назначения. То есть, нельзя допустить чтобы к примеру отправился корабль с размером 2.4, в то время когда в очереди в эту же страну все еще ожидает корабль размером 15.2. Кроме того, теперь менеджер хочет уметь давать программе еще одну дополнительную комманду: «выпустить из порта 1 корабль ожидающий в страну Х, размер которого равен Y»
* тут вы ознакомитесь с сортированными списками, и с двоичными деревьями поиска.

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

Любопытно. Буду пробовать, хотя я даже и малейшего представления не имею как это сотворить. А примерно через какой промежуток времени нормальный, толковый, человек, который ежедневно что-то читает и пытается делать, с нулевым уровнем знаний сможет это сделать ? Так как я понял что у меня как раз вот нулевой уровень, то что я пытаюсь делать и читаю — это младшая школа. Может я безнадежен и зря это все затеял.

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

По поводу твоего вопроса — на такие задачки уходит чуть меньше семестра в технических вузах, в которых хоть как-то изучают программирование на первом-втором курсах (но параллельно есть еще куча предметов, на половину из которых вобщем тоже забивают). Если заниматься ежедневно и постоянно только этим, то вполне можно справится и за месяц, но мозг будет кипеть. А вообще, индивидуально.
Но задачки эти — практическая демонстрация теории, которую надо более менее почитать. Она не сложная и её не много. Если рваться решать задачки не прочитав, скажем, что такое рекурсия, то есть шанс заняться велосипедоизобретательством, что тоже неплохо, но займет больше времени.

Ну, что такое рекурсия я вкурсе. Проблема с алгоритмами.

устал читать, не думаю что кто то это будет делать. ди и вообще начинать с рекурсии — это жесть.

Это в учебниках современных написано. Да и как без неё ?

устал читать, не думаю что кто то это будет делать.
Почему не думаете что кто-то будет делать эти задачки? Они по сложности не соответствуют уровню ТС в большую или меньшую сторону? Они не интересные? Они развивают не те скилы, которые нужны ТС? Может они не развивают никаких скилов? Или может, в конце концов, задачки делать просто лень, а хочется «волшебную таблетку» как стать программистом за 24 часа?
ди и вообще начинать с рекурсии — это жесть.
Жесть — это учить фреймфорки фронтенда на JS не зная как пользоваться рекурсией.

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

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

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

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

Каждый пункт — это задачки на определенный раздел теории. Пункт 1 — Рекурсия, пункт 2 — структуры данных. В конце каждой задачки после звездочки описано какую часть теории демонстрирует эта задачка. Если тот кто собирается делать задачку не знает этой теории и/или не может решить задачку, то гуглит и учит ту теорию, которая касается конкретной задачки.

Чувак ты круто. спасибо. я сам чтото подобное искал

Первый язык js? Я бы не рискнул)

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

Единственное что я смог написать — это калькулятор с задачек на learn.javascript.ru. И то писал я его часа 4 и перерыл пол гугла

4 часа — это вообще ничего. Трудоёмкость любых проектов, которые хоть что-то из себя толковое представляют, измеряется в тысячах человеко/часов, всё что можно написать за 4, 40 или 400 часов — уже придумано и написано. Это означает, что трудоёмкость изучения языка в чистом виде не имеет значения по сравнению с трудоёмкостью проектов. А также означает, что лучший способ научиться — это писать реальные проекты, или хотябы участвовать как-то в них. Что касается бумажной литературы, то её ценность сомнительна, издательства платят за количество страниц в книге, поскольку тонкие книги не пользуются спросом, поэтому там в основном вода. Самые толковые учебники — наоборот те, где всё описано коротко и ясно. Например, книга Вирта с описанием Паскаля занимает всего около 30 страниц — и этого достаточно для того, чтобы изучить язык и приступить к программированию.

Мы пишем свой продукт 8 лет и перерыли 88.4% гугла
принцип то же, разница в масштабах

Если бы Вы знали точный процент перерытого, Вы бы могли перерыть все

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

а потом темы на форуме про 40ка летних джуниоров...

может пусть попробует пописать? :) а то в теории читать можно долго ;)

что дальше?
Edx.org -> Introduction to Bootstrap (Microsoft), Introduction to jQuery(Microsoft) (начинать с этих)
Coursera -> Responsive web design (HTML, CSS, JavaScript, jQuery, Bootstrap, Meteor.JS) (можно выбрать следующий вместо него)
Coursera-> Web Full Stack Developing (HTML, CSS, JavaScript, Bootstrap, jQuery, node.JS, MongoDB, AngularJS)
freecodecamp.com -> Web Full Stack Sertification (HTML, CSS, JavaScript, Algorithms, Bootstrap, jQuery, node.JS, MongoDB, AngularJS + 800 часов теории с задачами и минипроектами + 800 часов практики в non-profit проектах)
и да... все это бесплатно...

Сталкивался ровно с такой-же проблемой. Могу дать пару советов:
Просто прочитать книгу, просмотреть курс — этого мало. Сразу создаётся иллюзия что всё понял и запомнил, но через время, на практике, смотришь на IDE как баран на новые ворота, и спотыкаешься на очень простых вещах.
Отсюда первый вывод: необходимо прописывать ручками абсолютно весь код который встречается по ходу изучения книги и/или видео курса. Тут есть одна важная деталь — необходимо написать код один раз просто переписывая его с оригинала, затем попробовать разные варианты текущего куска кода, и самое важное, отвлечься на на несколько минут на кофе, новости/соц-сети, а затем написать этот кусок кода уже без подглядывания по памяти, проговаривая для себя в уме что и как делает каждая строчка, и какие могут быть варианты.
Это трудно, это муторно, но уверяю — результат будет очень воодушевляющий.
Дальше, все книги и видео курсы очень разные, и преподаватели очень разные. Один вроде пишет/говорит правильные вещи, но они просто не доходят, ну вот непонятно хоть ты тресни. Часто эта проблема не в вас, а в самом курсе.
Вывод второй: пробуйте разные книги, разные курсы, и вы найдёте автора, который вам станет как отец родной, и каждая его фраза будет понятна и знания будут ровно и аккуратно складываться в голову. По личному опыту, книги и видео курсы в оригинале часто на голову выше переводов этих самых книг и курсов.
P.S. Не переживайте о том, что вам не приходит в голову какой свой проект начать писать. Так было у многих. Просто прописывайте руками абсолютно всё, что вы проходите в процессе обучения. Посоветую так-же автора Jeffrey Way, которого считаю одним из лучших в плане донесения и подачи материала. А так-же посоветую его бесплатный курс 30 Days to Learn jQuery

Идите дальше — у вас всё получится. Только вперед — это ваш путь.

Мне кажется это нормально. Главное не останавливайся, а делай еще один шаг через «не могу». Я learn.javascript.ru раза 3 читал. А также читал и продолжаю читать книги.
Как ниже советуют, тестовые задания это и правда очень хорошо.
И вообще, практика — самое лучшее. Наверное, только с ней и приходит настоящее понимание.

Спасибо. Такие вот комментарии очень помогают, как волшебный пендаль, только ласковый =)

Прекрасно понимаю ТС. Его стопор, по всей видимости в том, что знания, вроде как и есть, но собрать это все в кучу и что-то слепить не выходит. С чего начать, за что взяться, что использовать, а вдруг это вообще не нужно никому — куча вопросов, которые не дают нормально начать работать. Проблема в большей степени даже психологическая. Лично у меня она решилась только с реальным проектом, благо времена были такие, что работу найти можно было даже новичку, чьим венцом умений была сортировка пузырьком. Постепенно барьер сходил на нет, знания систематизировались, а новые благополучно стыковались со старыми. Сейчас такой халявы, как была, уже нету, «вайти-вайти» сложнее, поэтому на вашем месте я бы:
а) пошла на курсы от лидеров рынка;
б) примазалась к какой-то команде, пилящей проект на энтузиазме. Начать с выполнения самых простых задач. Минус — без денег энтузиазм у команды обычно быстро заканчивается и хорошо, если успеете набраться опыта;
в) постаралась бы найти работу «за еду» в небольшой конторке хотя бы. Они тоже хотят какой-никакой опыт у соискателя, поэтому пункты «а» и «б» будут в плюс.

Если хочешь, давай делать проэкт вместе. github.com/kaflan/gitApi

По-моєму найкращий механізм, це придумати проект. Проект, для якого потрібно знань значно більше ніж у Вас є. Можна щось не дуже практичне, навіть щось із сфери «велосипедобудування». Головне щоб проект був на голову вищий від Ваших знань і включав якомога більший стек технологій. Так вже побудована наша психіка — знання і досвід легше здобуваються, коли є подібна мотивація.

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

Практика. С того же learn.javascript.ru, после каждой главы есть неплохие задачки для решения. Можно самому что-то придумывать, можно смотреть пример кода.
Вот неплохая книга, которая может что-то прояснить. Фленаган может тяжело читаться на первых порах, я бы справочник от него купить советовал.
К примеру, я не мог понять, почему NaN не равен NaN-у пока не начал писать очередной велосипед и мне нужно было пофиксить багу, когда пользователь вводит не число. Только тогда понял что к чему.
На счет пет проекта, допустим, ты хочешь написать игру крестики-нолики, попробуй нарисовать блок схему к ней и подумай, что ты уже можешь начать писать и что тебе в процессе нужно выучить.
Когда знаешь что нужно искать и где смотреть, считай уже 25-50 % задачи решено.

По-вашему, умение нарисовать схему — это не есть, то самое знание алгоритмизации? Кстати, у Вас не возникло бы вопроса, про NaN, если бы Вы потратили время на изучение основ.

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

«как деды», с алгоритмов?
В таком случае, у автора может отбиться полностью желание программировать.

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

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

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

Спасибо за комментарий. Постараюсь подетальней рассказать как именно и где у меня стопор. То есть у меня есть некие знания(оценить точно их, увы, не могу). Но вот беда, я совершенно не понимаю куда их и как реализовать. Очень хотелось бы начать свой проект, но, опять же я борюсь с гуглом, так как все мои запрос с вопросом «как?!» — поисковики выдают кучу статей на ресурсы где предлагают или же шаблоны на ВП или же бесплатные cms

Ой, извините, некогда было ответить. Там давали совет про Pascal , я его поддерживаю полностью. Сама когда-то схватилась как самоучка за php, но сразу поняла, что ничего не поняла. Посоветовали паскаль и алгоритмы, и нормально пошло, потом универ (решила еще глубже в теорию вникнуть, лишним не было). Так что, там Вам дали задачки, порешайте их, только самостоятельно, без подглядывания в чужие решения.

Тогда, может, не стОит даже начинать?

Вы машину водите, если не секрет? Учились водить за рулем, или изучая физические принципы работы ДВС?

Нет, не вожу. Поясните, что общего, я общего не вижу ничего. Конечно, я пробовала садиться за руль, но не более, это не сложнее чем на мотоцикле, велосипеде, etc. Но здесь, все же речь, не о механических навыках, а о том, что человек, где-то застрял именно в изучении. Так вот, пытаемся разобраться, где он застрял, и как можно, перелопатив кучу литературы, что-то не понимать. На мой, взгляд, опять же, подчеркиваю, сугубо мой личный взгляд, и мой личный опыт, без базовых знаний, некоторые вещи, так и останутся для него магией. Поэтому, мы с Вами, переливаем из пустого в порожнее, так как, реально, на данный момент, не знаем, на чем именно он застрял. Я дала совет, попробовать основы основ усвоить, прежде чем переходить к накручиванию велосипедов. Если проблема не в этом, то мой совет, конечно же не подходит, и я думаю, сам ТС это понимает.

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

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

Но со временем и к своему сожалению, я понял, что я мало чего понимаю из того что прошел и прочел
Это потому что каждый пример в каждой теме нужно прорабатывать самому, ручками, даже если «всё понятно».

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

Читать полностью МДН, делать задания из javascript.ru. Искать тз по всяким собеседованиям, смотреть готовые решения каких то проблем. понимать куда двигаться будешь, в разработку фронт или бекенд, может лучше анимация и физика лучше подойдет. Javascript простой язык, для старта, но чтоб стать мастером нужно сделать многое.

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

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

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

например у нас в школе информатику преподавали на уровне: «вот это винда, а вот это ворд, а вот игра сапер...поразбирайтесь в ней до конца урока» )))
поэтому мой совет начать не с JS и его особенностей, а с книги www.ozon.ru/...ontext/detail/id/4803785 , что бы вникнуть в базовые понятия структур данных и алгоритмов

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

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

Ну да, я как бы написал шутку выше, правда не очень смешную, а скорее грустную, потому что она реальна =) Ну хотя у нас еще и турбо паскаль был, правда запустили мы его всего два раза. А хотелось бы больше

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

Ну я выбрал JS. Так как я уже около 4х лет работаю контент менеджером, мне просто стало дико скучно, нет никакого развития, одни и те же банальные операции с HTML, ну и я всегда смотрел в сторону нашего IT отдела, они что-то создавали. У них не было ничего, а потом из ничего появлялось что-то красивое и оно работало. Я тоже так хотел. Вот решил заниматься, пуская я не пойду на работу по этой специальности, а буду делать что-то для себя, но буду создавать.

Так может познакомиться поближе и попросить какие то задачки в ИТ отделе? И есть еще сообщества, есть тема по поиску менторов. Что значит «не найду работу по этой специальности»? Нет смысла создавать в стол, со временем вам захочется, что бы вашим творением пользовались. А что б создавать что то конкурентоспособное (все равно во фрилансе или на работе), придется идти в ногу со временем, учить новые фреймворки. Это уже не книжку прочитать, сразу встанут проблемы, вот и решайте их, развивайтесь.
Так что или вы посвящаете этому жизнь или банальные операции с HTML, а когда вы примете решение с JS работать, а не просто «он мне нравится», то начнете искать что и как на этом языке можно создавать, и тогда все усвоите.

Основательная книга по JS — это «JavaScript. Подробное руководство» (Дэвид Фленаган). Ещё, вот подборка книг хорошая по JS vk.com/...?w=page-54530371_48792013.

Если хочется фронтенд-разработкой заниматься — то теперь, после основ, нужно разбираться с фреймворками и библиотеками — jQuery, Angular.js, Bootstrap, React.js — делать на них небольшие приложения, выкладывать на github.
Если хотите бэкенд-разработкой заниматься, то нужно углубляться в node.js learn.javascript.ru/nodejs-screencast — сделайте на нём чат, сайт небольшой.

У меня как раз такая проблема. С чистым JS конечно не всё круто, но по крайней мере на нем, большую часть своих задумок могу реализовать, даже если это будет страшно выглядеть, но работать будет всетаки. А вот с angular, react — как рыба об лёд бьюсь.

Кстати, немного оффтоп, но все же, насколько реально для трейни стартануть с упором на node.js , а не на фронтенд?

Любой фреймворк написан на чистом языке — открой посмотри из чего он)

Спасибо за совет, а чисто теоретически, возможно ли заниматься как с фронтенд и бэкенд одновременно ?

Это не ко мне в вопрос. Я по-сути в таком же положении как и ты.

Ну конечно можно. Не ограничевайте себя «я фронтенд девелопер» или «я бекенд девелопер».

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

Нет, это очереденой холивар, но нет — ты можешь делать хорошо что-то одно

Изобретать велосипед бессмысленно — нужно писать свой проект. Мысль проста, но гениальна )
Проблема, как я понял в том, что хочется начать писать что-то, что можно «пощупать», но знаний не хватает.
Если я прав, то здесь книги уже вряд ли помогут — нужны туториалы.
Вот полезный ресурс:

www.tutorialspoint.com/javascript

Крайне помогут исходники проектов

github.com/trending?l=javascript

Если имеются проблемы с английским — имеет смысл начать его подтягивать :)
Удачи Вам.

Заведи себе пет-проект и пили его, пока ты не решишь, что его не стыдно показать публике. Когда наступит этот момент, покажи код какому-нибудь опытному разработчику. Потом переделай все с нуля. Примерно на этом этапе станет ясно, что ничего ты не застрял, а совершил огромный прогресс, но впереди намного больше интересностей. Главное упорство :)

Надо что-нибудь пописать

А в на чём застрял? Что не понимаешь?
В отличие от некоторых отвечающих, я бы наоборот посоветовал «прыгать» между книгами, видео и другими источниками информации. Я так с Java делаю. Если один автор плохо объяснил какую-то тему, ищу другого. Иначе застреваю. И да, практика, практика и ещё раз практика. Как только начинаешь реализовывать что-то, сразу включается «думалка» :)

Начал читать learn.javascript.ru.

Хорошая книга, имхо
А вообще все прост:)) — Берешь и пишешь игру какую-нибудь на JS, дальнейшие вопрос отпадают

а если нет фантазии что-то своё придумать? не всем же дано быть фантазерами и придумывать игровую логику или какой-то уникальный сервис) Какое отношение это имеет к программированию?

а если нет фантазии что-то своё придумать?
Можна написати якусь існуючу простеньку гру.
Какое отношение это имеет к программированию?
ІМНО, писати ігри, щоб навчитися програмуванню — цікавіше, ніж унилі CRUD. Зі всіх тестових, які мені давали, написати Blackjack — було самим цікавим.

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

Ни одна книга и ни один курс не поможет без практики

программирование не химия с физикой — практикуй сам дома, не хочу.

в чем химия или физика делает невозможным практику дома?

На творение программиста легче найдется покупатель, чем на творение физика-самоучки:) Да и дешевле как бы)

А как нахождение покупателя коррелирует с практикой дома?

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

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

Все остальное элементарно практикуется дома
Заблуждение человека, который кроме компьютера ничего в жизни не видел)
Оставлю свое сообщение из другого топика здесь:
dou.ua/...orums/topic/15451/#807973

Вот именно. Я по образованию физик, пробовала дома опыты проводить, когда в школе работала) Я же не гений, что б делать что в квантовой механике, новое и полезное. А остальное дорого, с программированием не сравнить.

А теор физика не требует особых условий работы, к слову

В теор. физике (и почти любой другой теор. науке) в современном мире есть неприятная проблема под названием paywall. Программирование — одна из немногих областей, где это слово практически полностью исчезло.

нужно просто найти правельную книгу
почати ось тут: www.rosental-book.ru

практика — наше все.
больше практики и все понемногу будет становиться на свои места.

Никогда не понимал людей спрашивающих как учиться.

Без троллинга. А как учится?

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

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

Проблема не в тебе, а в подходе к обучению. Не надо прыгать с одного сайта на другой. Это только больше запутывает. Для начала возьми какую-то книгу для начинающих, изучи её от корки до корки. Параллельно погугли стек технологий и что за чем лучше учить. Так ты установишь себе вектор обучения.

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

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

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

Подписаться на комментарии