web analytics

К теории практического программирования

10.11.13 (см. подробнее, скажем, в локальном файле Ideas_selected_2015.doc. 

К теории практического программирования

  • Известная мне «теория программирования» очень далека от практики программирования.
    • Среди важнейших причин – закон инерционности программного хозяйства (и привычек людей).
  • Реальным программированием самого разного характера занимаются всё новые массы людей, для которых требования заботы о будущих проблемах (минимизация сложности в будущем, надёжность и другие) далеко не самые приоритетные.
    • PHP или Basic завоевал свои рынки, хотя у них огромные проблемы с этих позиций
    • Ада, наоборот, рынок упустила.
  • Мораль: нужны разные модели программирования и разные теории разных “программирований”.
    • Операционные системы – это не то же самое с точки зрения приоритетов, что системы управления контентом (CMS).
      • Первые делаются сотнями «грамотеев», для которых надёжность и развиваемость (для применения такими же грамотеями) – приоритеты важнейшие.
      • Вторые делаются для применения в качестве средства «программирования» миллионами, для которых сиюминутная простота важнее всего на свете.
  • То, что кажется катастрофичным свойством Вордпресс (отвратительная модульность для плагинов как объектов развития), совершенно безразлично массе пользователей.
  • Развитием занимаются совсем другие люди, для которых проблемы Вордпресс – источник средств к существованию.
    • Им было бы плохо, если бы Вордпресс был сделан «хорошо» по старой теории программирования – у них бы не было работы.
    • Их работа, кстати, своим трудом компенсировать «недостатки» Вордпресс – плагины, плагины и плагины – не использующие других плагинов!!!.
  • Настоящая теория (теории) программирования должна
    • принимать мир артефактов как есть (сначала приоритеты одни, затем другие, сначала возможности решения проблем одни, затем другие)
    • строить модели реальных сфер программирования и искать решения для этих сфер
      • возможно решения, совершенно противоречащие классическим принципам
        • скажем, не определять переменную – это хорошо для PHP,
        • не выдавать диагностику – может быть и нехорошо для HTML, но так уж сделано и не поменяешь сходу.
  • Быстро распространяется и находит спрос отнюдь не «лучшее», а появившееся в нужное время в нужном месте.
  • Переделать так, чтобы улучшить кардинально – практически невозможно.
    • Нужно с этим жить и над этим работать с пониманием и законов жизни, и законов настоящего практического создания сложных систем
      • где «доказательству правильности» места не может быть по существу дела

        • только в рамках очень ограниченной, относительно хорошо изученной области (типа драйверов устройств).
  • Отдельные модели концепций и принципов для разных классов “программистоа”.
  • Настоящая физика артефактов – «Естественная» наука о «рукодельной природе».
  • Результатом такой теории могла бы стать, скажем, полностью клиентско-ориентированная технология сетевого программирования.

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

Translate »