Задать вопрос
HustleCoder
@HustleCoder

Какое соотношение практики к теории должно быть при изучении программирования?

Здравствуйте. Изучаю программирование, и возник такой вопрос. Не раз раз слышал, что в программировании очень важна практика, непосредственный опыт написания программ. Это понятно. Но ведь и книги/материалы тоже нужно читать, чтобы узнать новую информацию. Отсюда резонный вопрос: как правильнее распределять время? Допустим, в день я могу потратить на программирование 8 часов, сколько из них выделить на чтение книг/статей, а сколько непосредственно на код? Или, может быть, лучше чередовать дни теории/практики? В общем, каков ваш опыт или мысли по данном поводу.
  • Вопрос задан
  • 3407 просмотров
Подписаться 3 Простой 1 комментарий
Решение пользователя berad К ответам на вопрос (8)
@berad
Имхо, если хочется на профессиональном уровне, то сперва очень много теории и разбор теоретических задач на практике. А дальше теории все меньше, а практики все больше . Если в цифрах, то сперва 80/20, а потом 20/80 -- в обоих случаях слева теория, справа практика.

Если хочется практический пример, то берем классику — некогда трехтомник, а на данный момент четырехтомник Кнута. Там изложены основы по структурам данных, алгоритмам поиска и сортировки, дана теоретическая база оценки сложности алгоритмов (наше любимое O(n)). Берешь и прям с первой книги читаешь, а все программы на псевдокоде, коих там куча, пишешь ручками и смотришь в дебаге, как они работают.

Когда работа будет проделана, берешь, к примеру, C# и видишь там прям из коробки List, HashTable, Sort и прочая и прочая, и уже понимаешь, как оно работает, почему и чего от всего этого ждать. Тут начинается практика — зная природу инструмента уже можешь его правильно применять.

ЗЫ: C# указан для примера. На самом деле основные сложные типы данных, алгоритмы поиска и сортировки уже написаны и есть в свободном доступе, пожалуй, для всех популярных языков. Трудно найти что-нибудь экзотическое, типа "пирамидальная сортировка на прологе", но и то, если пошариться, наверняка найдется =)
Ответ написан
Комментировать