gineer (gineer) wrote in i_future,
gineer
gineer
i_future

еще об эффективности программирования

Можна как-то узнать чем не понравился мой предыдущий пост что не был опубликован?
Возможно я нарушил какие-то правила? Но сложно не нарушать правила их не зная...


Я понимаю что то что написано не сильно интересно.
Какой-то ТРИЗ, какой-то ИКР... совсем не похоже на разговор о програмировании.

Надеюсь дальше будет интереснее.

Есть в ТРИЗ еще один метод -- операторы РВС (Размер, Время, Стоимость)
Это когда задачу пробуют представить по-новому, отсеять стереотипные решения, представив что эти три параметра сильно отличаются от реальных в большую или меньшую сторону.

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

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

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


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

Или дано время до конца тепловой смерти вселенной (наверняка для написания гугольной программы :) ).
Как будем действовать тогда?
Ведь даже после первого миллиона лет получится что мы имеем чортову уйму унаследованного кода, который уже никто не помнит как писался и собирался.


Еще один параметр -- Стоимость.

Предположим что максимальная сумма которую можно получить за разработку -- один цент.
Тогда чтобы нормально заработать нужно уметь плодить программы со скоростью дюжину за секунду.
Как это можно реализовать?

Или наоборот. Одна программа стоит очень очень дорого.
Например, только у Била хватит денег, если отдаст все свое состояние за эту программу.
Как быть всем остальным? Как разработать такую одну программу, стоящую как программа полета на Марс, чтобы подошла всем, чтобы использовалась достаточно долго и окупила вложения?
Subscribe
Buy for 100 tokens
Buy promo for minimal price.
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 8 comments