6 ms·
Surprised no one mentioned git. Made over the course of a single week by Linus Torvalds,
by nafey 5y ago
Surprised no one mentioned git. Made over the course of a single week by Linus Torvalds,
- pforret 5y agoWait, what? One week? How much coffee was necessary for that?
- tuckerpo 5y agoSee Ken Thompson's monologue about creating Unix in 3 weeks: https://youtu.be/EY6q5dv_B-o?t=1372 https://youtu.be/EY6q5dv_B-o?t=1372 Programmers used to be pretty damn productive.
- progre 5y agoNormal finnish consumtion, about 0.2 kg of beans per week.
- deleted 5y ago[deleted]
- sneak 5y agoI thought I drank a ton of espresso every day. Then I visited Helsinki.
- zaphar 5y agoThe core of Git isn't that complicated. A merkle tree backed by a content-addressable store. That's very much in the realm of possible within a week. It wasn't very easy to use in it's first iteration. All of the porcelain that has been built around it is where 90% of the development has gone.
- brundolf 5y agoWhere by "porcelain" I assume you mean "easy to mishandle and break" ;)
- zaphar 5y agoI'm certainly one of those people who think git makes stupid mistakes a little too easy to do, so I'm on board with that definition.
- teeray 5y agoHeh, an unintentional consequence of word choice :) “Porcelain” is used in contrast to “plumbing.” Both terms are used in the gut documentation to differentiate the more complex, user-facing features of Git (e.g. `git commit`) from the raw features used by other tool authors (e.g. `git for-each-ref`)
- xigoi 5y agoWait, it used to be even harder to use?
- zaphar 5y agoYou have no idea.
- ramses0 5y agoIt was amazing that within ~24hrs of Linus releasing `.git` there were corresponding implementations of the backing data store within ~1 week for all the other "major" competing version control systems (eg: hg, svn, darcs) and written in just about every possible language. The core of git is brutally simple and efficient, and maps incredibly well to "a linked list (and hash) of files serialized to disk". Someone wrote somewhere "I used to wonder if Linus was a genius but Git proves it to be true. Anybody could have (re-)written a *NIX implementation, but Linus invented Git from whole cloth." https://perl.plover.com/classes/git/samples/slide005.html https://perl.plover.com/classes/git/samples/slide005.html https://perl.plover.com/classes/git/samples/slide009.html https://perl.plover.com/classes/git/samples/slide009.html
- ncmncm 5y agoBut, he didn't. Linus copied the design from Monotone, by Grayson Hoare (who also made the original pre-pre-1.0 Rust).
- ncmncm 5y agoGraydon. (Damn auto-correct!)
- homarp 5y agohttps://lkml.org/lkml/2005/4/6/121 https://lkml.org/lkml/2005/4/6/121 "PS. Don't bother telling me about subversion. If you must, start reading up on "monotone". That seems to be the most viable alternative, but don't pester the developers so much that they don't get any work done. They are already aware of my problems ;)" time for monotone to be rewritten in Rust
- ncmncm 5y agoTime for Git using SQLite for back-end storage. Git has corrupted its own store too many times for me ever to trust it anymore. Almost ready to switch to Fossil.
- 5y ago
- hwers 5y agoI would say every year of quality experience a person has is equivalent to X mg of caffeine so at Torvalds level he might not have been above a normal level.
- ISL 5y agoAfter years of using other architectures and thinking really hard about what worked and what didn't.
- schnevets 5y agoAnd Notch would obsessively play Dwarf Fortress before writing any code for Minecraft. The distinction between influence and contribution is a fine line. It's worth studying so aspirants understand no achievement exists in a vacuum, but not a means to divide something between solo and collaboration.
- vymague 5y agoI thought you'd say Infiniminer by Zachtronics.
- toto444 5y agoDoes that mean that a less competent developper could write a more intuitive alternative in a few months ?
- rco8786 5y agoProbably! I think this space is ripe for exactly that to happen.
- IshKebab 5y agoAbsolutely. There's nothing fundamentally complicated in Git. The most complex things are the merging and diffing algorithms (but I presume the week-old git just used GNU diff and patch).
- a_e_k 5y agoMercurial?
- gaetgu 5y agoExactly this. I think that git is only popular currently because everyone else is using it. (That and GitHub).
- dhimes 5y agohg ftw!
- quartesixte 5y agoIsn’t it also because Linux itself is controlled by Git?
- hanche 5y agoOr fossil, built on top of SQLite.
- mabbo 5y agoIntuition is really the problem with git. Most developers that use git daily don't actually have a deep understanding of the domain model powering it. They don't know why it's doing things, or why they need to do things in a certain way. It's terribly unintuitive. But it's also so powerful that nearly every use case you might have can be done with it.
- yencabulator 5y agoI think it's worth noting that Linus was influential in BitKeeper's design previously, and if you know both systems, git feels like a cleaned-up BitKeeper that uses from-scratch formats instead of trying to ride on top of SCCS.