this post was submitted on 11 Apr 2025
458 points (98.7% liked)

Programming

19641 readers
178 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
(page 2) 20 comments
sorted by: hot top controversial new old
[–] [email protected] 34 points 1 week ago

it's wild just doing git init instead of manually setting up /truck, /tags, and /branch every time.

[–] [email protected] 84 points 1 week ago (1 children)

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.

[–] [email protected] 75 points 1 week ago (2 children)

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

load more comments (2 replies)
[–] [email protected] 120 points 1 week ago (1 children)

In a cave with a box of scrap

[–] [email protected] 141 points 1 week ago (3 children)

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)

[–] [email protected] 66 points 1 week ago* (last edited 1 week ago) (9 children)

Four things went for Musk:

  • he was rich
  • he had a passing resemblance to Robert Downey Jr.
  • he ~~made~~ was closely associated with futuristic hardware (we don't seem to value revolutionary software the same way as hardware)
  • he was rich

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

[–] [email protected] 15 points 1 week ago (10 children)

he made futuristic hardware

Did he

load more comments (10 replies)
load more comments (8 replies)
[–] [email protected] 20 points 1 week ago

Also Subsurface, a scuba diving log program, but that one is not quite as well known.

https://subsurface-divelog.org/

load more comments (1 replies)
[–] [email protected] 13 points 1 week ago* (last edited 1 week ago) (3 children)

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.

Anti Commercial-AI license

[–] [email protected] 1 points 1 week ago (1 children)

Being shouted at in a mailing-list for fixing a bug doesn’t sound like fun.

What's that a reference to?

load more comments (1 replies)
[–] [email protected] 20 points 1 week ago (1 children)

If Mercurial were as popular as Git I would presume that it would be rewritten in C or Rust, but who can say.

[–] [email protected] 2 points 1 week ago

I'm sure it could, but no one thinks it's worth their time when Git is right there and does the same job.

[–] [email protected] 3 points 1 week ago (4 children)

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.

[–] [email protected] -1 points 1 week ago* (last edited 1 week ago) (6 children)

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?

Anti Commercial-AI license

load more comments (6 replies)
[–] [email protected] 3 points 1 week ago* (last edited 1 week ago)

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

[–] [email protected] 9 points 1 week ago (11 children)

What do you mean by "are a thing?" Git has branches.

[–] [email protected] 7 points 1 week ago (4 children)

Git branches are very different to Mercurial branches. In git they're similar to tags that move along with the head commit of that particular branch. In Mercurial every commit contains meta data indicating the branch it's on. It also has a query language that lets you do sone quite neat things with selecting groups of commits based on their metadata, which can be useful in code reviews and similar.

load more comments (4 replies)
load more comments (10 replies)
[–] [email protected] 4 points 1 week ago

I think it's less user experience and more that mercurial is a lot more demanding hardware wise to do the same rough job?

[–] [email protected] 109 points 1 week ago (5 children)

Turned out better than javascript.

[–] [email protected] 18 points 1 week ago

I expected someone to say that, and boom first comment lol

load more comments (4 replies)
load more comments
view more: ‹ prev next ›