Quote:
Originally Posted by yara92
Choosing Between programming language
Which reasons for choosing on programming language over the other? Choosing Between C++ and Java or LabVeiw.]
My Question is which parameter I should concern for choosing the programming language such as : Friendly to use; simplest; etc..
|
Mohamed,
I would recommend using whatever language your team members (students and mentors) have the most experience with. All three languages are equally capable and more powerful than necessary for FRC. If your experience is roughly equal in all languages then here are some of the benefits of each to consider.
C++: C and its variations are the most common languages used in industry and academics today. Applications for C++ range from embedded software through high level applications programming. Learning C++ would likely give students an advantage if they pursue engineering at university.
Java: Java is similar in complexity to C++. It has the advantage of being platform independent (meaning that code you write for one operating system should work on a Java VM for any operating system. Java is not as popular in industry as C/C++ but it is still used. In the US Java is the most popular language for High School students to learn because it is used on the Advanced Placement test for college credit. Learning to program in Java makes it a lot easier to learn to program in C++ later, most of the skills are transferable between the two languages.
LabVIEW: LV is a much more application specific language. There are plenty of companies that use LV but there are even more that don't. LV is fast and powerful and National Instruments provides fantastic support. In my opinion LV is the fastest and easiest way to get a robot programmed, if those are the most important things to you I strongly recommend LV.
In general I would say that you can pretty much flip a coin between Java and C++. I think the bigger decision is whether you want to use LabView or one of the traditional languages (Java/C++). I think LabView is the easiest to learn and get started with but I think that there is great value in teaching students one of the other languages. The skills learned using Java and C++ are easily transferred to other languages later. These same skills can be learned using LabView but because of LabView's graphical nature it is much easier to get away with poor coding practices.
Over all there is no one right answer, as a team you need to weigh the pros and cons of each language and decide what is best for you.