JavaScript

Алгоритмы для Frontend-разработчика или как активировать мозг на полную катушку?

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

В общем, у меня всю мою жизнь были лютые проблемы с математикой. Вообще практически не давалась. Пытался заниматься с репетиторами, но ничего не получалось толком. На решении квадратных и биквадратных уравнений все мои успехи закончились) А геометрию не знал совсем. Физику также не знал. По информатике задачи решать также не умел, но всё остальное, не связанное с вычислением, получалось на ура. Под "не связанное с вычислением" - имею ввиду решение задач (типа ЕГЭ-шных, ну вы поняли).

Сейчас учусь в университете на вечерке. На пары не хожу, просто закрываю сессию. Вместо пар усиленно развиваюсь в сфере Frontend-разработки. На достойном уровне освоил HTML, CSS, адаптивную и кроссбраузерную вёрстку. Начал изучать JS, имеются начальные знания. Дошёл до массивов, до этих пор всё было относительно нормально, но я двигаюсь дальше и теперь у меня уже взрывается мозг от JS. Я тупо ничего не понимаю. Читаю один абзац по сто раз и всё равно мозг пустой, вообще ничего не откладывается в голове. Решил отдохнуть около 1,5 недели. Опять вернулся к тому же материалу и ничего не понимаю. Учу JS по learn.javascript.ru и беру задачки для закрепления тем на theory.phphtml.net/.

В общем, к чему я веду. Как я написал, с точными науками у меня была беда. Они Frontend-разработчику особенно не нужны, но знание этих наук тренирует мозг и правильное мышление. А я эти науки не знал. Когда учился в техникуме, у нас был предмет "Теория алгоритмов". Это был вообще для меня тёмный лес. Сидел как дятел и вообще ничего не понимал. Зато в гуманитарных науках я был лучший и в школе, и в техникуме. В общем, я так подумал, что нужно как-то "активировать" свой мозг на более активный режим работы и, самое главное, - научить его "правильному" мышлению. В связи с этим я подумал: может, почитать что-нибудь про алгоритмы? Я считаю, что моё незнание точных наук и алгоритмов сейчас даёт о себе знать. Что Вы думаете по этому поводу?

Заранее спасибо.
Тут с чего попроще нужно начинать, похоже. Школьная математика + книжка "Песни о Паскале" (уж проще, чем там, нигде азы не расписаны)
Только вот, если от природы "не дано", в программировании (а в frontend сейчас программирования предостаточно) особо ничего не добьёшься. А не начать ли тебе тогда рисовать? И учить тонкости дизайна заодно? Основы вёрстки уже знаешь, до веб-дизайнера не хватает как раз перечисленного
ЕТ
Егор Трофимов
64 210
Лучший ответ
Арсенио Монстрюга Так-то азы мне знакомы. Я неплохо программировал на "Паскале" ещё в школе))) Потом на Delphi и C++ (в MS Studio) в техникуме. Сейчас пытаюсь в JS достичь более серьёзных успехов, чем просто решение задач типа "найдите сумму элементов массива" или "найдите максимальный и минимальный элемент массива".

Вообще, Вы мне подсказали классную идею. Помню, я здорово рисовал до 15-17 лет, потом забросил. Возможно, имеет смысл использовать эти навыки) Попробую развиваться и в этом направлении.
"Знать" и "уметь" - разные вещи. Просто выучив язык, программистом не стать (как не стать хирургом, просто одев халат и маску). Необходимо еще чтобы мозг работал определенным образом, мышление нужно. Какое именно - логическое, и аналитическое.
По сути, в программировании все как и с естественными языками, где знание правил нужно в первую очередь для грамотного письма... а говорить, такое знание само по себе не научит (речь улучшается развитием интеллекта, а не зубрежкой правил). В итоге, навык общения и с человеком, и с машиной, складывается из нескольких составляющих. Которые по отдельности НЕ работают, они взаимодополняющие. И в обоих случаях, эффективность больше зависит от способности генерировать собственное, а вовсе не от способности запоминать внешнюю информацию.
_
Проще говоря: должна быть способность моделировать в уме те же самые действия, которые выполняет код. Эта способность является производной от способности решать задачи "по жизни".
Арсенио Монстрюга Да, Вы правы. Чтобы быть успешным программистом, должно быть логическое и аналитическое мышление и нужно думать как компьютер и понимать его. Вот с этими вещами у меня крайне туго. Я бы даже сказал, максимально туго. Возможно, имеет смысл забросить всё это дело. Всё равно достойным спецом мне не стать.
Так а надо ли? Если у вас гуманитарный склад ума, то может и идти в гуманитарные науки, а не в математику/программирование.
Арсенио Монстрюга Логично. Но, с одной стороны, я уже начал развиваться в Frontend-разработке. Уже неплохо освоил вёрстку (даже адаптивную и кроссбраузерную). Уже забрасывать, наверное, глупо. Но с другой стороны, нужно изучать более сложные технологии - JS, Angular и т. д. Я понимаю, что не у меня нет соответствующего мышления для программирования и не стать мне хорошим программистом. Поэтому - сложно...
Во фронтенде и вёрстке всякой решают зубрилы. Если ты гуманитарий, то просто вызубри все уроки с W3Schools, как вы обычно делаете, и работай
Alexandr Zibarev
Alexandr Zibarev
8 860
Арсенио Монстрюга На W3Schools всё на английском...
Не понимаю каким боком алгоритмы к изучению ЖС? Алгоритмы это область конкретной реализации а не языка программирования. Сами по себе алгоритмы в ЯП высокого уровня в повседневном программировании мало где нужны. Нужно будет - загуглишь и разберешься. Когда поймешь суть будешь сам эти алгоритмы выводить походя даже не "зная" их.
Эдем Асанов
Эдем Асанов
7 216
Егор Трофимов Как-так не нужны? Вывод Hello world - уже алгоритм, простейший. А для задач посложнее и алгоритмы посложнее требуются
Арсенио Монстрюга Да не, я про другое немного) Я про то, что у меня напрочь отсутствует нужное для программирования мышление - логическое, аналитическое. А вот изучение алгоритмов помогает или должно помочь его развить. Хотя, пожалуй, я и алгоритмы-то не осилю...
Поздравляю, если будете продолжать, то станете еще одной макакой верстающей ужасные и кривые формочки. Таких, как вы, уже пруд пруди. Я вам скажу так, в инструментах фронтенда нет ничего сложного, а если у вас уже начались проблемы с JS, то я бы задумался на вашем месте, может вы все-таки где-то свернули не туда, и ваш выбор программирования (если так можно назвать фронтенд) был ошибочным?
Олег Нечаев
Олег Нечаев
1 093
Арсенио Монстрюга "может вы все-таки где-то свернули не туда, и ваш выбор программирования (если так можно назвать фронтенд) был ошибочным?"

В точку! Только не знаю, куда податься) Пока смотрю...
Арсенио Монстрюга "верстающей ужасные и кривые формочки"

А что за формочки? Просто я не знаком с задачами, решаемыми во Фронтенде.