daniel_grishin (daniel_grishin) wrote,
daniel_grishin
daniel_grishin

Categories:

Переносимость как требование к ПО

Сижу тут, ваяю requirements к одному проекту. Получил задачу "А напиши-ка нам о переносимости. Ну так чтоб как положено, независимость от платформ , чтоб платформы менять на раз и всё такое"

Никогда не пробовал, но отчего б не взяться?
Взялся.
Ваяю.
Плююсь.

Оказывается, это требование, довольно модное и распространенное - удивительно пакостная штука.
Во-первых, оно на практике бессмысленное. По определению это мера, показывающая, сколько придется угробить труда, чтобы воссоздать точно такое же на другой платформе (других платформах). В идеале - никакого программирования, никаких доделок: переставил на новое место и оно дальше работает.
Звучит прелестно, но вот беда: гарантированно к моменту, когда будет поставлен вопрос о переносе на другую платформу, функционал изменится так что переделывать придется всё равно. И много. Поэтому требовать "сделайте так, чтоб переделывать не пришлось!" бессмысленно.
Более того, это еще и откровенно вредно. С этим требованием нет никакого смысла производителям платформ (например, СУБД) придумывать и реализовывать фичи, которых нет у других. Ими не смогут воспользоваться, именно потому, что их нет у других. Более того, даже фича , которую сообща внедрят 5-6 лидеров рынка (просто представим себе это, и пусть ругается антикартельное законодательство), тоже бессмысленна, т к она не сможет быть использована старым софтом. Да и новый её поостережется использовать.
Конечно, в реальности фичи все равно внедряют. КОнечно, в реальности разработчики стараются при переносе на новую платформу эти фичи использовать. Конечно, они для этого плюют на переносимость: приходят к манагеру и говорят: "Мы можем заставить прогу работать так же как на старом точно так же как это было раньше, но можно сделать гораздо лучше".

Только зачем тогда когда-то сидели несколько дней и писали эти требования к переносимости, если на них все равно потом приходится плевать?

Ну абсурд же: мы требуем возможности легкого переноса системы, функционал которой нам неизвестен (т к мы не знаем каков желаемый функционал будет у системы через несколько лет) на платформу, свойства которой нам неизвестны (т к если мы свою предсказать на несколько лет вперед не можем то куда уж предсказать на что будут способны СУБД, ОС и так далее)

Лучше бы сосредоточились на общей изменяемости софта. Т е не требовали бы переносить проги без изменений а обеспечили бы легкость этих изменений
Tags: работа
Subscribe

  • 60 лет великой Победы

    Праздник для всего человечества. Поздравляю!

  • Санитарное

    Идеология, в т ч религиозная но не обязательно - это как микробиология. В идеале лучше бы было без нее, наверное. Много ресурсов экономится да и…

  • О богоборчестве

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

  • 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 

  • 6 comments