LINUX.ORG.RU

История изменений

Исправление stevejobs, (текущая версия) :

Связь прямая. Ты собираешь приложение из «кирпичиков» лежащих на Гитхабе (или Maven Central в случае Java), а не кодишь эти кирпичики самостоятельно. Это означает тысячи зависимостей на внешние библиотеки.

Потом склеиваешь эти кирпичики копипастой со Stackoverflow. Изучать ничего не надо - в нормальных языках (типа Java, C#) можно кодить с помощью автодополнения.

Это просто и приятно, до тех пор, пока не возникает одна из сложных проблем. Учитывая что программа набирается из тысяч зависимостей, зачастую случается конфликт этих самых зависимостей, в котором участвуют несовместимые деревья больших размеров. Это задача достаточно сложная, чтобы ты задолбался. Особено учитывая, что зависимости постоянно обновляются, выходят новые версии, и тебе нужно тратить время на регулярное обновление (N минут в день на это точно уходит, а если запустить болезнь надолго - то через год на обновление можгут уйти дни, учитывая следующий абзац, лол)

Самая печальная фигня - это динамическая несовместимость зависимостей, но с ней пока пакетные менеджеры справляться не могут. Например, у меня в проекте сейчас несколько версий Spring Framework, и сделать чтобы они все одновременно хорошо работали - это адский ад, и целые НЕДЕЛИ, проведенные в отладчике, без какого-то написания кода, просто чтобы понять, что происходит.

Исходная версия stevejobs, :

Связь прямая. Ты собираешь приложение из «кирпичиков» лежащих на Гитхабе (или Maven Central в случае Java), а не кодишь эти кирпичики самостоятельно. Это означает тысячи зависимостей на внешние библиотеки.

Потом склеиваешь эти кирпичики копипастой со Stackoverflow. Изучать ничего не надо - в нормальных языках (типа Java, C#) можно кодить с помощью автодополнения.

Это просто и приятно, до тех пор, пока не возникает одна из сложных проблем. Учитывая что программа набирается из тысяч зависимостей, зачастую случается конфликт этих самых зависимостей, в котором участвуют несовместимые деревья больших размеров.

Самая печальная фигня - это динамическая несовместимость зависимостей, но с ней пока пакетные менеджеры справляться не могут. Например, у меня в проекте сейчас несколько версий Spring Framework, и сделать чтобы они все одновременно хорошо работали - это адский ад, и целые НЕДЕЛИ, проведенные в отладчике, без какого-то написания кода, просто чтобы понять, что происходит.