[FRC Blog] Beta Testing and Usage Reporting

The trouble is contributors generally don’t know all three languages. They’d need to take PRs on their PR branch for the others. Making feature branches on allwpilib is a non-starter because we can’t give people push permissions like that and trust them to not break the repo history. People can be very bad at Git.

If you make a PR intended to go on a feature branch, a maintainer would need to make the branch first, which makes initial contributions harder.

I guess the Linux kernel solves all this with a staging area.

The majority of productive discussion between currently-active devs goes on in the programming discussion channel of the FRC discord.

1 Like

I can think of at least four million places I’d rather spend my time.


Kicked the ball into your own goal there.

How so? They don’t use feature branches.

I mean, that’s entirely your prerogative; but we’re almost certainly not going to be moving any time soon. It’s taken the better part of two years to get the community of people we have contributing code/docs/etc in one place.


I do not feel that a project the scale of WPILib should have its discussions mostly confined in a single (or two? dunno) channel(s) often filled with memes. If I ask a question in there, it would be drowned out and never seen again within 3 minutes.

1 Like

This is…very much not true.


False. Most discussion on that channel is wpilib devs nowadays, and I read all the traffic.

1 Like

Unless there’s been a major restructuring of the server or we’re talking about two different channels here, the last time I was in there (in comp season), the programming channel was essentially general discussion 3. I’m happy to be wrong, but that’s certainly the impression that was given off for a long time.

Anyway, if I’m wrong, I concede; not something worth arguing over.


Kernel dev uses trees and most of those have loads of branches.

1 Like

I’d also be worried about this. Python is great for many things, but I’m not certain that a high-level interpreted language is a good choice for realtime embedded applications.


Java’s out too then. :grin:


We could just turn WPILib into ROS. That’ll surely be better, and then will be language agnostic :stuck_out_tongue:


Don’t get me wrong, I only use Java because I haven’t yet been able to convince my team to switch to something else. But then, I’m old-fashioned. I like microcontrollers that I can program in ANSI C with static memory allocation.

1 Like

Nim would be neat. Syntax of Python with the performance of C++.


It’s almost like using a language that has the most resources and support from the community is a good thing.

But what do I know? I only work in the “industry” as a Java developer.


Debatable. If everyone decided that they love INTERCAL, that still wouldn’t make it a good choice.

1 Like

One thing I’ve learned in my job is just because industry does something, doesn’t mean it’s a good idea for maintainability or support reasons. Some of this code I work with is older than I am. It’s the lava flow antipattern, I think.

When I was sailing competitively in college my sailing coach had a saying: “50,000 Frenchmen can’t be wrong.” If the rest of the fleet is sailing off in one direction and you’re sailing the other, you may want to reevaluate what you’re doing.