Проблема №1.

Давай представим ситуацию, когда один добрый человек написал прекрасный модуль размером в 1 мегабайт. Другой добрый человек решил воспользоваться его возможностями и подключил к своей программе. Модуль и программа слились в одно целое. Вроде все нормально, но я же сказал, что программа и модуль слились в одно целое. Это значит, что размер результата увеличился на размер модуля, т.е. на 1 мегабайт. Не фига себе пельмень!!!

А теперь представь, что другой чел написал другую утилиту с использованием этого модуля…. Его программа тоже увеличилась на 1 мегабайт. Получается, что на винте пользователя хранится две программы, в которых по 1 мегабайту кода одинаковых. И кому это нужно?

Ну, конечно же, на счет модуля в 1 мегабайт я немного преувеличил. В те времена даже 100 кило модуль тяжело было найти. Но надо учитывать, что и винты тогда были не бесконечные. Тогда крутым винтом считался диск в 20 мегабайт. Это тебе не нынешние десятки гигабайт на одной пластине. Я сам застал такие машины только на первом курсе института, а это было почти 10 лет назад.