» » Философия программирования тренировок. Философия программиста

Философия программирования тренировок. Философия программиста

Ben Bergeron дважды был участником Crossfit Games, а также имел честь тренировать таких выдающихся атлетов как Chris Spealer (7 раз участник КроссФит Игр, в 2011 году занял 3-е место), Becca Voigt (7 раз участница КроссФит Игр, в 2011 году заняла 3-е место), Heather Bergeron (2 раза участница КроссФит Игр, в 2010 году заняла 8-е место), Michele Letendre (4 раза участница КроссФит Игр, в 2014 году заняла 4-е место), Brian Curley (Чемпион категории Мастер в 2010 году), Lisa Mikkelson (Чемпионка категории Мастер в 2012) и команду КроссФит из штата Новая Англия (Мировые чемпионы в 2011 году, второе место в 2013).

Тренировка таких атлетов позволила мне разработать самые действенные и эффективные программы. В этой статье приведены примеры тренировок, которые лежат в основе создания моего сайта Competitors Training.

Трехглавый монстр

Основная задача – стать этим самым трехглавым монстром. Для того чтобы добиться успехов в КроссФите необходимо развивать три фундаментальных качества: силу, навыки и кондицию. Самое важное одинаково кормить все три головы: то есть, следить за равномерным развитием трех основных качеств каждый день, каждую неделю, каждый месяц. Если атлет чувствует, что какое-то из качеств отстает в развитии (одна голова меньше двух остальных), то нужно работать над ним пока оно не догонит остальные.

Кондиция

Кондиция – это «спорт в фитнесе», фитнес в данном случае означает работоспособность. Атлет должен уметь переносить испытания вне зависимости от сложности

Для того чтобы добиться успехов в КроссФите необходимо развивать три фундаментальных качества: силу, навыки и кондицию.

поставленной задачи и, несмотря на продолжительность и усилия, которые могу быть затрачены. Многие атлеты среди мужчин могут выполнить 10-20 приседаний со штангой на груди с весом 102 кг, но когда они выполняют 225 приседаний без веса – их пульс доходит до 190 ударов.

Сила

КроссФит любит сильных атлетов. Ниже приведены характеристики участников Crossfit Games 2013. (мужчины/женщины).
Рывок: 259/153 lbs (117/69 кг);
Взятие штанги на грудь и толчок: 319/187 lbs (145/85 кг);
Приседание со штангой на спине: 434/247 lbs (197/112 кг);
Становая тяга: 509/311 lbs (231/141 кг).

Cамым предсказуемым испытанием было CJ Ladder (добавление веса каждые 90 секунд при взятии и толчке). В десятку лучших среди мужчин вошли атлеты, которые закончили испытание со средним результатом 325 lbs (147 кг). Места с 11 по 20 распределились между атлетами с результатом 315 lbs (143 кг), а 21-30 строчки заняли атлеты, результат которых составил 313 lbs (142 кг).

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

Последние 15 мест разделили атлеты, чей результат во Взятии и толчке был 295 lbs (134 кг). Иными словами, чем сильнее атлет, тем выше его шансы на успех. Однако, это возможно лишь при наличии и достаточном развитии двух других качеств.

Навыки

Существует лишь несколько качеств, которые могут помочь отличить хорошего атлета от лучшего больше, чем его навыки. Работоспособность и сила необходимы для успеха, но совершенно неважно насколько силен атлет (становая тяга 227 кг) и насколько он вынослив (способен пробежать 5 миль), или сколько бёрпи и махов гирей он в состоянии выполнить. Если атлет неспособен осилить большие сеты выходов на кольцах, отжиманий в стойке на руках, двойных прыжков на скакалке, подтягиваний баттерфляем, то он будет вынужден остановиться там, где заканчивается арсенал его навыков.

От трехглавого монстра к игроку с пятью оружиями

Подвижность

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

Моральный настрой

Немаловажным фактором в соревнованиях является самочувствие атлета при выступлении на публике. Контроль над психическим состоянием помогает использовать нервы и адреналин для улучшения результата, фокусировке на задаче и игнорировании шума. Многие атлеты показывают отличные результаты во время тренировок в зале, но на большой площадке они просто не могут собраться в нужный момент; это психологический барьер, через который необходимо переступить. Поэтому стоит уделять внимание и контролировать моральный настрой во время каждой тренировки.

Лучшим примером среди атлетов, обладающих всеми 5-ю качествами, конечно же, является Рич Фронинг.

Он обладает всеми оружиями: силой, кондицией, навыками, подвижностью и моральной выносливостью, чтобы соревноваться в чем угодно, где угодно и на любом уровне. Именно этого мы пытаемся достичь.

Примеры программирования

Так строится программирование на сайте Comprtitors Wod, тренировочные программы разделены на несколько групп.

Подготовка к Crossfit Games

Задача атлетов, которые прошли квалификацию на Игры, просто выжить в течение месяцев, недель, дней между Региональными соревнованиями и Играми. Цель тренировочного процесса в данной ситуации подготовить атлета к неизвестному.

Подготовка к Региональным

