git actually has a simple design, with stable and reasonably well-documented data structures. In fact, I’m a huge proponent of designing your code around the data, rather than the other way around, and I think it’s one of the reasons git has been fairly successful (*).

(*) I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.

  • git은 안정되고 알맞게 문서화된 “자료 구조”로 구성된 심플한 디자인이다.
  • 난 코드를 둘러싼 “데이터”를 디자인하는 것을 우선해야 한다고 생각한다.
    • (데이터 구조를 잘 디자인하면 좋은 코드는 따라오는 것이라는 주장인듯)
  • 그리고 이게 git이 성공한 이유중 하나라고 생각한다.
  • 좋은 프로그래머와 좋지 않은 프로그래머의 차이는 “코드” or “데이터 구조” 중 어느것을 중요시 하는지로 알 수 있다.
    • 좋지 않은 프로그래머는 “코드”에 대해 걱정하고.
    • 좋은 프로그래머는 “데이터 구조”와 그것들의 관계를 걱정한다.

http://lwn.net/Articles/193245/