4 ms·
> But Git was initially written by one cranky Finn, in ten days. It totally changed the way we all work. To be fair, Linus was trying to replace Bitkeeper, a
by gwd 3y ago
> But Git was initially written by one cranky Finn, in ten days. It totally changed the way we all work.
To be fair, Linus was trying to replace Bitkeeper, a proprietary DVCS which he'd been using to maintain the kernel for several years at that point. Mercurial, which runs on similar principles, was around at the time too. He didn't just make a quantum conceptual leap straight from SVM to git on his own in 10 days; he had a pretty good idea what he wanted to build (probably even ideas about the architecture) before he started.
It's still darned impressive; just not supernaturally impressive. :-)
- pksebben 3y agoI see this as kinda the flipside of "how to draw an owl" [1]. A smarter programmer than me once described software as "do 90%, then do the other 90%" - the mvp, first functional prototype, heck, even the first deliverable is great and all, but then it's time for the thing to live and breathe and go out in the real world and learn all about what it'll become someday. Thus was born semantic versioning. On the other end of that, like what you're talking about, you have the artist who answers "how long did it take you to paint that?" with: "my whole life". I think this holds true in most disciplines and especially in software. The actual code that makes a thing work is trivial - but you have to know which of the 9 gazillion ways of doing it is the one you want, which only comes from experience. 1 - https://imgur.com/RadSf https://imgur.com/RadSf
- m463 3y agohttps://xkcd.com/2730/ https://xkcd.com/2730/
- yencabulator 3y agoI've also read that Linus was pretty influential in BitKeeper design too. As in Larry McVoy would sit down with Linus to talk about the design of it. Git's core data structures had probably been bouncing around in Linus's head for months before first line of code was written. If you know both BitKeeper and Git internals, you can think of their data models as near identical, with BitKeeper implementation using text files and SCCS, and Git using from-scratch data structures.