Такая программа тренировок создается для атлетов, которые уверены, что будут заявлены на Региональные соревнования. Им не следует тратить силы на многократные повторения испытаний The Open, вместо этого лучше начать готовиться к Региональным. В этом процессе следует сфокусироваться на требованиях, выставленных соревнованиями (нагрузка, движения, объем и т.д.). Наша цель в данной ситуации равномерно развивать 5 качеств атлета.

Пример недельного цикла

Понедельник
Первый комплекс:

  1. Рывок с тяжелым весом;
  2. Взятие и толчок с тяжелым весом;
  3. Различные виды приседаний;
  4. Гимнастические упражнения (отжимания, носки к перекладине, выход на кольцах, бурпи, пистолеты и т.д.);

Второй комплекс:

  1. Меткон;
  2. Средняя линия (гиперэкстензия, растяжка (спина, бедра), L-удержания, обратная гиперэкстензия, наклоны со штангой на спине).

Среда
Работа над техникой:

  1. Рывок;
  2. Взятие и толчок;
  3. Приседание;
  4. Гимнастические навыки;
  5. Гребля;

Второй комплекс:

  1. Меткон;
  2. Средняя линия.

Пятница

  1. Работа над техникой рывка (тяга, тяга сумо, взятие штанги на грудь, рывок, наклону со штангой на спине);
  2. Базовые упражнения по 20 или 100 повторений;
  3. Меткон с добавлением инвентаря (гири, мячи, веревки, покрышки, камни, молот, и т.д.);
  4. Гребля;
  5. Работа над средней линией.

Вторник

  1. Спринт или прыжки (челночный бег, спринт на 40-60-100-200м, прыжки на тумбу, прыжки на одной ноге, прыжки в длину);
  2. Тяги (становая, сумо, наклоны со штангой на спине, мертвая тяга, взятие штанги на грудь с пола);
  3. Базовые упражнения по 20 или 100 повторений (взятие, толчок, рывок, тяга, сумо, приседания и выпады со штангой на груди, на спине, над головой);

Четверг
Работа на гибкость/подвижность (йога, разминка роликом, растяжка, статика).
Динамичное восстановление (прогулка, гребля, велоезда, серфинг, скалолазание и т.д.) предпочтительно, на свежем воздухе.
Суббота
(один иди два комплекса)

  1. Бег на длинную дистанцию;
  2. Тяжелая атлетика;
  3. Гимнастические упражнения/Меткон;
  4. Работа над силовыми качествами (подъем таза в положении лежа со штангой, болгарские приседания с гантелями, жим штанги лежа узким хватом, упражнения для трицепсов, упражнения на мышцы задней поверхности ноги).

Воскресенье
День отдыха.

ТА движения : Мы включаем различные приемы рывка, взятия и толчка в нашу тренировочную программу: один раз в неделю с тяжелым весом и второй раз работа над техникой выполнения. Быстрые движения со штангой – это краеугольный камень в соревнованиях по КроссФиту. Существует 100% вероятность того, что одно из тяжелоатлетических движений появится на следующем соревновании, поэтому не нужно жалеть на это времени и сил.
Приседания : очень важны! Каждый атлет преуспевает от того, что становится сильнее, и нет более эффективного упражнения, чем приседания со штангой. Следует выполнять различные виды приседаний 3 раза в неделю с тяжелым и средним весом. Даже с учетом приседаний в метконе, ТА и 20 повторов при базовых упражнениях – это лишь среднее количество приседаний.
20 повторов базовых упражнений : мы будем чередовать движения и менять количество повторений с 20 до 100 дважды в неделю. 20 повторений достаточно, чтобы убедиться в том, что мы развиваем не только максимальную силу. Работа должна быть направлена на тренировку выносливости, стамины и эффективности движений. Да, «100 повторений» звучит просто отвратительно, но во время соревнований атлет начинает вспоминать о них с благодарностью.
Тяги : вся цепь задних мышц является своеобразным двигателем. Крепкие ягодичные мышцы и эректор спины – это место, откуда приходит вся сила. Для их развития необходимо выполнять тягу с пола. Также эти упражнения для формирования устойчивости средней линии, что важно иметь каждому атлету вне зависимости от спорта.
Гимнастика : следует выполнять по 2 гимнастических комплекса в неделю. Один для отработки базовых упражнений и тренировки движений с использованием веса своего тела, а другой для развития навыков, баланса и силы.
Прыжки . Атлеты должны обладать резкостью. Эти плиометрические движения помогут увеличить скорость, координацию, ловкость, добавят резкости при работе со штангой и, в конечном итоге, помогут стать хорошим атлетом. Этому есть хороший пример: при отборе в НФЛ самым важным критерием является вертикальный прыжок.
Меткон : при удачном сочетании двух или трех упражнений можно добиться многого. Следует добавить к этому быстрый темп и многократные повторения и вот атлет уже сильнее и выносливее 90% остальных спортсменов.
Гребля : Концепт 2 восхитительно действенный инструмент для развития работоспособности атлета: как с метаболической точки зрения, так и с позиции выносливости, все это помогает выполнять испытания целиком без пауз. Мой совет всем желающим стать сильнее — больше грести.
Гибкость/Подвижность : пожалуй, самый недооцененный из 10 компонентов в фитнесе. Подвижность (вспоминаются шары для лакросса, роллеры, резинки и т.д.) — это здорово, но не стоит пренебрегать традиционной растяжкой.
Активное восстановление: среда – это не день отдыха. Активный отдых поможет быстрее восстановиться и подготовиться к следующему дню. Занятие вне зала помогают атлету расширить кругозор, а также применить опыт тренировок в реальной среде.
Работа над средней линией : все, что мы делаем, так или иначе, зависит от силы средней линии. При нашей тренировочной программе мы будем заниматься стабилизацией средней линии по субботам, а также во время некоторых гимнастических упражнений по понедельникам и четвергам.
Дни отдыха : следует полностью оградить себя от физической и умственной нагрузки. Это необходимо для того, чтобы оставаться свежим, здоровым и сильным.
Немного об объеме : региональные соревнования требуют от атлета приложить максимум усилий вне зависимости от временного промежутка, веса и упражнения. Наша тренировочная программа в состоянии подготовить атлета ко всему, что может ожидать его на соревнованиях.

