You are viewing a single thread.
View all comments
122 points

If you look at projects in more popular languages like JS, Rust, Python. There is plenty of new blood in the contributors list. I won’t speculate as to why, but it looks like the new generation doesn’t like c and c++.

I think this is also backed up by the Linux kernel and thunderbird projects. Both are old c/c++ codebases and both have stated they are adopting rust in hopes of drawing interest (and contributors) from the rust community.

permalink
report
reply
90 points

I’ll also throw out: aging infrastructure, build systems, coding practices, etc.

I looked into contributing to the kernel - it’s already an uphill battle to understand such a large, complex piece of software written almost entirely in C - but then you also need to subscribe to busy mailing lists and contribute code via email, something I’ve never done at 30 and I’m betting most of the younger generation doesn’t even know is possible. I know it “works” but I’m really doubting it’s the most efficient way to be doing things in 2024 - there’s a reason so many infrastructure tools have been developed over the years.

The barriers to entry for a lot of projects is way too high, and IMO a lot of existing “grey” maintainers, somewhat understandably, have no interest in changing their processes after so much time. But if you make it too hard to contribute, no one will bother.

permalink
report
parent
reply

How do you contribute code through a mailing list? Like I don’t understand…

permalink
report
parent
reply
22 points

Found a blog post that gives a quick overview of how to do git via email in general: https://peter.eisentraut.org/blog/2023/05/09/how-to-submit-a-patch-by-email-2023-edition

So at least from my understanding you’d make your changes, email the contents of the patch to the maintainer, and then they’d apply it on their side, do code review, email you comments, etc. until it was in an acceptable state.

There’s also the full kernel development wiki that goes into all the specifics: https://www.kernel.org/doc/html/v4.16/process/howto.html

(I never got through the whole thing)

permalink
report
parent
reply
10 points
*

ELI5: Git has tools built-in to put your changes into emails and send them. People can either bring them in or see the diff in the emails.

Reading and interactive tutorials:

  1. https://useplaintext.email/
  2. https://git-send-email.io/
permalink
report
parent
reply
4 points

Awkwardly. Pretty much generate a patch and email it as an attachment.

permalink
report
parent
reply
2 points

by writing your diffs with red and black ink, like the Aztecs did

permalink
report
parent
reply
11 points

I won’t speculate as to why, but it looks like the new generation doesn’t like c and c++.

It’s not that hard to know why - these languages have footguns literally everywhere. They seem simple and powerful at first, but they turn into a monster soon enough. There are simply objectively better alternatives today, like Rust. It shouldn’t be surprising, it’s been so many decades after all.

permalink
report
parent
reply
5 points
*

I’ve heard a lot about Rust. I’ll have to look into it. I hate myself so my preferred language is PowerShell.

permalink
report
parent
reply
4 points

I’ve written a million lines of powershell in the past few years for stupid business reasons. I fucking hate the language and I don’t see why anyone would write anything serious in it

permalink
report
parent
reply
4 points

All the old people have learned the old systems (C, Perl, etc) and don’t want to have to learn something new, whereas young people are happy to use something newer and better (Rust, Typescript, etc.) because they don’t mind learning and don’t have a ton of old knowledge to throw away.

Yes that’s a big generalisation and there are plenty of exceptions, but in my experience it’s broadly true.

I work on an open source project which has a C component. I offered them our closed source C++ version which is way better and fixes a load of issues… Not interested. They learnt C in the 70s and don’t see why they should have to change.

Actually that project is a mix of old curmudgeons and young PhD students so there is a bit of a mismatch, but I didn’t feel like fighting the naysaying so…

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

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 !webdev@programming.dev



Community stats

  • 3.1K

    Monthly active users

  • 893

    Posts

  • 7.7K

    Comments