andrzejn: (Default)
[personal profile] andrzejn
Одно из важных достижений современного программирования - это паттерны проектирования, типовые решения стандартных задач. Почти на всяком собеседовании кандидатов спрашивают хотя бы о том, слыхали ли они о паттернах, часто просят перечислить самые известные или даже объяснить, как ими пользоваться.

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

В чём проблема с индусскими программистами? (Это, конечно, стереотип. Не только и не со всякими индусскими.)

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

В собственной психике каждый из нас - такой же индусский программист. В своей жизни я сталкивался со множеством кризисов, угроз и выборов. И вы тоже. Мы с ними как-то справились, раз уж мы всё ещё здесь. А найденные решения - не лучшие, но достаточные - запомнили как паттерны. Ситуации меняются, выборы уже совсем другие, а мы всё так же бездумно громоздим паттерн на паттерн. Авось сложится и как-нибудь сработает. И раз уж мы всё ещё здесь - и правда пока работает.

Это, собственно, и есть невротическое поведение.

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

Date: Sunday, 29 May 2011 09:59 (UTC)
From: (Anonymous)
Отлично!

Profile

andrzejn: (Default)
Андрій Новосьолов

March 2026

M T W T F S S
       1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16171819202122
23242526272829
3031     

Most Popular Tags

Page Summary

-

Style Credit

Expand Cut Tags

No cut tags
Page generated Sunday, 15 March 2026 21:53
Powered by Dreamwidth Studios