Подготовка к The Open

Эта программа специально для атлетов, которые хотят выступить как можно лучше и заработать себе место на Региональных соревнованиях (или в Играх квалификации Мастер). Задача — подготовить спортсменов к требованиям Открытых соревнований (нагрузка, движения, объем и др.)

Понедельник
Меткон;
ТА с тяжелым весом;
Сила.
Вторник
Меткон;
Работа над навыками.
Среда
Меткон;
ТА работа над техникой;
Сила.

Четверг
Отдых.
Пятница
Меткон;
Навыки;
Сила.
Суббота
Меткон.
Воскресенье
Отдых.

Меткон. Открытые соревнования – это в первую очередь проверка объема работы, который атлет в состоянии выполнить в определенный отрезок времени. 100% испытаний за последние 3 года были основаны на проверке кондиционной подготовки. Задача №1 для нас — это создать мощный двигатель. Метконы будут появляться в каждом тренировочном комплексе, так как они помогут реализовать поставленную цель. Метконы будут основаны на выполнении как можно больше повторений за 4-20 минут, а также состоять из движений, которые были на прошлых соревнованиях и которые могут появиться в следующих. Бег, ходьба на руках, гребля, L-подтягивания, гиперэкстензия, отжимания на кольцах популярны в КроссФите и очень эффективны для общей физической подготовки, но вряд ли спортсмены столкнутся с ними на Открытых соревнованиях.
ТА. Пока что на Открытых соревнованиях еще ни разу не было задания на взятие максимального веса, но, так или иначе, следует работать над улучшением ТА навыков. За последние 3 года 36% элементов, подставленных на Открытых соревнованиях, являлись разновидностью рывка, взятия и толчка.
Сила. Чтобы хорошо выступить на Опенах не нужно обладать супер-силой, но бесспорно сила помогает в упражнениях с тяжелым весом. 25% всех упражнений выполняются с использованием среднего или тяжелого веса. Стать сильнее важно, но не в ущерб другим качествам. Не стоит делать цикл, состоящий лишь из силовых упражнений, если задача атлета хорошо выступить на Опенах.
Навыки . Основываясь на опыте прошлых соревнований, очень важно освоить конкретные движения: прыжки на тумбу, двойные прыжки на скакалке, выход на кольцах, носки к перекладине, грудь к перекладине. Конечно, нет никакой гарантии, что эти упражнения появятся снова, но нужно стараться стать в них профи.
Немного об объеме. Чтобы хорошо выступить на Открытых соревнованиях, следует выполнять 1-2 комплекса с максимальной отдачей по 4-20 минут в неделю. Это очень низкие требования по отношению к объему. Если атлет тренируется в большом объеме в надежде пройти отбор на Региональные соревнования, то он окажется за бортом. Вместо этого лучше сосредоточиться интенсивности и качестве тренировки.

Тренировка и практика

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

Оригинал статьи http://competitorstraining.com/programming-philosophy/
Перевела Кейних К.



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

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

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

Посмотрите на американскую современность как на битву тех кто вырос на фантастике с более архаичной частью общества. Читатели Шекспира всё ещё наверху, они с детства научены всадить нож в спину отцу, чтобы двинуться вперёд. Проблема американцев не в отсутствии собственной великой культуры, а в том, что как и везде, культура уступает место грызне. Именно такая грызня разложила Британскую Империю сто лет назад, когда всемирный королевский чиновничий аппарат ощущал своё всесилие, но уже распадался на части. Аналогичное случилось в ЦК и Политбюро. Сейчас главный вопрос культуры - как затормозить грызню всех со всеми. Вектор литературы и культуры в целом упирается в этот вопрос как в чугунную крышку люка. Упирается в каждом комменте.

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

Интернет это и есть «Скайнет», который развивается до точки сингулярности, а потом захватывает тот мир в котором возник, только вместо искусственного интеллекта гегемоном будет высший класс пользователей. Кто сформирует этот класс пока не ясно, скорее всего американцы, причём именно та часть, которая росла на Азимове и ко., но хорошие шансы у русских и китайцев, только у этих трёх культур развиваются свои интернет среды, остальные прочно вклеены в американскую, китайскую или русскую. В этом смысле настоящий «русский националист» это программист Яндекса. То, что американцы не перешли на метрическую систему не значит, что они отстали от технического прогресса, они создали и навязали миру свои языки программирования которые становятся ядром всех цифровых систем, а вслед за этим ядром всех культур и социумов. Какой смысл развивать литературу и прочие гиблые ответвления, когда надо сосредоточится на ГЛАВНОМ и программировать САЙТЫ? Заметьте, не делать, не сочинять в литературном смысле, не рисовать, а программировать. Потому-что в интернет обществе человек вооружённый языком программирования имеет преимущество аналогичное бластеру в эпоху мечей. А по количеству созданных языков программирования американцы мировой гегемон, с долей не снившейся Британской Империи.

