|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
FR-C# -- Microsoft C# for the roboRio... ANY interest?
One of our students, Ryan Cooper - a Microsoft Imagine Cup Finalist, has successfully ported his own code base of C#, incorporating a forkful of RobotDotNet, to run compiled on the roboRIO.
Since our founding we've had the benefit of a C++ professional programmer as a mentor and we've been C++ Beta Test team for the last 4 seasons. Our internal debate is whether moving to C# and away from C++ may be useful for student programmers in the long-run and MAY BE something we could contribute and maintain for the FRC community to use in addition to C++, Java, Python, and LabView? We're calling Ryan's version FR-C# (my _only_ contribution - lol). We would love some feedback and opinions on moving to C#... and whether there would be a significant enough interest among FRC teams for 3481 Bronc Botz moving to formal publishing/maintaining of FR-C# for competition use by FRC teams... --Michael Blake Last edited by Michael Blake : 22-07-2015 at 14:22. |
|
#2
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
I have heard from a few teams that were interested in using C# to program their robots, especially with a good simulator base, which is almost complete, and will be complete by Kickoff 2016. We should collaborate on this, so we don't have 2 separate code bases for the same language. |
|
#3
|
|||||
|
|||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
I've always thought C# is the perfect mix of low-level, high-level, intelligent design programming for robotics.
We'd love to see this!! |
|
#4
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
AND yes, we should look into collaboration or a joint-venture on this _after_ we decide to commit to C#, which is in question, just as long as you agree "FR-C#" is better name... lol ;-) --Michael Blake Last edited by Michael Blake : 22-07-2015 at 14:30. |
|
#5
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
Ah. He messaged me about a month ago asking for some help getting mono up and running, and help with a bug. If you guys need any more help, especially with the HAL interface, don't be afraid to ask. I did find a few oddities with the interop that was causing crashing with certain code setups. |
|
#6
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
We're spending time deciding IF we even want to leave C++ and move to FR-C#/RobotDotNet... the way Ryan described it on the internal thread was he "used a fork[ful] of [RobotDotNet]" and then proceeded to flesh-it-out going his own way on the code base... so IF we do anything that stays on our own (using internally) in C# proper attribution to RobotDotNet will be provided, IF you give permission on that "forkful"... but should 3481 go C# we should probably combine our efforts and spread-out the workload... --Michael Blake Last edited by Michael Blake : 22-07-2015 at 14:41. |
|
#7
|
|||
|
|||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
(More license info can be found at http://choosealicense.com/licenses/bsd-3-clause/). That being said, I would like to see the projects merge together (and I like the FR-C# name better). I'm a secondary contributor on RobotDotNet, but I've been really busy with work and other projects (including v1 of a scouting data collection platform for my alumni team and FRC as a whole) to put time into RobotDotNet. |
|
#8
|
|||||
|
|||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
|
|
#9
|
|||
|
|||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
C# is a more expressive language than Java. It also has terser syntax for accessors (which WPILib uses a lot). It also has a better native code interface (P/Invoke is much simpler to set up than JNI and much faster). It also has the native byte ordering of its platform, requiring less work for interfacing with sensors (Java has to swap the bytes all the time).
Additionally, one of my personal goals for a C# WPILib (slightly different from Thad House's goals and possibly the goals of FR-C#) is to be able to use C# to create a simpler and more expressive WPILib that utilizes the language and the framework to create a more streamlined development for programming teams instead of just cloning the official library (which does not utilize many of the features of languages it exists in). |
|
#10
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
After working with it, it has alot of the advantages of C++ without the disadvantages of Java. Working with the FPGA is much easier then Java, and I was able to get rid of alot of the extra fluff in Java. Also, because of the DLR, and the good graphics libraries for C# compared to Java, building an efficient and useful simulator is much easier then it would be in Java. In addition, since I built it at the HAL level and not the WPILib level, changes to the WPILib only have to be done once, unlike Java and C++, and the sim 254 built, where the sim is actually a copy of the wpilib. Note that much of this should actually be attributed to the Py guys, because I borrowed the implementation from them |
|
#11
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
I feel like building streamlined / more native extensions/frameworks/etc are better suited as libraries that can be used on top of / alongside WPILib, to allow more advanced teams to use those if desired, but let the new teams stick to the FRC documentation AND use a cool language. |
|
#12
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
|
|
#13
|
||||
|
||||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
This is a very cool exercise and instructive for those involved. The skills of elite student programmers never ceases to amaze! But FRC-wide I'm not sure introducing another language is worth it. C/C++ and Java are still the most popular languages in industry and LabView comes from a big FIRST sponsor. Learning C/C++ and/or Java/JS will help the bulk of FRC programmers at the university and professional level more than C#, at least today.
|
|
#14
|
|||
|
|||
|
Re: FR-C# -- Microsoft C# for the roboRio... ANY interest?
Quote:
The main changes I wanted were properties, some back-end changes to support new libraries on top, and new methods on existing classes. Some of them I still haven't mentioned to you because I've been too busy to actually design implementations myself. I'll set up a pull request for one of the simpler ones hopefully this week. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|