14.05.2008

Модель времени

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

Год представляется мне в виде таблицы из трех строк с четырьмя месяцами в каждой строке.

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

Дни недели устроены в моей голове точно также, как они были устроены в школьном дневнике. Подозреваю, что большинство жителей нашей страны представляют себе именно такую схему недели. Неделя четко поделена пополам. В первом столбце — понедельник, вторник, среда. Во втором — четверг, пятница, суббота. Воскресенье — в уме. Я использую адресацию слева/справа, сверху/снизу/посередине. Скажем, планируя что-то на четверг, я мысленно помещаю событие в ячейку «справа, сверху».

Со временем суток дела обстоят сложнее — четкой и однозначной модели у меня нет. Есть довольно туманная схема, в которой день поделен на неравные плавающие уровни.

А как устроено ваше время?

7 комментариев:

ast комментирует...

Ну я стал различать миллисекунды только с переходом на .NET :-)

Степан комментирует...

Интересно, почему?

ast комментирует...

Две одинаковые даты (по дню, месяцу, году) внезапно оказывались неравны. Пару раз про это забывал :-)

Ну и писать типа такого:
_dateTo.AddDays(1).AddMilliseconds(-1)

aleske комментирует...

а мне год представляется как часовой циферблат с тяжёлой-претяжёлой чугунной стрелкой.

январь на 6 (стрелка висит вниз), апрель на 9 (с трудом ползёт вверх), июль на 12 (стрелка на время застряла в отпуске в неустойчивом равновесии), октябрь на 3 (стрелка начинает под собственным весом стремительно нестись вниз, к новому году).

неделя линейная. Понедельник — четыре безликих дня — два выходных.

сутки же вообще никак не визуализируются.

Азат Разетдинов комментирует...

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

Андрей комментирует...

Про дни недели — это Вы в точку попали! Я также себе представляю. Школьный дневник навсегда закрепился в мозгу. :-)

Сутки — для меня это циферблат обычных часов. Если речь идёт, скажем, о полуночи, то я представляю в уме циферблат со стрелкой на 12 часов. И заодно вокруг становится темно. :-)

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

Годы у меня представляются линейно, в виде цифр, расположенных по возрастанию слева направо. Но там не всё просто. При небольшом рассмотрении (2-3 года), мне представляются те самые календарики (о которых чуть выше написал), расположенные рядом, но с небольшим сдвигом вниз, чтобы январь следующего года совпадал с декабрём предыдущего по уровню. Если речь заходит о десятках лет, то представляется ряд цифр: …1998, 1999, 2000… Причём если рассматривать всё время (все годы), то цифры вовсе не составляют собой прямую. Скорее это лента с изгибами, как горная дорога серпантин. :-) Цифры идут то слева направо, то справа налево. Это больше, наверное, 3-х мерное представление. Изгибы приходятся на тысячелетия и века (…1900, 2000…). Но чем дальше дата от реальности, тем более прямой становится эта лента и более туманной, даты сжимаются в точку.

И иногда дни недели вытягиваются в прямую. Случается такой «глюк». :-)

Вкратце как-то так. :-)

Степан Резников комментирует...

Андрей, интересное представление времени, спасибо за комментарий!