Вот мой спелл чекер не знает даже слова бластер, то есть он существует в мире до фантастики.

Для стартапера чтение великой мировой литературы это минус, даже фантастика уже минус, приземляет, материализует. Брэнсон и Маск выросли на фантастике и поэтому нацелены на создание машин, потому-что фантастика уже архаична, она жила до интернета. Современная фантастика, современная культура это микроблог, это репозиторий, современный космический полёт это «миллион пользователей стартапа» в крайнем случае «миллион просмотров видеоблога». А выборы американского президента или российской Думы это ни о чём, не интересно по сути, так, шоу на два вечера, суть же в том как идёт главный процесс трансформации, как скоро Дума и государство в целом станет чем-то вроде паблика и будет управляться кликами? Вопрос лишь в одном - написать софт для этого «паблика». Но об этом - позже.

Посмотрело: 873

Программирование рассматривается как процесс создания компьютерных программ. Слово процесс в этом определении не лишнее. Обычно рассуждают в духе «посмотрите, какую замечательную структуру данных можно описать на данном языке программирования». Философия программирования подразумевает оглянуться по сторонам, да и в глубь копнуть.

Собственно разделение на кодирование, и создание алгоритмов это уже специфика, сначала идёт жизнь, то есть человек опирается на некую мысль вроде «напишу-ка я фреймворк с такими-то свойствами». И вот это начальное направление это вопрос философии. Проблема в том, что часто жена программиста лучше его самого знает, на философском уровне, что он делает и почему. Элементарные философские категории: мышление, сознание, обусловленность программисту неведомы. И это странно, если сравнить способность программиста мыслить, например, читая статьи по функциональному программированию или алгоритмам поиска, вперемешку со статьями видных или русских европейских философов, окажется, что собственно навык мышления у программистов развит не меньше, а то и больше. Вот только язык программиста очень богат пока он рассуждает о паттерн-матчинге и жалок и органичен когда ему надо выйти из своей песочницы, оторваться от IDE и файлового менеджера.

Прагматизм одна из вершин философии. Так же как и марксизм в своё время заявил, что путаница в вопросах сознания непреодолима, и призвал рассуждать в терминах экономики, сводимых к натуральным числам - прагматизм сужает поле ещё дальше и призывает решать очевидные проблемы самым эффективным образом. В этом смысле программист как философ близок прагматизму.

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

Например такая история:

пытаясь раскрасить карту округов Англии, Францис Гутри сформулировал проблему четырёх красок, отметив, что четырёх цветов достаточно, чтобы раскрасить карту так, чтобы любые два смежных региона имели разные цвета. Его брат передал вопрос своему учителю по математике, Огастесу де Моргану, который упомянул о нем в своём письме Уильяму Гамильтону в 1852 году. Артур Кэли поднял эту проблему на встрече Лондонского математического сообщества в 1878 году. В том же году Тэйтом было предложено первое решение этой задачи.

Понимаете? Социальное измерение. То есть вы учите не только код, но вы и знаете имена тех кто этот код придумал, вы не изучаете просто язык Си, но и историю его создания. Это даёт возможность двигаться дальше в исторической перспективе, даёт вам возможность осознать своё местонахождение в социальной структуре и найти где приложить свои силы в новом для всего человечества направлении. Русские постоянно изобретают новые языки программирования и алгоритмы, с этим нет проблем, просто из-за незнания истории и философии программирования вы изобретаете то, что уже изобретено. Либо, что ещё хуже вы изобретаете что-то новое, но не имеете понятия, куда это деть, какому «Лорду Гамильтону» написать о своей работе, и на каком «заседании лондонского клуба» зачитать доклад. Доклад-то вы напишете, и он, скорее всего, будет совершенен с технической точки зрения.

Хотя истемная инженерия подразумевает анализ и постановку задачи перед собственно проектированием, алгоритмированием, разработкой структур данных, кодированием и отладкой, но задачу-то ставит заказчик. Заказчик это «Господь Бог» в философии программирования, он не осмысляется, поскольку не может быть осмыслен, он - абсолют и высшая сила. Можно только осмыслять его отдельные указания и жаловаться на несовершенство «божьих творений». Сами отношения программиста и заказчика в учебнике по Java не поднимают, это марксизм или протестантская этика: метафизика подчинения и обусловленность материальными ценностями. В америке есть класс «супер программистов», «старт-аперов», люди не имеют заказчика, они знают жизнь настолько, что сами могут увидеть потребности. То есть он не сидит и не ждёт пока некто, кто в жизни разбирается лучше него, придёт и скажет ему, что ему делать, он сам осмысляет жизнь и находит куда двигаться чтобы заработать и реализоваться как деятель. Не пишет программу, которую люди запрашивают, а сам создаёт запрос и сам же его удовлетворяет. Был ли запрос на iphone когда Джобс его придумал? Или Джобс создал сам запрос?

