пятница, 14 декабря 2007 г.

Тапёр в барделе...

Одной из сложных вещей в нашей профессии является задача обьяснить чем ты собственно занимаешься. Обьясняется это тем что при формальной простоте задаче некоторые оставляемые за кадром "детали реализации" оказывают на реализацию весьма и весьма влияние... Также оказывается что небольшие просьбы об изменении реализации выливаются в пересмотр всех архитектуры и полное переписывание кода.

Например - "сделать выборку из чисел меньше 5".
Детали:
Входные данные:
Массив из 10 чисел...
Массив из 1000 чисел...число теперь не 5 а 100.
Массив из 10000 чисел, число задается.
Массив из 10000 чисел, число задается, выборка предполагается примерно 100 раз в секунду.
Размер массива хотя и не очень большой но не известен, число не известно, но массив неизменен на протяжении всей жизни программы.
Массив уже не из чисел а из структур у которых одно из полей число
Массивов много, структуры разные, вызывается часто...
Массивов много, структуры разные, вызываются часто, размер массива большой.
Массивов много, структуры разные, вызываются часто, размер массивов не просто большой а Большой.
Массивов много, структуры разные, вызываются относительно часто, числа хоть и задаются но часто повторяются, размер массивов Большой.
Массивов много, структуры разные, вызываются относительно часто, числа хоть и задаются но часто повторяются, размер массивов не просто Большой а Очень Большой.
....

ЗЫ: навеяно все это видеороликом про Dryad: A general-purpose distributed execution platform

Комментариев нет: