this post was submitted on 15 Jul 2024
315 points (99.1% liked)

Programming

17313 readers
34 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 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Solemarc 123 points 4 months ago (4 children)

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.

[–] CMahaff 89 points 4 months ago (1 children)

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.

[–] [email protected] 17 points 4 months ago (4 children)

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

[–] CMahaff 22 points 4 months ago

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)

[–] [email protected] 10 points 4 months ago* (last edited 4 months ago)

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/
[–] [email protected] 4 points 4 months ago

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

[–] eager_eagle 2 points 4 months ago

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

[–] [email protected] 11 points 4 months ago

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.

[–] [email protected] 5 points 4 months ago* (last edited 4 months ago) (1 children)

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

[–] [email protected] 4 points 4 months ago

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

[–] [email protected] 4 points 4 months ago

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