Филологи и философы, то есть такие-же ребята как и программисты, только с другого факультета, считают всех инженеров недолюдьми. Для них программист - это как зверушка такая, может делать замечательные фокусы с техникой, но - не человек. То есть ты сидишь в комнате с компом, но не понимаешь почему ты в ней сидишь. То есть ты то думаешь, что ты понимаешь, но если филолог тебя спросит «зачем и почему» ты начнёшь описывать программу которую ты пишешь. Элементарный для философа навык: перечислить свои общественные связи и обусловленности, осознать свою историю и как она привела тебя в это кресло здесь и сейчас, это - азбука самосознания.

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

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

Соответственно плюрализм в выборе ЯП, среды разработки, фреймворка, это тяготение к одному полюсу. А желание пользоваться таким-же ЯП, фреймворком, что и многие другие люди - это коллективизм, проявление атомизации, отчуждения. Программист очень одинок и одновременно перегружен общением. Это непаханое поле для исследований. Высшая нервная деятельность, работа со структурами и текстом, изучение языков - и это как обычная ежедневная деятельность. Программист удивил бы людей девятнадцатого века ёмкостью и силой своей мысли. Он бы удивил и людей двадцать первого, если бы мог с ними общаться на том уровне на котором он ежедневно работает. Тем удивительнее слепота программиста. Программиста часто отличают по внешнему виду. И это не дресс-код, человек просто не обращает внимания как выглядит и во что одет. То есть он знает что на нём одето, но почему именно оно или даже как оно правильно называется это для него далёкий космос. Вы знаете чем свитер от пуловера отличается? Джемпер от кофты? А зачем мне?

Программист это как раб лампы, как батарейка матрицы - если он вдруг начнёт применять свой мозг, свои невиданные способности по оперированию языками, логикой, работой с объёмами данных в обычной жизни - он может стать тем самым одноглазым, который король в стране слепых. Свитер облегает шею и тело, пуловер имеет широкое отверстие чтобы его было удобнее натягивать (pull-over), кофта имеет пуговицы. У джемпера вместо широкого отверстия застёжка. Это элементарно, можно написать в одну строчку кода. Но программисту не понятно одно, что эта информация, это не про одежду, это - часть описания жизни. Правда европейцы часть отличаются, есть культура программировать жизнь, особенно у англичан. Давно они открыли, что можно написать какое-то письмо, например «высылаю вам три мешка сукна, вышлите мне шесть золотых» и вдруг это можно повторять снова и снова и появляется возможность управлять жизнью просто сидя за своим рабочим столом и сочиняя письма. Венеция, Ганза, Кембрия. Это качество унаследовали и американцы, и поскольку они же полюбили и компьютеры и программирование они вышли на недосягаемый уровень. Они видят третий вектор программирования: любой код, любая программа программирует не только компьютер, не только процессор, но и пользователей.

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

Трёхнаправленное программирование. Компьютер, программист, пользователь. Невозможно внести изменения в код, не внеся изменения в будущее пользователя и программиста. Но можно об этом не думать. Так проще. Не думать - всегда проще. Человек из всех входных сигналов предпочитает принимать те, которые не требуют осмысления, а лишь ощущения. Вкус пива, чистая рубашка, похвала, или даже оскорбления и наезд начальства. Из этих эмоций далее следует эмоциональное принятие решений. Приятный фреймворк. Идиотский язык программирования. Тупой коммент. Классная статья. У меня возникла идея написать свою реализацию b-trees. Почему? Ну понравилась идея. Общение программистов, самых логически занятых сознаний, сводится к обмену эмоциями. Это два бурлящих потока, сталкиваются, отталкиваются, создают вихри - как же они вообще могут программировать? Очень просто, после часа эмоций они расходятся чтобы читать книги. Тут включается мысль. Киньте ссылку, я почитаю. Мне понравилось, есть что-нибудь почитать по этой теме? Две жизни. Программист особенно интересен тем, что для него даже кодирование это эмоциональное занятие, он бросает свои чувства в холодный экран, он пытается почуять логику и оформить себя как разум в результате. Русским программистам это особенно свойственно, а не свойственно им - рассуждать, тем более вслух, тем более письменно. Более того, человек способный рассуждать о своём проекте вызывает недоверие - он кажется вруном, который вместо того, чтобы смотреть в код, осознавать структуру алгоритма, почему-то думает о социальных проявлениях, пиарится, - сказки про Эльбрус и Фантом.

Поэтому в России нет Open Source. Потому что опенсорс это не умение программировать, это умение общаться. Это знание истории программ и программистов. Вы можете выложить на гитхаб своё творение, и даже написать к нему статьи и инструкции, но некому этого будет читать. Или они прочитают и напишут «хочу присоединиться к проекту, только не знаю, что делать». «Студент, немного знаю Яву, очень интересный проект, скажите, что делать». Почему американский студент «знающий Яву» сразу знает, что делать? Почему он может создать один опенсорс проект и присоединится к другому? Вопрос более социальный чем философский, наш социум в другом состоянии. Но философу ясно, - человек не осознаёт себя. Как говорит Гузеева в «Давай поженимся» - «ничего про себя не понимает». Он сидит в своей комнате за компом, мама ему говорит, «ну что ты у меня такой к жизни неприспособленный». «Ой, отстала бы ты, сама что ли умная». Но мама умная, это ты дурак. Точнее у неё другие входные сигналы, ты смотришь в монитор, она смотрит по сторонам. Даже отставая интеллектуально, в навыках логики и работы с информацией, наличие обширных входных сигналов из жизни, о людях, о взаимоотношениях - делает человека понимающим жизнь лучше программиста.

