8 проверенных и верных советов по изучению программирования
Интернет

8 проверенных и верных советов по изучению программирования

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

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

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

Решить реальную проблему

Теория – это скучно. Как и теоретические проблемы, как правило. Если вы учитесь программировать только для того, чтобы заработать немного денег, что ж, я не уверен, насколько хорошо это получится. Но если у вас есть настоящая страсть к созданию вещей, идите и создавайте их. Итак, первый вопрос, который вы должны задать себе: ‘Почему я хочу этому научиться?’. Если ответ – ‘чтобы что-то сделать’, что ж, идите и сделайте это. Хорошая новость заключается в том, что первый шаг не требует от вас умения что-либо кодировать: вам просто нужно записать (а лучше – набросать), как бы выглядела эта вещь. Какого приложения вам не хватает? Какого инструмента не существует, но он вам очень нужен?

Что хорошо в этом подходе (также известном как ‘почесывание собственного зуда’), так это то, что ваш проект не обязательно должен быть грандиозным. Вы можете начать с чего-то очень маленького, просто создать простую утилиту. Но что бы это ни было, это должно вас волновать. Первое, что я написал на Ruby, был личный проект, который я использовал в течение многих лет, но так и не выпустил в свет. Тем не менее, я очень горжусь тем, что получилось, и многое из того, что я знаю о Ruby (не Rails), пришло из этого проекта

Начните с информации высокого уровня

Да, я выделил здесь конкретную книгу. Нет, О’Рейли не заплатил мне (или ПК) ничего. Просто она настолько хороша. Я почти никогда не осиливаю книги по программированию, но Code Simplicity увлекла меня до конца. Это книга об искусстве программирования, в которой почти нет кода. Вам не нужно знать язык программирования, чтобы понять ее. В ней рассказывается о таких вещах, как основная причина, по которой вообще стоит программировать (чтобы помогать людям!), когда следует вводить новые функции в приложение, когда следует оптимизировать код (и что такое преждевременная оптимизация) и много других полезных вещей

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

Тщательно выбирайте технологию

Стоит ли вам писать свой первый проект на ANSI C? Если у вас нет очень специфической причины, ответ на этот вопрос – ‘скорее всего, нет’. Хорошие кодеры знают, как кодить, а не конкретный язык – они могут выучить любой язык, необходимый для данного проекта, за короткое время. Но сделать это в первый раз не так-то просто, потому что вам нужно освоить не язык, а общие концепции программирования (логика программы и управление потоком, типы переменных и их описание, объекты и все такое прочее). Поэтому вам определенно следует потратить некоторое время на обдумывание того, на каком языке или технологии вы хотите писать

Это происходит после выбора проекта, потому что, когда вы знаете, что вы хотите сделать, вы будете ограничены более узким подмножеством возможных технологий. Например, вы не станете писать нативное приложение для iPhone на Ruby on Rails. Но если вы пишете для Web, существует около миллиарда различных языков, которые вы можете использовать, каждый из которых имеет множество различных фреймворков.PHP, Python, Ruby, Go, и список можно продолжать

Потратьте время на изучение каждой из альтернатив – какое у нее сообщество? Насколько легко получить поддержку? Есть ли для него хорошие бесплатные инструменты разработки? Джеймс затронул эту тему в другой статье, которая называется ‘Какой язык программирования следует изучать для разработки программного обеспечения?

Не тратьте много времени на изучение больших кусков данных

Однажды я потратил несколько недель на просмотр видеокурса по PHP. Думаю, это было 30 часов видео или что-то безумное в этом роде. Знаю ли я PHP сейчас? Черт возьми, нет. Я имею в виду, что я могу прочитать часть кода, но я бы сказал, что эти часы были пустой тратой времени. Попытка последовательно впихнуть столько знаний без кодирования просто не работает. Для меня тщательное кодирование готового примера проекта почти так же плохо, потому что при этом упускается огромная часть обучения. Я лучше всего учусь, когда пытаюсь сделать что-то, что меня волнует (см. выше), и случайно сталкиваюсь с проблемами. Решите проблему, которая вам небезразлична, и вы узнаете что-то новое. Уставившись в экран в течение 30 часов, вы. ну

Потратьте время на настройку окружения

Как существует множество языков программирования, так и существует множество сред разработки для каждого языка. Некоторые люди используют текстовые редакторы, такие как Vim (который я рекомендовал в статье ‘Топ-7 причин дать текстовому редактору Vim шанс’) или Notepad++ (который мы показали вам, как ‘улучшить’ здесь). Выбор подходящего для вас редактора – это очень индивидуальный процесс, и это только начало. Далее вам предстоит настроить его с помощью сочетаний клавиш, цветовых схем, плагинов и многого другого

И это лишь малая часть работы – настройка среды разработки требует установки языка, с которым вы хотите работать, множества библиотек кода, системы версионирования (например, Git, о которой Джеймс рассказывал здесь) и многого другого. Другими словами, вам предстоит многочасовая работа по созданию среды. И знаете что? Это нормально

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

Не торопите себя – сроки – ваш враг

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

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

Задавайте вопросы

Существует фантастический Stack Overflow, который вы можете видеть на скриншоте выше. В Интернете существует множество других форумов, посвященных конкретным языкам, но независимо от выбранного места, не бойтесь задавать вопросы.  Если люди не очень любезны, выясните, что вы сделали не так, и научитесь задавать вопросы лучше (это тема для отдельной статьи)

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

Используйте интервальное повторение для запоминания информации

Последний совет будет коротким – идите и прочитайте все о методе Джанки. Это абсолютно блестящий способ собрать арсенал всегда актуальных знаний по программированию и сохранить их на неопределенный срок не в компьютере, а в мозгу, где они вам нужны. Серьезно, прочтите этот пост

Заключительные мысли

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

Самое главное (для меня), я хотел бы знать, будете ли вы использовать какие-либо из этих советов в своем стремлении стать программистом. Будете ли вы? Дайте мне знать ниже

Image credit: Старые большие книги via ShutterStock

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий