Часть 3. Внезапная. А зачем мы всё это делаем?

Продолжение поста Какую задачу будет решать веб-приложение?

Если кому-то что-то непонятно, спрашивайте. И наоборот, если видите, что я несу бред - поправляйте.

Не успели мы написать и строчки кода, как в комментариях возник главный вопрос жизни, Вселенной, разработки и всего такого. И я нифига не шучу, абсолютно каждая программа для своего написания ставит такой вопрос. Если мы пишем некую программу для себя, то типичным ответом будет - мне так захотелось. В конкретно этой серии постов, которую я и писать изначально не собирался, я решил разобрать веб-разработку по шагам на максимально простом примере, но который бы делал что-то реальное и которым можно было бы пользоваться. Поскольку на днях вышел линух 6.7, можно считать это посвящением ему, поскольку Линус тоже начинал свою разработку с целью обмена сообщениями. При разработке ПО же на коммерческой основе этот вопрос будет основным и он точно так же будет возникать в самом начале. В компаниях на него обычно отвечает Архитектор или Тимлид, или кто там решает, а зачем, собственно?

Если более детально, то я увидел некую проблему (затруднённость обмена частными посланиями на пикабу), придумал, как её решить посредством ПО и решил это сделать. Также был вопрос, а почему я собираюсь это делать именно так? В данном случае - потому что, опять же, я так решил. В случае коммерческой разработки любое такое решение нужно будет обосновывать, потому что оно будет стоить от очень больших до гигантских или даже невероятных сумм. Потому что абсолютно любое решение имеет как плюсы, так и минусы. Всё как в любой другой инженерной и прочей системе, и как вообще всегда в жизни.

А, может, можно сделать как-то иначе, лучше? Конечно, можно. Всё всегда можно сделать иначе, особенно в разработке ПО. Но, каждое решение см. абзац выше. Поэтому я пока собираюсь делать по написанному во втором посте алгоритму, поскольку пока никто не предложил, как можно в нём что-то улучшить, существенно что-то не ухудшив. Зато, как было замечено, этот алгоритм является частным случаем другого алгоритма, на базе которого работает 99% обмена данными в нынешних компьютерных системах. Такой вот ещё один внезапный учебный плюс нарисовался :)

Так что, в итоге - умение отвечать на этот вопрос, в области ИТ - одно из самых высокооплачиваемых. И, чтобы научиться на него отвечать, нужны 2 вещи: здравый смысл и очень хороший опыт в программной инженерии, который я и собирался немного раскрыть в последующих постах.