24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Я должен писать на эту тему.
Написать этот текст меня вдохновили успехи двух 16-и летних подростков из Кишинёва. Оба трудоустроены JS-макаками. Один на ваниле пишет плагины для говноконструктора за 1k$ в месяц, второй за 500$ кодит на реакте. Верю, что через три-четыре месяца к ним присоединится их сверстница из Фалешт, которой я займусь с июня.
Речь идёт о детях из неполных семей, которые вчера закончили девять классов средней школы и живут в нищей Молдове. Что в них такого особенного? Как им это удалось? Ведь на дваче сказали, что программировать это сложно, рынок труда переполнен, а фронтенд так распух от обилия используемых технологий, что жизни не хватит, чтобы выучить все необходимые фреймворки и библиотеки.
Удивительно, как много хуйни о вкатывании в кодинг навыдумывали борщееды и неосиляторы, чтобы оправдать свои неудачи. Попытаюсь развенчать некоторые популярные мифы, рассеять страхи, вдохновить приунывших и рассказать желающим, как просто без задней мысли, регистрации и смс начать зарабатывать деньги, программируя на JS.
Делать уроки.
Представь, что мне поставили задачу, вместо тебя обучить программированию ребёнка из африки, который всю жизнь пас коров и пил их мочу. Он и читать-то не умеет. Очевидно, что придётся потратить немало времени, создавая базу у этого чувака, прежде, чем ему можно будет что-то рассказать о языках программирования.
Ты можешь возразить мне, что ты умеешь читать, следовательно, база у тебя есть. Но это исключительно твоё субъективное мнение основанное на завышенной самооценке. Просто ты в определённый момент решил, что школа себя исчерпала и ничего полезного в ней нет.
Схуяли ты так решил? Потому что не можешь представить, где тебе в жизни пригодятся квадратные уравнения или ты знаешь отличника Васю, который стал алкашом и никакая школа ему не помогла? Школа сама по себе не решение, а только его обязательная часть. Одно лишь выполнение домашки успех не гарантирует. Что же касается бессмысленных уравнений и задач, подумай о кочках которые напрягаются в спортзалах вовсе не для карьеры грузчика. Прежде, чем ты сможешь принять в свои анальные чертоги разума мощный елдак асинхронного программирования на джаваскрипте, тебе надобно разработать очече задачками попроще, например, из курса школьной математики. В противном случае, никакого удовольствия, только боль.
Сперва, тебе нужно развить навык самообучения и декомпозиции. Ты должен уметь дробить задачи на подзадачи и так до атомарного уровня, пока подзадачи не окажутся настолько простыми, что выполнить их сможет даже имбецил, вроде тебя. Ты должен уметь самостоятельно определять, добывать и усваивать нужную инфу. Ты можешь спросить у гугла “как стать хакером” и получить кучу ссылок на второсортные статьи для умственно отсталых домохозяек, а можешь забомбить его тысячей правильных вопросов и действительно, спустя годы, стать хакером.
Самообучение - билет в твоё счастливое завтра, тот фундаментальный навык, без которого твоя жизнь не будет отличаться от жизни пресловутого таджика-дворника. Ни один, даже самый детальный, самый подробный план, не поможет неспособному к самостоятельной работе человеку. Рано или поздно где-то что-то пойдет не так и неосилятор сломается. Забьёт и решит, что он не предрасположен к делу или это дело - говно и не стоит его внимания.
Любой нищий даун до конца своих дней останется нищим дауном потому, что он умеет лишь те вещи, которым любого другого нищего дауна можно научить за две недели. Рулят не те, которых учат, а те которые учатся сами. Разжёвывают и кладут в рот знания только в начальных классах школы, во взрослой жизни в рот пихают нечто совершенно иное.
Дрочить Кантора.
Это будет твоим первым учебником по JS, но надеюсь не первым по программированию вообще, хотя он с натяжкой подходит и на эту роль. Так будет сложнее. Читая Кантора, тебе придётся выяснить, что такое HTML и CSS, DOM-дерево, как веб-страничка обменивается запросами с сервером, как работать с дебагером и многое другое. Всё это там есть(точнее, там есть вообще всё необходимое - я это подчёркиваю), но если ты не сталкивался с этими понятиями раньше и плохо себе представляешь, как устроено веб-программирование и программирование вообще, пробираться через каждый абзац учебника будет чертовски трудно. Ну ты попробуй.
Любой язык существует не в вакууме, он работает с файловой системой, что-то читает из базы данных, посылает запросы на сервер, меняет структуру какого-нибудь документа(например HTML) или свойства его отдельных элементов, и т.п. Джаваскрипт может и делает это всё сразу, он оброс огромным количеством возможностей, библиотек и фреймворков. Я хочу, чтобы ты не заблудился и помнил, что в первую очередь, ты учишься программировать, программировать на ванильном джаваскрипте, а всё остальное как бы само собой прирастёт со временем.
Ты не планируешь стать верстальщиком, поэтому учиться верстать не надо. Надо уметь работать с готовой вёрсткой. Это значит всего лишь программно управлять DOM-элементами на страничке через простенький интерфейс.
И ты не планируешь(по крайне мере пока) стать React или Angular разработчиком, поэтому не спеши с изучением фреймворков. Они чуть менее, чем полностью состоят из сложных, незнакомых тебе концепций, призванных решать задачи, проблематику которых ты не в состоянии пока ещё даже осознать. Для этого нужна основательная теоретическая подготовка и практика. Фреймворки это не прихоть разработчиков, которых хлебом не корми, дай себе жизнь усложнить. Фреймворки были созданы в ответ на задачи и проблемы, возникшие у программистов в процессе создания знакомого тебе современного интернета со всеми его веб 2.0 свистелками и перделками. Не зная и не понимая проблем и задач, которые призван решить фреймворк, как ты можешь научиться с ним работать?
Куча неосиляторов обломали себе зубы на попытках изучить какой-нибудь React+Redux, минуя усвоение фундаментальных знаний о языке и практику программирования на нём. Им кажется, что из-за возросшего кол-ва библиотек и фреймворков, вкатиться новичку во фронтенд с каждым годом всё сложнее и сложнее. Этим дебилам невдомёк, что нет абсолютно никакой необходимости учить весь этот зоопарк. Это невозможно, более того - строго противопоказано. Общее правило таково, что нужно учиться разбираться с документацией, а не задрачивать тысячи гайдов.
Окончание в первом посте.