![]() |
What programming Language To Use??
Hey guy i have a question
what program language should we use this year. our programer is very good in C Language but he is the only one who know how to use it so what your opinion should we use LabView this year or C++. |
Re: What programming Language To Use??
So, to be clear, is there only one programmer? If that's the case, and he knows C very well, then it's logical to use C++ instead of something else that he's not as good with.
In the end, there really aren't that many differences between the functionality of each language, so it's best to use whatever the programmer(s) are comfortable using. |
Re: What programming Language To Use??
If anyone on your team has played with Lego Mindstorm then LabView is not very hard to use or to learn. But basically whatever langue you use, make sure your programmers learn it before kickoff.
Oh also if your programmer/s have only programmed in text based programming languages then LabView is not a good choice. Because while there are a lot of similarities between the two styles programming in a picture based programming language requires thinking about the programming differently. LabView programming ends up being very similar to making a tiered cake while text based programming is more like writing an instruction manual. |
Re: What programming Language To Use??
This is one of the more popular questions asked on Chief Delphi. Try using the search function for looking at threads in the last three years that discuss the pros and cons of Labview, Java, C++, Python, Lua and my favorite Robot COBOL. (Ok, so there isn't a robot COBOL).
But in prior years people have written about the issues around Mentors that know/don't know the languages, mentors that are new to robot programming, and the same set about students. Take a look at them and then come back and ask your specific questions. Thanks! |
Re: What programming Language To Use??
Although my answer is biased (We use LV), I would say use whatever the majority of your programming team is familiar with. If it is just him, have someone younger shadow him - so that when he is gone your programming team isn't. One of the worst things that could happen IMO is that he leaves the team and not a single person can utilize and read the past code - especially if you want to modify something for off-season or use the code as a base later on. Labview allows us to focus on programming concepts and getting the ideas down - we aren't forced to deal with debugging syntax errors (and as someone who programs in C++ regularly, I can tell you that you will spend a lot of time doing just that.)
|
Re: What programming Language To Use??
Your ONE programmer knows C.
If this ONE programmer is the only ONE who will program this year, then C++ is the way to go. If you are planning on having more programmers, especially those who haven't programmed much before, then LABView is an easy language to learn, so I hear. OR, if your current ONE programmer is capable and willing, they could teach others how to program C++, however it is tough to find a good teacher in most students when it comes to programming C++. Notice the ONE word I put in all caps? My little bit of advice to you: If you can, have more than ONE programmer. It's an important job that requires lots of work and skill, and for some strange reason robots won't run without it. :p |
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
With the templates provided, you will find that you can program a robot easily in any of the 3 languages supported. I have found that debugging is easier in Labview. You should also look to the teams nearby. It is important for FRC teams to help each other, so ask!
|
Re: What programming Language To Use??
ok thank you
|
Re: What programming Language To Use??
Because the language you choose is [usually] the first language your programmers will learn in, I would recommend against LabView, but if you can't get a mentor or student who knows a different language, then LV is the way to go until you train students in a different language.
|
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
To address the original poster, I vote for Scala :p. |
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
Or did you have something else in mind? |
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Folks,
Bear in mind here that the object of FIRST is not to produce software engineers; it is to inspire kids to get interested in STEM careers. If we can get them hooked with Labview or Java, that's all to the good. I think the key here is not to let the kids founder. The team needs to pick a programming tool that is well supported and that a mentor can help them with. FIRST does a great job producing tools in all 3 supported languages. Every team should have a mentor (either close or on-line) that can help them succeed. |
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
Quote:
|
Re: What programming Language To Use??
Quote:
Quote:
|
Re: What programming Language To Use??
Quote:
Person "A" learns SML as a first language (for one year) and then studies C++ for three years. Person "B" learns C++ as a first language for three years, then studies SML for one year. I'd say order doesn't matter, or if it did, then it's arguable which Person is better off. |
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
Person C uses LabVIEW for FRC programming for three years, then goes to college and studies C++ for four years. Person L uses C++ for FRC programming for three years, then goes to college and studies LabVIEW for four years. |
Re: What programming Language To Use??
To move the conversation away from the particular, think about programming languages as just that, languages. The universal language is, of course, mathematics. Each programming language is another way to express those relationships. Granted they are different, but I disagree that learning another language requires 'unlearning'. I think the power of learning additional languages is the capacity to get your mind around problems in different ways. Different problems require different tools. I would think a company would rather hire a multi-lingual programmer who can find the best solution for a given problem.
My son, a FIRSTer who is now an ME at Electric Boat, learned C for FIRST, Labview at WPI, then used an Arduino for his capstone project. When a certain problem required a unique approach, he was the only ME in his group with the requisite programming skills to handle the problem. So look at learning a number of programming languages as building a toolkit for your future! |
Re: What programming Language To Use??
Quote:
Learning the fundamentals of any programming language (not counting things like BEFUNGE or Kipple) can be done in a few days, and it shouldn't take more than a month of appropriate exercise for someone to become productive. In my experience as a team mentor, learning enough LabVIEW to program an FRC robot takes less than two weeks for someone who wants to learn but has no previous programming experience. I've never watched anyone use C++ in the same situation, but I can't imagine it taking much longer. The biggest thing I think you're missing is that learning two markedly different languages is a good thing. I agree with whoever it was who said that the most important programming language someone can learn is their second one. |
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
In Atlanta a few years ago, I said that the most important language a CS student would learn would be their second. Without belaboring the topic, here is my justification.
By the time I started college, I only knew one language, BASIC. I had rather extensive experience in computer math, solving sets of equations using various linear algebra approaches, plotting polynomials on a screen or printer; not CS, but CM. My first college course taught C, and while I sort of knew what pointers were, I saw no real value in them until I learned C. Wow. Then I thought I knew it all. Follow-on courses were in Pascal, FORTRAN, and assembly, and honestly weren't differentiated enough to displace C as the reference language in my head. Then I had an AI course and we were given problems that would be near impossible in C. Fortunately, we were learning lisp as the course language, and it became apparent that computers were capable of being far more than procedural machines. As others have said, any of the languages offered in FIRST are capable and offer good learning experience. The libraries are distributed in source form, and using similar terminology and implementation. This was done to allow easier comparisons and to allow students using different tools to hopefully communicate at the level of the problem rather than at the level of the tool, thus being exposed to more tools. In all, I'm happy that FIRST now has multiple languages actively supported. I see teams being successful in all of them and transitioning to gain different experiences. To the original poster -- there are no bad choices. Balance the opportunities with the risks, and invest as much time and energy as you can afford into this program. Greg McKaskle Greg McKaskle |
Re: What programming Language To Use??
Quote:
You had staked out the position that learning LabVIEW as a first language was a bad thing. The scenarios I presented were intended to illustrate the point I have been trying to make: that it's not what language you learn first that matters... it's what language you have studied in more depth and used more extensively and recently. |
Re: What programming Language To Use??
Guys, occasionally the long term is important. Right now, your programmer is good in C. Eventually though, he won't be on your team anymore. Java is the easiest language to use, in the long term. Windows, Mac, doesn't matter, Java will work. In addition, I've tried to work with both, and C is much harder to learn fresh than Java. If you use Java now, you can get people accustomed to it and its effects, before it becomes neccasary. If you use C, and then that guy leaves, you either need somebody to use C, or switch over your entire team. Which is less jarring? In the ed, it's your teams decision, but my vote, if I was you, would be for Java.
|
Re: What programming Language To Use??
Quote:
Before I knew LabVIEW existed, I programmed in assembly, Fortran, BASIC, Pascal, Tcl, and C. There was indeed a bit of unlearning that I had to do before I could comfortably program with LabVIEW, but it wasn't actual programming knowledge I had to lose. I just had to give up some of my assumptions about how programming languages work. It's no harder for me to program in C++ now that I also know how to program in LabVIEW. With my long-time and wide-ranging programming experience, I think LabVIEW is by far the easiest FRC-supported language for a beginner to use, and I see absolutely no downside to it (other than requiring a capable computer). A good mentor with experience in a different language can tip the balance to C++ or Java. With the comprehensive support provided by NI, a mentor who's willing to learn LabVIEW along with the students might be even better. |
Re: What programming Language To Use??
if that programmer knows C code then he should train the rookies to use it as well as himself::rtm::
|
Re: What programming Language To Use??
Do it in Python, its way easy to learn and definitely usable in the real world. :yikes:
|
Re: What programming Language To Use??
@Chris, yes, I hold a similar viewpoint.
Oh, and: Quote:
|
Re: What programming Language To Use??
Quote:
|
Re: What programming Language To Use??
Quote:
#1 LabVIEW #2 C++ #3 Java #4 Python (distant 4th) |
Re: What programming Language To Use??
I don't know why I'm weighing in on this discussion, as there are so many other threads about this topic, but the concept of which language to learn first, and the intent of FRC programming in general, intrigued me.
The first language I ever used was VBscript (to write message boxes in infinite loops for unfortunate people who left their computers logged on), and around the same time I learned Mindstorms NXT-G (a cousin of LabVIEW). Learning both right after each other taught me a lot about program structure, but that still didn't mean I really knew a lot about good code. Fast forward to now. I've used various languages, including LV, Simulink, Matlab, Perl, various forms of embedded C (easyC, PIC C, HCS12 C, and a bit of C for Linux/Windows terminal programs), and a little bit of Java. That said, I have worked with three programming paradigms (Graphical/Data Flow, OOP, and Procedural). As I used each language, I gradually found specifics in some of them that made implementing some things much easier (I never really got this far with any OOP language, I'll admit). I found which languages made sense for my projects (usually either C/Matlab or LabVIEW/Simulink), and used it as much as I could. But, I always start with the software design in my notebook, looking at what the goals of the software, any special mathematical equations, and the general structure before I look at language specifics. If you understand the concepts, then it's just a matter of knowing the syntax. While different languages are different in their implementation, the same basic math and same goal of the software is usually the same, and can be implemented in any of the FRC languages available. Whenever I teach programming to FLL students (and freshmen), I always start with the ideas and concepts of programming. These fundamentals are much more important for basic programming skills than the actual language syntax. Knowing how you want the program to operate, how to use logical operations, math, state machines, and various other control strategies is (to me) the key to FRC programming, not the language itself. That said, if you have a mentor with significant knowledge of any language, you should pick that language, as the mentor will be able to help you tremendously. If you don't and will be relying on community support, LV has a great support group (and the NI guys and CD community will help you out). |
| All times are GMT -5. The time now is 18:54. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi