История изменений
Исправление
stevejobs,
(текущая версия)
:
Связь прямая. Ты собираешь приложение из «кирпичиков» лежащих на Гитхабе (или Maven Central в случае Java), а не кодишь эти кирпичики самостоятельно. Это означает тысячи зависимостей на внешние библиотеки.
Потом склеиваешь эти кирпичики копипастой со Stackoverflow. Изучать ничего не надо - в нормальных языках (типа Java, C#) можно кодить с помощью автодополнения.
Это просто и приятно, до тех пор, пока не возникает одна из сложных проблем. Учитывая что программа набирается из тысяч зависимостей, зачастую случается конфликт этих самых зависимостей, в котором участвуют несовместимые деревья больших размеров. Это задача достаточно сложная, чтобы ты задолбался. Особено учитывая, что зависимости постоянно обновляются, выходят новые версии, и тебе нужно тратить время на регулярное обновление (N минут в день на это точно уходит, а если запустить болезнь надолго - то через год на обновление можгут уйти дни, учитывая следующий абзац, лол)
Самая печальная фигня - это динамическая несовместимость зависимостей, но с ней пока пакетные менеджеры справляться не могут. Например, у меня в проекте сейчас несколько версий Spring Framework, и сделать чтобы они все одновременно хорошо работали - это адский ад, и целые НЕДЕЛИ, проведенные в отладчике, без какого-то написания кода, просто чтобы понять, что происходит.
Исходная версия
stevejobs,
:
Связь прямая. Ты собираешь приложение из «кирпичиков» лежащих на Гитхабе (или Maven Central в случае Java), а не кодишь эти кирпичики самостоятельно. Это означает тысячи зависимостей на внешние библиотеки.
Потом склеиваешь эти кирпичики копипастой со Stackoverflow. Изучать ничего не надо - в нормальных языках (типа Java, C#) можно кодить с помощью автодополнения.
Это просто и приятно, до тех пор, пока не возникает одна из сложных проблем. Учитывая что программа набирается из тысяч зависимостей, зачастую случается конфликт этих самых зависимостей, в котором участвуют несовместимые деревья больших размеров.
Самая печальная фигня - это динамическая несовместимость зависимостей, но с ней пока пакетные менеджеры справляться не могут. Например, у меня в проекте сейчас несколько версий Spring Framework, и сделать чтобы они все одновременно хорошо работали - это адский ад, и целые НЕДЕЛИ, проведенные в отладчике, без какого-то написания кода, просто чтобы понять, что происходит.