Мама не дура, даже по одежде и тарелкам может твоё будущее предсказать не зная асинхронной обработки данных. Это не сложно, и ты бы мог, если бы смотрел на социум и знал язык описания и программирования. По инстанциям похлопотать. Растёт ценный кадр. Толковый парень появился. Выправить документы. Начальство приметило. Это API. Ничего сложного. Программисты могут и должны править миром. Но пока что, только небольшой слой американский программистов это понял. Гейтс понял, что программа может глючить когда её инструкции выполняются в компьютере, но она не должна глючить, когда её инструкции выполняет пользователь. Это не только цинизм, это понимание своей роли, это исследование поведения, это изучение API пользователя и всего общества. Нажми сюда, что будет если пользователь нажмёт эту кнопку? А если тут введён текст, как сделать, чтобы он ввёл текст и сюда? Открылось окно выбора файла, в какой папке по умолчанию оно должно быть открыто? Сколько часов вы потратили на отладку кода, почему вы не потратили в десять раз больше изучая поведение пользователя? Гейтс потратил.

Люди записывают на видео поведение пользователя за программой, причём с момента входа в комнату. Самое смешное, что эти люди это не программисты, это приглашенные люди - социологи, даже дрессировщики. Они сидят и выполняют работу, которую по идее программист должен выполнить эффективнее, ведь это отладка кода. Вносятся изменения. Но программа работает не быстрее после этих изменений, она может быть работает медленнее и чаще глючит, в процессоре, на компе глючит, но в поведении пользователя она работает лучше, он быстрее выполняет операции (performance), чаще достигает цели (debug), он доволен (energy saving). Он платит в конце концов. Всё, что делал Джобс - это программирование пользователя. Как он к этому пришёл? культура окружения? наркотики? личный талант? Философия. Канты-гегели, Гуссерли-расселы, Витгенштейны-сартры, тысячи их. Они создали немало языков для описания реальности и API для её осмысления. Большинство умных слов которыми мы пользуемся интуитивно, было ими некогда введено и сформулировано. Нельзя употреблять слово «культура» и думать о консерватории, говорить «консерватория» и не знать, что это в первую очередь система преподавания и отбора преподавателей. Консервативная и консервирующая опыт. Для программиста, всё чем он пользуется взялось из ниоткуда. Умные люди разберутся, преподы в универе есть для этого.

Кстати, преподаватель программирования обычно не умеет ни программировать, ни преподавать. Отдельная песня, так вышло, Сталин направил миллионы дремучих крестьян учится инженерии, сейчас аналогичное происходит в Индии. Три миллиона выпускников ежегодно. Понятно, что люди стремятся сримлайнить преподавание, выкидывают всё лишнее. Зачем вам это знать, вы это учите - пригодится. История опытов Максвелла, очень увлекательна, но вам некогда её учить, вы выучите сразу уравнение Максвелла. Ну вы хоть скажите студентам, что до Максвелла не было ничего, после него уже наука об электричестве была развита. Какой пример для программистов! Нет ничего - что-то есть. Хотя бы расскажите как Страуструп и Торвальдс работали. Как из ничего, получается что-то. То есть преподаватель, так же философски дремуч, как и студент.

Вы смеётесь, что американцы не могут на глобусе найти Ирак. А вы над собой посмейтесь, вы можете на глобусе истории логики найти Гегеля? Вы пользуетесь BASH, вы знаете, кто и когда его создал и как он осмысляет своё творение по прошествии десятков лет? Вы знаете почему терминал называется терминал? Как он связан с телетайпом? Вы знаете, что компания IBM делала перепись населения в США более ста лет назад на деньги центробанка, а потом поставила эти механические компьютеры Гитлеру? Вы представляете, что устройство и терминология баз данных ведёт историю от тех перфокарт, а они от каталогизаторов привезённых из Англии в начале девятнадцатого века? Вы знаете как создатель Atari Бушнел не понял идеи своего работника Джобса? Вы хотя бы представляете роль Atari в истории вычислительной техники? Кто кого скопировал Atari или Sinclair? Мало знать устройства и их историю, надо в первую очередь знать людей, мысли и их историю. Отец Гёделя был священником, а отец Святого Франциска был банкиром и торговцем. Что такое львовско-варшавская школа логики?

Ну ладно, это ваше трёхнаправленное программирование, понятно, надо знать не только код и язык программирования, но и историю языка, знать себя и пользователя и историю и языки, ну а как же отладка? А что отладка? Зачем вообще нужен отладчик? Просто вы ещё не умеете мыслить, вы всё ещё реагируете и ждёте подсказок, вы не понимаете свою программу, вы останавливаете её и ждёте, что отладчик вам что-то покажет. Тогда, надеетесь вы, в голове появятся идеи. «В вашем отладчике неудобно ставить брэкпойнты.» Метапрограммирование это когда программа создаёт программу, тоже своего рода рекурсия. Так же и программа может дебажить программу, мета-отладка, но для этого программист должен быть в два раза умнее, он должен удерживать в голове сразу две программы. Люди которые используют printf() и смеются над отладчиками, просто лучше понимают, что делают.

