Советы как изучить язык программирования
Я буду краток и просто дам дельные советы. Обойдемся без болтовни.
- Выбери нужный язык
Если изучить ненужный язык, который не будешь принимать в работе или в чем-то еще, то в этом нет никакого смысла.
Если тебе нужно связанное с сайтами, выбери html, css и javascript. Этого достаточно. Остальное типа php и python, что понадобится по ходу дела, придет само собой и разобраться в этом станет проще.
Если хочешь мобильные приложения писать, изучи Java.
Если хочешь игры писать, то подойдет C, C++, C#.
Если ты айфоно-мен, то Swift выбирай. Objective-C устарел, хотя и используется сейчас.
Если просто хочешь понять азы программирования, будучи полным нубом, то для начала подойдет Python. А чтобы легче изучить остальные языки, понять всю структуру, то изучи Си или C++, но когда поймешь азы программирования и не будешь считаться полным нулем.
Если хочешь составлять базы данных и работать с ними, то тут без вариантов только SQL.
Если ты фанатик и хочешь изучить весь компьютер изнутри и понять схему работы процессора и памяти, то ассемблер, но он сегодня практически никому не нужен.
О существовании остальных языков забудь. Rust, Perl, Go, Durt, Kotlin и прочие ноунеймы просто для дилетантов, но в работах особо не требуются. Вышеназванные, которые рекомендовал, актуальны по сей день.
2. Выбирай нужный источник знаний
Источником знаний являются книги. Либо друзья и знакомые в роли учителей. Если у тебя есть знакомые, ставшие хорошими программистами, если они желают тебе добра, попроси совет: какой книгой пользовался, каким сайтом пользовался и т.д.
От себя посоветовал бы книги. Причем не российских авторов, а зарубежных. Если английский хорошо понимаешь, читай прямо английские версии, потому что они обычно свежие бывают, а русские выходят намного позже. Желательно читать книги, составленные создателями языка, ибо лучше них никто не поймет всю структуру языка. Можно найти сайты, где выложен материал.
3. Посылай онлайн-курсы к черту!
Онлайн-курсы существуют для того, чтобы бабло себе сделать, а людей особому не учат. Сертификаты от онлайн-курсов на работе ничего не значат. Так что не ведись на них: если хочешь научиться программировать, ты научишься САМ без горе-преподов.
Программирование — это творчество. Чтобы научиться рисовать, ты должен рисовать сначала как можешь, затем как хочешь. Тебе учитель по рисованию не нужен. То же самое и программирование, хотя иметь толкового учителя, которого в глаза видишь и ощущаешь и который не сдирает с тебя за месяц годовую зп, желательно.
4. Не слушай умников с интернета!
В ютубе полно умников, которые с умными лицами дают свои советы, ведут мотивационные ролики или с понтом что-то объясняют. В разных видео-блогах отвечают по-разному и у них своя конкуренция. Потому они в политику играют.
Не ввязывайся и не слушай этих умников. Они больше болтовней занимаются, чем делом, и попросту отнимают у вас время. Они покажут как что писать, но болтовней замусорят тебе мозги, а ты ни хрена ничего не запомнишь. Потому что мешает их болтовня. Но и нудное объяснение заставит тебя заснуть.
Тебе не нужны «мотиваторы» и умники с интернета. Пинок себе под зад должен дать ты себе САМ! Не ищи мотивации у других людей. Просто задай себе вопрос: надо тебе или не надо? Если надо, иди читай книги и практикуйся! Если не надо, тогда забудь о программировании. Следовательно, горе-умники не нужны абсолютно. Просто они занимаются популяризацией своего канала. На людей попросту начихать.
5. Не читай книги от русских авторов!
К сожалению, у нас бездари. Чему-то и можно научиться, но профессионалом не станешь. Единственное, что можно читать, это переводы с английского на русский. Опять-таки, если шаришь на английском, читай книги прямо на английском.
6. Не спеши!
Изучай язык программирования, никуда не торопясь. Не надо за месяц пытаться все схавать — это невозможно. Удели пару часов в день — и все. Просто не спеши. Спешка к добру не приводит. Если срочно нужна работа, зарабатывать можешь пока грузчиком на каком-то заводе, ведь мозги будут свободны, а дома времени будет валом.
7. Не устраивай длительные перерывы!
Отдыхать порой надо, но если неделю ничего изучать не будешь, вполне вероятно, что ты почти все забудешь, да и желание пропадет. Тем более интерес может поменяться. Так что отдыхай, максимум, два дня в неделю. В остальные дни хотя бы пару часов удели внимание изучению.
8. Отдыхай.
Под словом «отдыхай» имеется ввиду не лежать на диване и смотреть телевизор. Отдых нужен голове. Значит, иди прогуляйся. На море сходи. В горы иди. Пробежки делай. Занимайся спортом. Зарядки делай. Пускай тело работает, а голова отдыхает.
9. Избегай перегорания!
Если будешь сутками заниматься и изучать, ты поймешь слово «перегорел». Это когда устал от однотипного занятия и хочешь поменять свой список ежедневных задач. Банально устанешь и не будешь заниматься дальше. Так что сутками заниматься нельзя! Это вредит психике.
10. Практикуйся!
Человек, который учится рисовать, что делает? Правильно! Рисует. Хотя бы каракули, но рисует. Он практикуется. И по мере рисования он учится рисовать лучше.
Тупо читать книги, копировать/вставлять текст и код — это не дело. Так ни хрена ничему не научишься! Программист должен практиковаться. С программиста теорию не спросят. От него потребуют практическое задание. Проект. Что-нибудь, написанное его пальцами. Пускай каракули печатает для начала, затем постепенно начнет печатать годный код. На это уйдет время, но кто сказал, что за 1 день можно чему-то научиться моментально? За 1 день ты даже нормально кушать не научишься!
Учитывая, что язык программирования — это как бы язык, на котором «разговаривает» компьютер, то это такой же язык, как обычный человеческий. Английский язык ты изучишь, когда будешь практиковаться, то есть сам говорить, писать и слушать. Так как компьютер лишь отображает, то ты должен учиться читать и писать.
Без теории тебе нечего практиковать, но без практики знание теории бессмысленно. Практиковать ты должен не после изучения полного материала, а с первых же страниц, как только появляется практическая часть. Увидел маленький код на первой странице — напечатай от руки как есть, а потом под себя переделай, а если фантазии хватит, слегка расширь.
11. Не занимайся копипастой!
Весь материал, что нашел, читай и ПИШИ! От руки! Либо ручкой на тетради, либо пальцами по клавиатуре на текстовом редакторе типа Word.
Но ни в коем случае не занимайся копипастой! Ты можешь от лени копировать все и впихнуть, а потом что? Что ты из этого поймешь? Ты же не доклад/курсовую/диссертацию пишешь, чтобы избавиться от препода. Ты же для себя изучаешь. А раз изучаешь для себя, имей к себе уважение: не копируй текст и не вставляй! Нужное печатай/пиши от руки вручную!
12. Составляй свою книгу
Если печатаешь в Word, допустим, то печатай так, словно ты сам пишешь книгу. Ты изучаешь и печатаешь так, как ты понимаешь. Когда читаешь материал профессора какого-то, ты, будучи простым человеком, можешь написать книгу на основе взятого материала сам более простым языком, чтобы простолюдины вроде тебя поняли, когда сам покажешь свою книгу, когда закончишь. Составляй книгу, но под себя! Чтобы не было скопированного материала. Даже код старайся оригинальный свой печатать в Word, а не точно такой же, как с книги, которую изучаешь.
13. Изучай строго один язык!
Если ты будешь изучать несколько языков подряд, у тебя каша в голове образуется. Ты сойдешь с ума! Не включай режим нон-стоп! Все должно идти последовательно.
Если нужно изучить несколько языков (в 90% случаев придется), то начни с самого приоритетного или простого. Когда достаточно хорошо его изучишь, переходи на следующий язык.
Ты же не будешь, допустим, изучать английский и немецкий одновременно? Ты так запутаешься. Изучи сначала английский из-за его приоритета, потом немецкий, если возникнет необходимость. То же самое и в программировании: изучай последовательно, а не разом.
14. Не слушай никого, кроме себя
Имеется ввиду не слушать тех, кто говорит «ты не сможешь», «ты лох», «зачем тебе это» и тому подобные слова. Ну и не слушать людей, корчащие умную рожу и ставящие себя выше, мол «смотри, холоп, и слушай! Я лучше знаю!».
Либо слушай нормальных людей, которые дадут совет и помогут реально, а не только словами, либо никого не слушай и иди своей дорогой.
15. Старайся найти команду-единомышленников
В одиночку всегда тяжелее, хоть и спокойней. Один в поле не воин. В режиме Соло будешь долго мучиться. Так всегда было.
Потому постарайся найти тех, кто в этой затее тоже заинтересован. Вместе с которыми будешь развиваться. Где вы будете друг другу помогать. Один осилит, допустим, массивы, другой осилит классы, третий осилит функции — все вместе друг другу лучше, чем профессор, объяснят, потому что связь близкая и тесная, а команда вся одного уровня. Там не будет примадонн, кто будет ставить себя выше (такого лучше посылать прочь).
Изучение языка в компании таких же самоучек, как ты — это весело и точно заряжает мозг и мотивацию. Хотя бы друг другу будете пинки под зад давать, чтобы не лениться и двигаться вперед. Заставлять друг друга двигаться вперед. В одиночку это крайне тяжело сделать.
16. Не отвлекайся на всякую херню!
Ты изучаешь программирование, чтобы зарабатывать в дальнейшем — это основная причина. Потому отложи игры, видео, фильмы, соцсети и прочее и работай над собой. Все остальное подождет. На выходных уделяй внимания этим вещам.
Будешь часто отвлекаться, ничего не получится. Если долго мучиться, что-нибудь получится. Так что… время игр, фильмов, общения и подобного развлечения кончилось. Пора взяться за ум и за работу. Иначе на месте будешь топтаться всю жизнь. Раз взялся за изучение программирования, то знай — это сложный и долгий процесс, который должен пройти гладко.
17. Не позволяй негативной атмосфере поглотить тебя!
Есть недо-друзья, есть семья, от которых исходит один негатив. Из-за них ты морально падаешь.
Не позволяй внутренним проблемам поглотить тебя и унести тебя в яму. Старайся избегать или не воспринимать их близко к сердцу. Если людям на тебя наплевать, потому занимаются давлением на тебя, то и ты наплюнь со словами «мне не до вас». Потому что внутренние проблемы, особенно семейные, очень мешают и не дают развиваться, как бы сильно не старался. Если их можно решить, так реши. Если эта проблема так просто не решается, оставь в стороне и реши свою прямую проблему — а это изучение и саморазвитие.
Это тот случай, когда эгоистом быть полезно, потому что обществу в большей степени на тебя начихать. Ты не должен тратить время, чтобы угодить всем и сохранить статус любимчика, друга или еще кого-то. Если не понимают и не поддерживают, а создают проблемы, ругаются, ссорятся, оказывают давление, жалуются — они просто мешают. Уйди в себя, а они пусть психуют дальше. Будь стойким и просто поставь саморазвитие главной целью — это только в твоих же интересах!
18. Не стесняйся гуглить.
То, что не понимаешь, или то, на чем ты застрял, заставит тебя остановиться. Чем ломать голову, проще найти ответ в интернете. Сейчас нам это позволяют. Ответов уйма, так что проблему решишь.
Если ты застрял на каком-то моменте, просто загугли, чем ломать голову и изобретать велосипед. Если понимаешь, не гугли и осиль сам. Все равно все программисты гуглят, когда находят что-то непонятное.
19. Не стесняйся читать чужой код.
Именно читать, а не использовать. Ты можешь использовать основу чужого кода и напечатать свой, не похожий на его код. Присваивать нельзя. А читать надо, чтобы понять, как тот чувак разобрался, чтобы потом и ты узнал, как разобраться у себя. Копировать нельзя! Помни это.
В интернете немало ресурсов, среди них известным считается ГитХаб. Не стесняйтесь, хотя говно-кода там тоже хватает, так что ищи тщательно.
20. Найди работу.
Сидя дома, ты не поймешь, в какой сфере изучать. Если тебе все равно, найди работу, а там тебе упростят выбор. Если там позволяют стажироваться и обучают, то это лучший способ набраться опыта и попрактиковаться. Потому что там будет реальная практика — а это вещь!
Правда, найти работу, где тебя обучат и позволят спокойно практиковаться, прежде чем стать полноценным сотрудником, трудно. Потому что во многих работах требуют чуть ли не мега-мозгов, а начинающие программисты им почти не нужны: указав «начинающий», они требуют с него тех знаний, которые даже опытному программисту не всегда под силу. Так что и работу искать придется тщательно.
Но если никто не напрягает и в финансовом плане все норм, тогда спокойно изучай до серьезного уровня и с полным багажом иди хоть сразу в ведущие разработчики. Если срочно нужна работа, найди ее и продолжай изучение там.
21. Не перескакивай с одного языка на другой!
Часто бывает, когда изучаешь один язык, вдруг ты прочел, что в вакансиях требуются разработчики на другом языке или в ютубе увидел, как многие хвалят другой язык или ресурсы, ты начинаешь бросать язык, который изучал, и перескакиваешь на новый. Результат ясен: каша в голове образуется.
Не надо никого смотреть или слушать. Ты выбрал язык — иди строго по нему! Все равно каждый язык друг друга чем-то лучше, а изучить их еще успеешь по порядку. Изучи в полной мере тот язык, который ты выбрал, только потом переходи на другой. Но не перескакивай, не изучив первый язык.
22. Не стесняйся тех, кто умнее
Читая форумы и блоги, ты будешь видеть их ужасающие способности кодировать. Ты поникнешь и подумаешь, что не справишься, ибо они годами так и как бы тебе не уступят.
Помни, что они были такими же нубами, как и ты. Никто не рождался программистом — им становятся. Они реально годами изучали, но что мешает и тебе? Просто забудь об их существовании и изучай сам — через год, как минимум, сам будешь их уровня. Так что не надо никого стесняться. Все были новичками, а до профи доходили лишь старательные. Будь среди старательных, а не среди тех, кто опустил руки из-за наличия более умных людей. Тем более они не должны тебе мешать.
23. Повторяй материал!
Один раз прочел и типа выучил — не, это так не работает. Читать ты должен до тех пор, пока не поймешь автоматически. И печатать код ты должен до тех пор, пока не доведешь до автоматизма. Любое занятие для доведения до автоматизма надо повторять!
Чтобы ты отжимался сто раз быстро, ты должен повторять отжиматься сто раз медленно, как можешь, пока не научишься делать это быстро. То же самое и в программировании. Повторение — мать учения! Истина из истин.
24. Не болтай много и займись делом!
Имеется ввиду сконцентрироваться на том, что делаешь. Сделал — сделал. Обсудил в двух словах — и пошел дальше. Не надо часами торчать за одним куском и часами болтать об этом. Если ты понял это прекрасно, то старайся кратко все это себе изложить.
Когда пишешь то, что изучаешь, старайся достаточно вкратце записи делать, которые ты поймешь. Не настолько краткие, которые ты забудешь спустя несколько дней. Но и «воды» старайся избегать: просто отнимет время и заполнит голову ненужной фигней.
Программируешь — программируй. Напечатал код — объясни, что он делает, чтобы сам понял, когда будешь перечитывать, но без лишних слов. И дальше занимайся своим делом. А то видел блогеров, которые много болтают, объясняя маленький код.
25. Не читай книги с заголовком «за 24 часа» и тому подобные!
Ты за 1 день ни хрена ничего не выучишь! За 1 час тем более ничего не выучишь, даже базовые понятия! Не слушай, не смотри и не читай подобную спидрановскую хрень!
Один профессор правильно сказал: как вы будете доверять хирургу, который прочитал книгу «хирургия за 24 часа» и устроился в больницу? Такому недо-специалисту-спидраннеру любой сферы доверять никто не будет. Читай полноценные книги, на которые должен пустить, минимум, полгода. Какие уж 24 часа? Тем более 1 час? Не смешите! Такие пособия для «чайников», которые якобы научат чему-то за очень короткий промежуток, надо сжигать — это писали аферисты.
26. Не бросай!
Начал — не бросай. Бросишь — пожалеешь. Иди вперед, несмотря на препятствия и время. Просто иди вперед и не оглядывайся. Взялся за изучение программирования, так иди вперед, раз посчитал нужным. Иначе все пойдет насмарку.
***
В принципе, это все, что я хотел сказать.
