Linus Torvalds built Git in 10 days - and never imagined it would last 20 years
Linus Torvalds built Git in 10 days - and never imagined it would last 20 years

Linus Torvalds built Git in 10 days - and never imagined it would last 20 years

Linus Torvalds built Git in 10 days - and never imagined it would last 20 years
Linus Torvalds built Git in 10 days - and never imagined it would last 20 years
In a cave with a box of scrap
The biggest tragedy of modern media is that they chose to cast Elon Musk as the real life Tony Stark instead of torvalds who created 2 pieces of truly revolutionary software (with the help of thousands of other engineers ofc)
Four things went for Musk:
In all honesty, a lot of solo developers who are directly responsible for the internet as we know it should be getting far more credit than rich ass holes but here we are.
Edit: correct
Also Subsurface, a scuba diving log program, but that one is not quite as well known.
Made me curious if Torvalds at least got some reward for his work besides gratitude from people who use his stuff. I'm not sure how credible internet estimates of net worth are but looking up "Linus Torvalds net worth" keeps showing me stuff from $50–$150 million so hey, at least he's (probably) comfortable. Not exactly Tony Stark superhero territory but if he wasn't rich enough to sit at home and sleep for the rest of his life if he wanted to I'd probably be upset on his behalf for a bit, before I moved onto the next outrage of the day. Glad to see he's well-off.
Turned out better than javascript.
I expected someone to say that, and boom first comment lol
Be thankful we got Javascript. We might have had TCL! 😱
Interesting footnote: the founding of Netscape occurred at the same time I was deciding where to go in industry when I left Berkeley in 1994. Jim Clarke and Marc Andreessen approached me about the possibility of my joining Netscape as a founder, but I eventually decided against it (they hadn't yet decided to do Web stuff when I talked with them). This is one of the biggest "what if" moments of my career. If I had gone to Netscape, I think there's a good chance that Tcl would have become the browser language instead of JavaScript and the world would be a different place! However, in retrospect I'm not sure that Tcl would actually be a better language for the Web than JavaScript, so maybe the right thing happened.
Definitely dodged a bullet there. Although on the other hand if it had been TCL there's pretty much zero chance people would have tolerated it like they have with Javascript so it might have been replaced with something better than both. Who knows...
I believe his goto comment on git is that its current maintainer did/does far more work on git them him.
Thank god for that dude.
Handing over maintainership was not a hard choice. It was very much: "The moment somebody else comes along that I can trust to keep it going, I'll go back to doing just the kernel."
Priorities
it's wild just doing git init instead of manually setting up /truck, /tags, and /branch every time.
It could've been mercurial, but I'm glad that didn't happen. Being shouted at in a mailing-list for fixing a bug doesn't sound like fun. Also, the amount of CPU resources that would be wasted running a VCS in python would be phenomenal. And have fun trying to develop a project using a separate python version than supported by your python VCS.
If Mercurial were as popular as Git I would presume that it would be rewritten in C or Rust, but who can say.
I'm sure it could, but no one thinks it's worth their time when Git is right there and does the same job.
Care to explain your comment for a layman?
From my limited experience mercurial is way more intuitive than git. The big one is named branches are a thing instead of an abstraction.
I think it's less user experience and more that mercurial is a lot more demanding hardware wise to do the same rough job?
Mercurial is written in Python, Git in C.
Given the number of git instances, had it been implemented in Python, more CPU cycles / electricity would have been used.
Blah blah Mercurial is responsible for global warming. (I’m being sarcastic by the way - I love Mercurial).
Python 10s of multiples more CPU cycles than git. It is an interpreted language: every instruction is read by another process, checked, and then run. Hit on the other hand is executed straight by the CPU. It has at least one layer of indirection less than python (the python interpreter may have multiple). That means it can be slower but it definitely uses more energy.
Since git is so popular, if it were instead mercurial, the energy requirements would be much higher for version control. Whether that will be noticeable on a bill is debatable. I haven't run the numbers.
Regarding the different python versions. As mentioned before, there is a python interpreter. That interpreter is versioned and so is the python language. Many things are backwards compatible meaning something written in a higher version of the python language can be interpreted by a lower version of the python interpreter. The reverse is also true, so python interpreter with a higher version can interpret a python file using a lower version of the language.
Notice that I put "can" in bold. That's because newer versions can deprecate certain features or parts of the language. So, if you're writing a project in a different version of python, mercurial may or may not run depending on your version. Resolving that may not be as intuitive as one thinks.
I think those were he points you were referring to when you asked your question?
Being shouted at in a mailing-list for fixing a bug doesn’t sound like fun.
What's that a reference to?
Some instances of one of the mercurial devs being a bully. It was a long time ago and I can't remember the alias of the dev, but I do remember they had merge or commit rights - whatever those are called in mercurial. It felt like they had their own Linus but different. Whether they are still active or whether they still are like that, I dunno. Certainly hope they changed.
Dunno if the git mailing list was as toxic. Didn't investigate that.
I'm part of the accounting team in my company, a fucking big corporation, but because I'm not part of the dev or IT department IT dosen't want to give me access to the azure devops they use. So I had to ask for service desk to install git locally and using it like that.
Principle of least permission. I'm a dev and I still have to ask for temporary permission to even access customer infrastructure to solve production issues. Why should you need access to deployment infrastructure? I would deny you too, especially if your need could be solved by a local install of git.
I think we in the financial department need a devops for us, we write a lot of code that generates a lot of important information for strategic decisions and for regulatory bodies. I'm the only one in the accounting team that knows how to code, but the actuarial team? All of them write code. And all of that code is sparced on butch of directories with _v{n}, _final_version, _post-fix, (copy) and so on. Is completely ridiculous that everything is being moved to Python without a git environment.