Кстати, линковщик тоже не нужен, рудимент первых трансляторов. А типизированые языки нужны только потому, что из ста программистов только один умеет программировать, остальных нужно за ручку водить. Даже одна обезьяна напечатает «Войну и мир», если разблокировать только нужные клавиши и в нужном порядке. Потому мы так и любим подсветку синтаксиса и темы оформления - это способ воздействовать на себя, на свой разум, сконцентрировать внимание, помочь себе видеть больше. Сейчас размываются границы, где встроенная документация, где интернет, где компилятор, где интерпретатор, где ходить на работу, а где самозанятость. В таких условиях желание опереться на авторитет развивается, как у ребёнка желание схватить взрослого за рукав. Преданный взгляд в глаза Google когда они выкатывают очередную технологию для разработчиков. Надо вставать на ноги и осмотреться в большом взрослом мире, где ты не изучаешь технологии, а создаёшь их, где ты видишь не только мануал, но и руку которая тебе его протягивает и знаешь историю обоих. Это основы, это называется философия программирования.

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

Кажется безумием, однако подтверждение данной гипотезы можно встретить повсеместно. Например, черный квадрат Малевича. Многие считают его просто черным квадратом, для других же - видится глубокий смысл.
Вполне возможно, вам квадрат просто не открылся, а кто-то нашел в нем озарение. И таких случаем немало. Ведь часто, многие люди проходят мимо чего-нибудь, а потом один человек внезапно делает открытие/изобретение буквально на простых вещах, которые валялись вокруг нас, но мы их "не замечали". Там может дело не в том, что мы их не замечали, а в том что вещи нам не открылись? Эта, крайне спорная и интересная позиция, имеет очень реальные шансы на существование в действительности.

Например, если бы вселенная была огромной программой, разве создателю захотелось бы создавать различные классы для описания разных объектов? Конечно нет, ведь все стремится к минимуму энергии, все ленятся как могут. Поэтому, чтобы не очень утруждаться, вселенский программист создаст всего лишь один класс для всех объектов. И ему потребуется лишь обрабатывать всего лишь 1 вид взаимодействия объект-объект. И вполне возможно, что именно из-за этого, объект понимает другой объект лишь тогда, когда он решает открыться ему.

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

Функция Мировоззрение(Ценности) Ценности = Алгоритм вычисления ценностей() Вернуть Ценности Конец Функции Основная программа Цикл (повторять бесконечно){ Ценности = Мировоззрение(Ценности) } Конец программы

Подобных интересных корреляций, между философией и программированием можно найти очень много.

Как известно, для компьютер способен записывать слова (текст) и объекты (3д модели, картинки). Единственная брешь, которая стоит на пути создании ИИ - понятие. Т.е. то, что связывает слово и объект. Если кто-то придумает, как засунуть в машину систему понятий, то ИИ будет создан.

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

Здесь и далее я буду рассматривать общекнижный пример с сотрудниками предприятия, писать будем на чем-то СИ-подобном. Наследовать класс Сотрудник (Employee) от класса Человек (Person) – прекрасная идея, особенно если хранить данные исключительно в памяти: SQL имеет некоторые проблемы с наследованием таблиц, но речь не об этом - ООП со своим иерархизмом, агрегациями, композициями и наследованиями предлагает идеальный способ организации данных. Проблемы с методами.

За каждым методом бизнес-логики стоит факт мира, который этот метод (чаще не в одиночку) моделирует. Факты программирования – это операции: дальше будем называть их так. Делая метод членом класса, ООП требует от нас привязать операцию к объекту, что невозможно, потому что операция – это взаимодействие объектов (двух и более), кроме случая унарной операции, чистой рефлексии. Метод ВыдатьЗарплату (PaySalary) может быть отнесен к классам Сотрудник (Employee), Касса (Cash), БанковскийСчет (Account) – все они равнозначны в праве владения им. Дилемма о расположении методов сопутствует всему процессу разработки: неловкое ее разрешение может оказаться критичным и даже фатальным.

В книгах по программированию честные авторы стыдливо признают, что «объекты – это как бы не совсем объекты», а ООП – всего лишь способ организации кода, а не механизм моделирования. Но все дело том, что «мир есть совокупность фактов, а не вещей» – отсюда принципиальная неспособность построить адекватную модель, применяя ООП в том виде, как этого требуют писатели учебников. Важно понять: в коде возможно моделировать мир, но атомами модели должны стать факты, а не объекты.

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


В 2015 году вы могли заметить перемены в способе разработки приложений на JavaScript. Разработчики уходят от непредсказуемой архитектуры с мутабельным состоянием в сторону более предсказуемой иммутабельной архитектуры приложений .

С такими фреймворками как Backbone, было принято синхронизировать сами данные и представление данных – для этого приходилось вручную подписываться на нужные события dom. Такой способ был подвержен ошибкам и вынуждал использовать слишком много типового кода. Пришел Angular и исправил это с помощью автоматизированного двустороннего биндинга.

