Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This reminds me of "Good programmers worry about data structures and their relationships. (https://read.engineerscodex.com/p/good-programmers-worry-abo...).

From Linus Torvalds:

"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."



Now there is a difference from what the article is talking about and what you are talking about and I think that's quite important, because we tend to mix these things up often.

The article describes domain modeling, what you describe is computational modelling. The former lives at a higher abstraction closer to the user. The latter is about data processing.

A lot of people have mentioned DDD (or similar) in this thread, but I think that is an example of mixing up computational modeling and domain modeling. I think this is what object orientation and its descendants like micro services generally have been doing wrong: Applying domain structure at a level where it makes no sense anymore. This mismatch can add a lot of friction, repetition and overhead.


Is Linus actually a good programmer though? Linux is certainly popular but he had a lot of help with it. As a person he seems prone to lashing out and childish. I doubt hed last in the real world with his attitude, the only place he could succeed is heading his own open source project


He built git alone in a week as a side project. If you think you are a good programmer, there's no way Linus isn't many orders of magnitude better.


https://bitbucket.org/jacobstopak/baby-git/src/master/

looks like a less than 2k LOC. Source control wasnt a new concept. How is this "orders of magnitude" impressive though?


Sure. Now show us your best creation and we will compare.


but how is that impressive though?


He can act however he wants considering his contributions to humanity at large


have a word. his contributions are dwarfed by the community's.


The git data model isn't ideal though, it misses content-defined chunking of file content and directory entries, which leads to lots of duplicate data with large text files or directories containing large numbers of files. Newer backup tools like restic/borg support this though.


That seems like an implementation detail, not a fundamental design decision as it should be easy to change how packfiles are implemented. I'm not sure it would be an improvement though: it already only stores deltas for similar objects.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: