Is C# compatible with VEX V5?

Is C# compatible with VEX V5, and if not, is there a way to convert it to be compatible? Thank you!

I really don’t think so because C# is a server-side scripting language. It wouldn’t really make sense to use it for robotics. But then again, VEX says they’re working on enabling JavaScript to work with V5…doesn’t make any sense to me but okay.

Java, on the other hand, would be amazing. I would love to see that become available to use with V5 or even develop that myself if I get some support.

7 Likes

Why not try it? If you do a little research, it isn’t terribly difficult to get any language that can compile to a binary for armv7a-none-eabi and link to the pros kernel to work. I actually made the language Rust work on v5 a while back. Java might be trickier, though, since it compiles to JVM byte code rather than to machine code. You would either need to find a way to compile that into a v5 binary, or create a java virtual machine that runs on the brain. I’m not sure which is the easier option, but I’d go with option b since with a I have no idea how you would link that with v5rt. Wikipedia has a list of open source jvms you could give this a try with. JamVM looks like a good candidate; its written in C and is designed to be pretty compact.

1 Like

I don’t have enough knowledge of computers to even know how to start. If you would be willing to, I’d love PM me with a brief overview of some of the concepts that I need to understand to do something like this. My knowledge of programming and computers is at a very high level and I’m not sure how to go about learning more. Anyways, let’s continue this conversation in a separate thread or in a PM to keep this thread on track.

The main issue (or one of them at least) is that the various kernels aren’t posix compliant. I imagine that’s the minimum bar that the c# virtual machine expects. We’ve done some work towards this for the pthreads part here for pros. That’s only one part of the spec though.