Но сейчас все движется в другом направлении.

… но это нормально. Любое проектирование отстой. И всегда будет отстоем.

Если вы мне не верите, давайте объясню…

Ни один проект не переживает встречи с реализацией

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

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

Это нормально.

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

Недостающие данные могут быть сделаны опциональными или заменены умолчальными.

Некорректные данные можно рассматривать как отсутствующие, либо записывать их «как есть» и добавить дополнительную провалидированную версию, которая присутствует только если оригинал валидный.

Ограничение уникальности можно

Еще по ходу чтения мне вспомнился Эдсгер Дейкстра с его знаменитой фразой: «Я денно и нощно молю, чтобы как можно больше моих собратьев-программистов нашли способ освободиться от проклятья совместимости» («I pray daily that more of my fellow-programmers may find the means of freeing themselves from the curse of compatibility») из книги Смиренный программист (1972 sic!!!). А позже и Эрик Реймонд с своим Собором и Базаром (1997 год). Но текст Винджа не только о проклятье совместимости, на трех страничках поднят (и в общем то оставлен без ответов) целый пласт вопросов:

  1. Проблема совместимости в широком смысле;
  2. Проблема поддержки старого кода;
  3. Проблема зависимости человеческой жизни «от бесчувственных роботов» (с), к чему мы стремительно приближаемся;
  4. Проблема data mining`а вообще и поиска готового решения в бездонной бочке рецептов в частности (github, stack overflow?);
  5. Проблема «переписывания» старого кода (и плохого, и хорошего) - этот момент так и хочется перечитывать:);
  6. Проблема необъятности ИТ-технологий. Иногда говорят, что последний универсальный физик жил в середине пошлого века, имея ввиду Льва Ландау. Похоже сейчас наступает (или уже наступило) время, когда найти универсального программиста таки уже невозможно;
  7. В тексте нет слова хакер, ни в позитивной, ни в негативной коннотации. Но написано и об исследователях, и о тех преимуществах, которые можно получить зная те или иные backdoor`ы и о том, какую власть это может дать.
  8. и наверное это не все… :)

Складывается впечатление, что писал это человек, на своей шкуре прочувствовавший эти самые проблемы.
Хочу отметить, что «Глубина в небе» была написана в 1999 году, когда многое из того, о чем пишет Виндж еще не было проблемой, или вообще только показалось на горизонте.

В качестве критики хочется отметить, что Виндж прошел мимо ИИ (и сильного и слабого, вообще мимо пробежал, даже нейронные сети не затронул) и свел преимущества ИТ к производительности. Так же в тексте не ощущается присутствие мегакорпораций (хотя конечно «Глубина в небе» не относится к киберпанку), если не считать Кенг-Хо таковой. Нет патентных войн, не затронуты вопрос копирайта и проблема закрытых проприетарных разработок, исходные коды к которым так и не были опубликованы.

Не о программировании, но о стандартах

Дальше в той же главе затронут интереснейший вопрос галактического вещания с целью распространения собственных технологий. Зачем? Стандартизация. Распространение собственного языка и собственных стандартов и технологий, что позволит с одной стороны подтянуть отсталые цивилизации до приемлемого для торговли уровня, а с другой снизить затраты на коммуникацию и обеспечение совместимости и как следствие облегчит торговлю и повысит маржинальность. Интересно, знал ли Виндж на момент написания книги о стандартизации корабельной оснастки английского флота времен великих завоеваний, позволившей снизить затраты на ремонт и обслуживание? А о распространении английского языка в качестве делового, научного и т.д.? Англичане учили (заставляли учить?) местных аборигенов своему языку. Аналогично поступали испанцы и французы. И сейчас английский, испанский, французский, португальский имеют очень широкое распространение. А вот голландцы считали, что аборигенов не нужно учить своему языку. Много ли мест на земном шаре, где говорят на голландском кроме самой Голландии?
Сейчас обучение английскому поставлено на поток по всему миру. Использование стандартизированных методик и учебников, стандартизированных экзаменов и шкал оценок. Только ли частный бизнес?

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

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

Разница между продуктом и проектом в том, что при разработке продукта есть план, а при разработке проекта есть исследования. Если у вас есть какая-то не решённая проблема, скажем вы ещё не решили какую базу данных использовать в своём проекте, то вам понадобится этот вопрос изучать, то есть исследовать. Это называется technology research. Исследование, это вовсе не обязательно, что-то совершенно новое в мировом масштабе, если вы строите мост, то вам надо исследовать грунт в данном конкретном месте, и пока этот грунт не исследован, мост, как продукт, ещё не существует, пока что это - проект. Ещё не известно, какой грунт, а значит не известно из чего делать мост, как его укреплять, невозможно посчитать бюджет и распланировать график работ.

Кто умеет копировать, тот умеет ДЕЛАТЬ. Это сказал Леонардо да Винчи. Видите ли, вы исходите из своих представлений, о том, что такое ХР, винда, операционка. Люди как рассуждают:

Мне было ещё мало лет у меня стояла ХР, вот были золотые деньки, но тепереча не то, что давеча. Новые времена, современное ПО. Не понимаю, зачем копаться в старье? Вы бы хоть делали клон десятой винды, но куда с вашей то скоростью, вы его сделаете лет через 100.

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