Октябрьские тезисы

Вместо предисловия

Конференция Соруком-2017 заставила изрядно задуматься, еще раз ткнув носом в то, что мы (IT профессионалы) занимаемся мелочами, а не главным. Если это один раз увидел, уже трудно отмахнуться.

Все, что происходит в IT, мне сильно напоминает анекдот:

Папа, почему мы здесь живем?

Потому что это наша родина, сынок!

Я не про страну (страна как раз вполне та, что надо), а про программирование/информатику в широком смысле. Почему мы используем эти языки программирования, эти инструменты, почему мы этому учим? Почему мы наступаем десятки лет на одни и те же грабли?

грабли

Простые ответы: «так получилось» и «все так делают» не помогают. Собственно, вопросы, сводящиеся к «Кто виноват?» меня не очень волнуют. Важнее: «Что делать?»

Постановка задачи

Чтобы хотя бы наметить направление движения в ответ на вопрос «что делать» надо загнать себя в положение, в котором ответ станет жизненно необходим. Иначе обычная леность мышления не позволит ответить.

Предположим, что нам достоверно стало известно, что через 30 лет жизнь на Земле станет невозможна (переворот полюсов, атака НЛО, астероид, … — неважно). 30 лет – это срок не слишком маленький: можно что-то успеть. И не слишком большой.

Очевидно, что при таком известии человечество разделится на две «неравные» половины: «пир во время чумы» и инновации/поиск выхода.

Смотрим на тех, кто будет искать выход. Выход может быть в очень разных местах: предотвращение катастрофы, убежища, переселение на Луну, Марс, спутники Юпитера, … Плюс разнообразная экзотика: изменения генетики, киборги, параллельные реальности, оцифровка сознания, …

Но так как «вшивый о бане», отложим все остальное и поговорим об ИТ.

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

Нам надо будет делать программы быстро, экономить ресурсы (время, люди, электроэнергия), повысить надежность, достоверность моделирования, быстро переделывать программы под новые идеи, предположения.

Тезисы

Надо:

  • Ускорить разработку (включая прототипирование, программирование и отладку)
  • Экономить ресурсы (люди, время, электричество)
  • Повысить надежность
  • Упростить/ускорить переделку (задачи меняются на ходу)

Способы достижения:

  • Использование (насколько возможно) стандартных компонент для сборки программ (ускорение, надежность, экономия)
  • Независимость компонент от платформы (экономия усилий)
  • Независимость компонент от языка программирования (экономия усилий)
  • Переход на двух-уровневую отладку. Нижний уровень: отладка стандартных компонент, верхний: отладка на уровне программы, собранной (большей частью) из стандартных компонент (надежность, ускорение, экономия)
  • Верификация/доказательство правильности/рефакторинг на уровне компонент, а не на уровне исходного текста (экономия, надежность)
  • Широкое использование конкретизирующего программирования: нейронные сети, конечные автоматы, … (надежность, экономия)
  • Использование схем программ, явная архитектура программ (переделка программ, надежность, экономия усилий)

Есть ли другие способы? Думаю, что да. Но, на мой взгляд, даже перечисленные мной способы вполне рабочие и верные как направления поиска решений.

Из них вытекает постановка задачи для инструментов разработки (например, для Вир-2). Я могу ошибаться в частных решениях, используемых в Вир-2. Более того, я уверен, что есть лучшие решения, которые я не вижу. Тут мне и нужна помощь, помощь тех, кто ищет, кто готов менять многое и менять кардинально.

Но я не вижу ошибки на уровне тезисов/способов. Укажите их, если видите. Но мне не нужен дешевый хайп на уровне – «все это не то». Предложите свой тезис для замены каждого, который оспариваете.

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

Вместо послесловия

Папа, почему мы постоянно наступаем на грабли?

Потому что это делает нашу жизнь полноценной.

И мы всегда при деле, сынок!

К чему были эти странные предположения об апокалипсисе и необходимости изменений?

У нас же все хорошо, правда?

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

А?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *