Научитесь программировать за 10 лет

В просторах сети я наткнулся на статью Питера Норвига и с первых же строк решил сделать краткий перевод.

Итак,

Почему все так спешат?

Зайдите в любой книжный и вы найдете "Как научиться программировать на Java за 7 дней", а также бесконечные вариации на эту тему. Поиск в amazon.com по книгам старше 1992 года со словами "самоучитель" или "учиться" и "дней" выдал 248 книг, из них 78 на компьютерную тематику. Если заменить "дни" на "часы", результат схож - 77 книг компьютерной тематики.

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

Давайте проанализируем что означает заголовок "Изучим C++ за три дня".

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

Учитесь 10 лет

Различные исследователи показали что развитие экспертизы в любом широком поле деятельности занимает примерно 10 лет - будь то шахматы, написание музыки, телеграфирование, игра на пианино, рисование или исследование нейропсихологии. Речь идет о простой практике, не о бездумных попытках, но об осознанной встрече с вызовом, который по плечу и исследование ошибок.

Это могут быть 10000 часов, а не 10 лет. Магическое число. Один фотограф сказал - "Ваши первые 10000 фотографий - худшие", но он фотографировал больше чем одну в час.

Если вы хотите стать программистом

Вот мой рецепт:

  • Интересуйтесь программированием и творите что-нибудь просто потому чо это весело. Удостоверьтесь, что это не наскучит вам в течение следующих 10000 часов/недель/программ.

  • Программируйте. Лучший способ - изучение деланием.

  • Общайтесь с программистами, читайте чужие программы.

  • Если хотите, поступите в колледж и отдайте ему 4 года, а потом устройтесь работать программистом.

  • Работайте над общим проектом с другими программистами.

  • Дорабатывайте чужие проекты. Подбирайте заброшенные.

  • Изучите несколько языков.

  • Изучите устройство компьютера. Это поможет вам отлаживать производительность программ.

  • Стандартизируйте ваш код. Пишите или примите руководство по стилю.

От переводчика: Я прочитал все How-to и статьи, которые мне встречались, несколько книг, обучаю других программировать, но все еще чувствую себя зеленым новичком наблюдая за быстрым ростом технологий.

Яндекс.Метрика