2010-03-23 2 views
24

순수한 기능 언어를 사용하면 불완전한 명령을 사용하는 것보다 많은 이점을 얻을 수 있지만 일반적으로 저급 시스템 언어를 사용하면 훨씬 더 높은 성능을 얻을 수 있습니다. 특히 CPU가 어떻게 실행되는지에 대한 정확한 단계를 지정할 수 있으므로 결과를 계산해야합니다.왜 자식 대신 darcs가 필요합니까?

성능이 절대적으로 필요한 도구 목록이 있다면 그 목록의 맨 위에 VCS를 넣으면 git는이 점을 매우 잘 수행합니다. 그러나 어쨌든 버전 제어 시스템의 다른 많은 다른 유형에 비해 성능은 장점이 아닙니다.

git 팀은 안전하지 않은 C 코드를 매우 잘 처리하고 있으며 내 시스템 (또는 작성된 언어의 다른 기능)에 대해 걱정하지 않습니다. 그렇다면 왜 많은 haskell 개발자가 있는지입니다. 그들은 완제품만을 사용할 때 darcs를 사용해야합니까?

+5

실제로 이유가 무엇입니까? 실제로 사람들이 git에서 darcs로 이동하는 것을 보았습니까? – hasen

+4

@hasen j : http://stackoverflow.com/questions/4114045/convert-git-repo-to-darcs :-) –

+3

이 모든 질문은 난센스입니다. Tuned Haskell은 C 튜닝만큼 빠르게 수행되며, 작성, 디버그 및 유지 관리가 더 쉽습니다. Darcs는 더 풍부한 모델을 사용하고 더 느린 알고리즘을 필요로하므로 git보다 느립니다. 이것은 명령 행에서 git을 프로그래밍하는 것과는 대조적으로 darcs를 쿼리하는 환경으로 해석됩니다. – nomen

답변

21

나는 일반적으로 사용자 커뮤니티가 특정 기술이나 다른 기술로 이끌 리라고 생각합니다. 기술이 커뮤니티의 언어를 사용하는 경우 특히 그렇습니다. Darcs의 저자 및/또는 초기 사용자가 Haskell 개발자로 잘 알려져 있기 때문에 더 많은 영향력을 행사할 수도 있습니다.

다른 예로 Mercurial이 파이썬 커뮤니티에서 인기가있는 것처럼 보이지만 다른 언어는 Git을 사용하는 것처럼 보입니다.

특정 소프트웨어를 사용하면 이점이 있더라도 다른 소프트웨어로 전환 할 가치가 없을 수도 있습니다.

정직하게 말하지만 당신이 가장 좋아하는 것을 사용하십시오. 이 시점에서 hg, git 및 svn을 설치하고이를 사용하기위한 기본 사항을 알고 있어야합니다. Haskell을 사용하고 있다면 아마 Darcs를이 목록에 추가해야 할 것 같습니다.

-4

git 및 darcs가 구현 언어 이외의 다른 언어와 동등한 (또는 비슷한) 것을 암시하는 것처럼 보입니다.

두 가지를 모두 사용했다면이 질문을 이해할 수 없을 것입니다. 둘 다 사용하지 않았다면 질문에 대한 대답은 두 가지 지식에 대한 분명한 전제 조건을 가지고 있습니다.

Darcs가 있습니다. 그것이 존재하고 사용되기에 충분하다는 정당화입니다. 당신이 그것을 좋아한다면, 당신도 역시 사용자가 될 수 있습니다. 당신이 그것을 좋아하지 않으면 왜 다른 것을 선택했는지 알게 될 것입니다.

+47

이 답변임을 암시하는 것 같습니다. 이것이 대답이라고 생각한다면 틀린 말입니다! 답을 다시 읽으면 OP 나 다른 사람의 입장에서 도움이되지 않는다는 것을 알 수 있습니다. – hasen

+9

아마 당신은 그들이 어떻게 다른지 우리에게 말할 수 있습니다. – Zach

+1

둘 다 사용하는 것 같습니다. 사용자가 POV에서 darcs가 git (OP가 요청한 것)와 비교하여 수행하는 방법 또는 haskell을 배우려는 개발자가 git을 사용하여 한 번에 두 개의 도구를 배우지 않도록하는 방법을 알려줄 수 있습니까? 저는 이런 종류의 피드백에 정말로 관심이 있습니다. –

58

Darcs는 연대기 이력 대신 패치 모음을 관리합니다. 이에 대한 자세한 내용은 darcs wiki page documenting differences with other VCS에 있습니다. 이 차이는 체리 피킹의 고급 형식을 사용하는 spontaneous branches이라는 darcs 기능으로 설명됩니다. 100,000k LoC 프로젝트를 통해이 워크 플로를 광범위하게 사용했습니다. 기술적 인 차이점 외에도 darcs는 매우 사용자 친화적입니다. 명령어가 적고, 대부분은 기본적으로 대화식이며, 무엇을해야할지 묻습니다.

darcs의 강점과 사용 편의성 때문에 나는 오픈 소스 프로젝트에 정기적으로 사용하는 git보다 훨씬 더 선호합니다. Darcs는 사용하기 쉽기 때문에 일부 프로젝트에 기여하는 git을 배워야 할지라도 선택의 여지가있는 다른 프로젝트에서 darcs를 계속 사용하면 이익을 볼 수 있습니다.