Không có câu hỏi rằng phần lớn các cuộc tranh luận về các công cụ lập trình chắt lọc theo lựa chọn cá nhân (bởi người dùng) hoặc nhấn mạnh thiết kế , nghĩa là tối ưu hóa thiết kế theo các trường hợp sử dụng cụ thể (bởi người xây dựng công cụ). Trình chỉnh sửa văn bản có lẽ là ví dụ nổi bật nhất - một lập trình viên làm việc trên Windows tại nơi làm việc và mã trong Haskell trên máy Mac ở nhà, giá trị tích hợp đa nền tảng và trình biên dịch và do đó chọn Emacs trên TextMate , v.v.
Điều ít phổ biến hơn là một công nghệ mới được giới thiệu thực sự, vượt trội hơn hẳn so với các tùy chọn còn tồn tại.
Trên thực tế, đây có phải là trường hợp với các hệ thống kiểm soát phiên bản (VCS), đặc biệt là VCS tập trung ( CVS và SVN ) so với VCS phân tán ( Git và Mercurial ) không?
Tôi đã sử dụng SVN trong khoảng năm năm và SVN hiện đang được sử dụng tại nơi tôi làm việc. Ít hơn ba năm trước, tôi đã chuyển sang Git (và GitHub) cho tất cả các dự án cá nhân của tôi.
Tôi có thể nghĩ về một số lợi thế của Git so với Subversion (và phần lớn là trừu tượng đối với các lợi thế của phân phối trên VCS tập trung), nhưng tôi không thể nghĩ ra một ví dụ đối lập - một số nhiệm vụ (có liên quan và phát sinh trong một lập trình viên thông thường quy trình làm việc) mà Subversion làm tốt hơn Git.
Các chỉ kết luận tôi đã rút ra từ này là tôi không có bất kỳ dữ liệu - không phải là Git là tốt hơn, vv
Tôi đoán là những ví dụ phản biện như vậy tồn tại, do đó câu hỏi này.