Как выбраться из теоретика?

Всем привет. Накопил немало знаний теоритических в javascipt, но на практике я нуль, и не знаю как применять свои знания в деле, нет сообразительности при написании сложных приложений, задач и прочих скриптов, есть допустим codewars, если брать уровень kye6, то там я уже перестаю особо сообржать, ибо в ответах копаться то там применяют вроде простые строки кода, но хитроумные скажем так. То есть ну знаю я ооп jsный, знаю и понимаю я эти замыкания, знаю методы массива, но и что с того, то есть я не понимаю что делать с этим багажом... Когда речь идет о практике, как будто и не учил js вовсе. Что можете сказать опытные js разработчики, как вы набили на этом языке руку, чтобы теорию сходу мог применять, что мне нужно от языка в задаче. Спасибо, надеюсь вопрос уловили...
  • Вопрос задан
  • 3555 просмотров
Решения вопроса 9
@FireGM
Пишите код.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
motherfucker.png
(кликайте на изображение и там всё написано...)
Ответ написан
Комментировать
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Программирование напоминает сборку сложной конструкции из простейших кубиков лего.

Раз плаваешь на 6-кью катах, значит мозг вообще пока не настроен на процесс программирования. То ли незачем, то ли еще что мешает настроиться.

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

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

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

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

Лично я других подходов не ведаю.

И здесь, как справедливо заметили коллеги ранее, нужно нафигачить очень много кода. Примерно 10 тысяч часов, чтобы набить руку, выработать рефлексы, поставить основные алгоритмы и структуры данных на автомат, чтобы применял на лету, вообще не задумываясь. Никакой теорией тут результатов не добиться. Мой давний наставник училменя, что пока ты не отпрограммировал минимум 3000 часов, никаким программистом ты называться даже близко не имеешь права.

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

Есть и минусы у данного подхода - всякие третьестепенные мелочи ты не учишь, т.к. в практике они встречаются только в чем-то большом и/или экзотическом. А на собесах их таки спрашивают. Поэтому моё решение - доучить их потом, чисто "щоб було".

Таким образом я выношу тебе вердикт - у тебя самомотивация ниже плинтуса, поэтому результата нет и не будет.

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

Может быть тебе просто ничего не нужно от железяки?

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

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

З.Ы.: Если воли фигачить самостоятельно не хватает и вектора нет, найми наставника, который будет тебя направлять, курировать и выписывать волшебные пендыля от души, стабильно и регулярно. К сожалению мой опыт показывает, что большинство людей без подобной пенделемотивации подобны гордой птице Ёж...
Ответ написан
Комментировать
У меня была такая же проблема и нужно просто начать писать код, желательно что-то своё. Писать свое велосипеды, слайдеры, пытаться повторить что то сложное. Кстати лучше пытаться делать что посложнее тк одновременно будешь и закреплять на практике что знаешь и нагугливать новые знания( и тут же их применять). Я сам далеко не про и только учусь, но был период когда я вроде и знаю теорию, всё понимаю, но когда нужно что-то сделать САМОМУ, то сразу ступор что-как-где.Причем когда смотришь реализацию, то все понятно и не понимаешь как сам не допер.
Ответ написан
DarthJS
@DarthJS
Как уже все написали - кодить кодить и еще раз кодить . Из своего опыта: у меня такой проблемы не было, я сразу стал кодить. Задаешься целью сделать простое приложение. Я решил помочь человеку, который записывал на листике какие-то данные и искал совпадения. Я подумал, могу помочь ему и стал кодить. Сделал без фреймворков, даже без джейквери на чисто JS, коряво и в одном файле. Зато оно работало! Я просто по мере поступления проблем искал ответы. Уже после того как написал и оно работало стал интересоваться как можно его улучшить с точки зрения правильного написания кода. Вот так. Так же как вариант взять книгу, в которой попунктно создается приложение - читать и повторять плюс обязательно отсебятины. ! Успехов
Ответ написан
Комментировать
solotony
@solotony
покоряю пик Балмера
стать практиком. делать реальную работу. можно на себя, можно на клиента.
Ответ написан
Комментировать
nki
@nki
bezkart.ru готовая система лояльности
Пора брать ипотеку.
Ответ написан
@Insolation
У вас просто не хватает сообразалки вот и все.
Как решить?
Только путём кодинга. Посылайте свое резюме, если оно хорошее то будут кидать вам таски, вот на них и практикуйтесь (мб еще и с работой повезет). Возьмите сделайте что-то по туториалу, а потом сами перепишите. Кароч все сводится к одному - садитесь и пишите код. Только так можно выбраться. Ну и решайте конечно же логические задачки, учите алгоритмы, практикуйте.

P.S Мне не нравится codewars, лучше попробуйте https://leetcode.com/
Ответ написан
Комментировать
theobroma
@theobroma
javascript developer (ReactJS)
Смотришь это видео и начинаешь писать TodoList как на TodoMVC
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы