beldmit: (Программизм)
Dmitry Belyavskiy ([personal profile] beldmit) wrote2007-01-23 11:11 pm

Слово, вышедшее из употребления

В программировании я - натуршпилер. Так лет сто назад называли тех, кто не учился шахматам по учебникам, а изучил их самостоятельно. Кажется, последним из таких был Акиба Рубинштейн.

Нет, мне читали некоторое количество лекций, и я сдавал некоторое количество семинарских работ. Но в силу восприятия до типичных решений, даже зная о них, я дохожу сам - до сих пор помню, как после долгих раздумий понял, что вместо жуткого кривого решения, которое я сам придумал, для имитации раздачи карт (точнее, для того, чтобы одна и та же карта не оказалась розданной двум игрокам) идеально подойдет цикл while. До того момента он мне ни разу не требовался.

Основное обучение у меня всегда было при наблюдении за старшими коллегами - а теперь я уже сам с усами. При этом книги я всегда читал, запоминая потенциально актуальные решения, которые потом придется воспроизводить. А еще я коллекционировал всякие примеры решения задач, которые плюс-минус актуальны - это, впрочем, с появлением интернета отошло на задний план: интернет - одна такая большая коллекция. Лучше всего было с рефакторингом - плохого и не очень хорошего кода всегда хватало и в DirectX SDK, и в рабочем коде.

Я успешнее ряда коллег искал в MSDN - но не за счет того, что я хорошо ищу, а за счет того, что поиск в ширину при малом числе статей очень эффективен, а если долго сидеть перед мейлером, то тоссер принесет ответ на 90% вопросов.

Беда моего натуршпилерства - в том, что обучение только на собственном опыте. Как-то так.
(deleted comment)

[identity profile] beldmit.livejournal.com 2007-01-24 06:08 am (UTC)(link)
Это не на ошибках. Это повторное изобретение велосипеда.

[identity profile] juchkov.livejournal.com 2007-01-23 09:23 pm (UTC)(link)
все мы самоучки. практически
от всех семинаров и спецкурсов у меня стойкое ощущение "так не надо делать" ибо правильнее иначе.
вдалбливание Кнута к добру не приводит

[identity profile] rm17.livejournal.com 2007-01-23 09:43 pm (UTC)(link)
Думаю, учиться самому - полезная вещь. Многому никто и не научит.

[identity profile] uemoe.livejournal.com 2007-01-24 04:17 am (UTC)(link)
Кстати, меня давно мучает вопрос. Как по вашему нужно учить программированию? Я понимаю, что так как ему сейчас в основном учат в ВУЗах России лучше не надо учить. А как надо? Как перейти от двадцатиминутных задач на Паскале, к следующему уровню?

Вариант, приходящий в голову первым

[identity profile] beldmit.livejournal.com 2007-01-24 10:25 am (UTC)(link)
(Псевдо)Коммерческие проекты. Хотя бы для институтских нужд. С реальным откликом. С поддержкой того, что осталось от прошлого года и рефакторингом. С обязательным code review.

Re: Вариант, приходящий в голову первым

[identity profile] levgem.livejournal.com 2007-01-31 01:18 pm (UTC)(link)
Наверное, как-то так. Правда, для этого прийдется повыгонять много преподаваталей, обвешанных научными регалиями, потому что они безнадежно отстали.

[identity profile] slobin.livejournal.com 2007-01-24 07:47 am (UTC)(link)
Мне всегда казалось, что для обучения чему бы то ни было необходимо (1) объяснить, как делать правильно (2) дать попробовать сделать по своему. Выпадение любого из двух пунктов приводит к печальным результатам.

... Ненавижу романтику и электронику ...

[identity profile] beldmit.livejournal.com 2007-01-24 08:17 am (UTC)(link)
Критичен порядок. А еще у меня есть впечатление, что п.2 можно пропустить в большинстве случаев.