У программирования и естественных языков много общего.

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

1. Метод языкового взлома

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

Библиотеки, ключевые слова, методы и передовые методы языка программирования бесчисленны, но действительно ли вам нужно знать все это с самого начала? Полиглот скажет вам: «Ни за что!» Это потому, что все это эквивалент правил грамматики, которые большинство из нас ненавидели изучать, когда мы были в школе, и на самом деле не ускоряли процесс обучения. Вместо этого лучше сосредоточиться на самом важном, что поможет вам быстрее «заговорить» на любимом языке программирования.

Я не знаю всех языков программирования, но, по крайней мере, в Python это базовое знание, чтобы знать, как работают переменные, циклы, условные выражения, логические значения, списки и словари. Вы можете найти в Google основы на любом языке программирования, например, Java или R, чтобы найти основы и начать писать код с первого дня.

Когда у вас есть основа, вы готовы применить следующий метод.

2. Подход обратного проектирования

Не имеет значения, какой язык программирования вы изучаете (Python, Java и т. Д.) Или с какой целью вы его изучаете (Data Science, Web Scraping, Web Development); если вы будете следовать подходу обратного проектирования, вы научитесь программированию быстрее, достигнув конкретных целей. Поэтому вместо того, чтобы изучать всю теорию, которую предлагает книга, вам следует сосредоточиться на том, что необходимо для выполнения задач, которые вы хотите решить с помощью языка программирования.

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

Если вы собираетесь изучать Python только для парсинга веб-страниц, то, вероятно, будет достаточно сосредоточиться на том, что нужно в Selenium или Beautiful Soup. Если вы больше увлекаетесь наукой о данных, подумайте, чего вы хотите достичь. У всех разные цели, поэтому не позволяйте целям других людей подсказывать вам, что вам нужно узнать!

Как только вы узнаете больше о том, что вам нравится и что более полезно для вас, вы можете начать изучать это всесторонне, наряду с передовыми практиками и сложными вещами. В моем случае я хочу узнавать о Python все больше и больше каждый день, и пока я сосредоточен в основном на нем. Я использую его для Data Science, Django Framework и Web Scraping. Могу сказать, что Python - беспроигрышный вариант для меня.

Часто говорите на языке

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

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

Вывод

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