5 ms·
This reminds me of "Good programmers worry about data structures and their relationships. (https://read.engineerscodex.com/p/good-programmers-worry-about-data h
by realprimoh 1y ago
This reminds me of "Good programmers worry about data structures and their relationships. (https://read.engineerscodex.com/p/good-programmers-worry-about-data 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."
- pabs3 1y agoThe 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.
- dividuum 1y agoThat 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.
- dgb23 1y agoNow 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.
- skeezyjefferson 1y agoIs 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
- brazukadev 1y agoHe 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.
- skeezyjefferson 1y agohttps://bitbucket.org/jacobstopak/baby-git/src/master/ 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?
- brazukadev 1y agoSure. Now show us your best creation and we will compare.
- skeezyjefferson 1y agobut how is that impressive though?
- moomoo11 1y agoHe can act however he wants considering his contributions to humanity at large
- skeezyjefferson 1y agohave a word. his contributions are dwarfed by the community's.