Подтвердить что ты не робот

Почему darcs вместо git?

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

Если всегда есть список инструментов, в которых высокая производительность является абсолютной, то я бы поставил VCS в верхнюю часть этого списка, а git справится с этим очень хорошо. Однако производительность не является git преимуществом только для многих других типов систем управления версиями.

Команда git очень хорошо обрабатывает небезопасный код c, и я никогда не беспокоюсь о своей системе типов (или о любых других функциях языка, на котором она написана), так почему же существует много haskell разработчики, которые должны использовать darcs, когда они будут использовать только готовый продукт?

4b9b3361

Ответ 1

Я думаю, что в целом определенные сообщества пользователей будут стремиться к той или иной технологии. Это особенно актуально, если технология использует язык сообщества. Также возможно (хотя я и не знаю), что автор и/или первоначальные пользователи Darcs были достаточно известными разработчиками Haskell, тем самым оказав большее влияние.

Существуют и другие примеры, такие как Mercurial, как представляется, более популярны в сообществе python, в то время как другие языки используют Git.

Как только вы используете конкретную часть программного обеспечения, возможно, не стоит переключаться на другую, даже если есть преимущества.

Честно говоря, используйте то, что вам больше нравится. На данный момент почти необходимо установить hg, git и svn и знать основы их использования. Если вы используете Haskell, вам, вероятно, нужно добавить Darcs в этот список.

Ответ 2

Darcs управляет коллекциями патчей вместо хронологической истории. Подробнее об этом можно узнать на странице darcs wiki, где описаны различия в других VCS. Это различие иллюстрируется функцией darcs, называемой спонтанными ветвями, которые используют расширенную форму набора вишни. Я использовал рабочий процесс, основанный на этом, с проектом LoC на 100 000 км. Кроме того, техническая разница, darcs очень удобна для пользователя. Команды меньше, и большинство из них по умолчанию интерактивны, что подсказывает вам, что делать.

Из-за сильных сторон дарсов и простоты использования я предпочитаю его более git, который я также регулярно использую для проектов с открытым исходным кодом. Darcs достаточно просто использовать, даже если вам нужно изучить git, чтобы внести свой вклад в некоторые проекты, вы все равно можете наслаждаться и использовать использование darcs в других проектах, где у вас есть выбор.

Ответ 3

Вы, кажется, подразумеваете, что git и darcs эквивалентны (или даже похожи), кроме языка реализации.

Если вы использовали оба варианта, вы поймете, что этот вопрос не имеет смысла. Если вы не использовали оба варианта, ответ на этот вопрос имеет очевидную предпосылку знания обоих.

Существует Darcs. Это достаточное оправдание для его существования и использования. Если вам это нравится, вы тоже можете быть пользователем. Если вам это не нравится, вы поймете, почему вы выбрали что-то еще.