Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   What programming Language To Use?? (http://www.chiefdelphi.com/forums/showthread.php?t=98215)

Ether 14-11-2011 09:30

Re: What programming Language To Use??
 
Quote:

Originally Posted by Chris27 (Post 1084987)
Seriously? You believe both will graduate from college with the same set of qualifications/skill sets?

No.

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.



nssheepster 14-11-2011 09:52

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.

Alan Anderson 14-11-2011 11:00

Re: What programming Language To Use??
 
Quote:

Originally Posted by Chris27 (Post 1084950)
To think about these concepts in another programming paradigm would take more effort...Switching from one programming paradigm to another requires a period of "unlearning" things.

If you have the programming knack, it shouldn't be something that you have to do each time you "switch" between programming paradigms. It's a one-time thing that you must work through when you first encounter a novel paradigm.

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.

maxwellt 14-11-2011 11:27

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::

virtuald 14-11-2011 13:56

Re: What programming Language To Use??
 
Do it in Python, its way easy to learn and definitely usable in the real world. :yikes:

ahollenbach 14-11-2011 14:33

Re: What programming Language To Use??
 
@Chris, yes, I hold a similar viewpoint.
Oh, and:
Quote:

Originally Posted by Chris27 (Post 1084908)
To address the original poster, I vote for Scala :p.

^ditto :P

ahollenbach 14-11-2011 14:38

Re: What programming Language To Use??
 
Quote:

Originally Posted by virtuald (Post 1085049)
Do it in Python, its way easy to learn and definitely usable in the real world. :yikes:

In a way, Python is one of the easiest languages to hit the ground running, in that it's syntax is often like English.

Ether 14-11-2011 15:07

Re: What programming Language To Use??
 
Quote:

Originally Posted by ahollenbach (Post 1085059)
In a way, Python is one of the easiest languages to hit the ground running, in that it's syntax is often like English.

The issue, as discussed on other threads concerning this same topic, is support:

#1 LabVIEW

#2 C++

#3 Java

#4 Python (distant 4th)



apalrd 14-11-2011 22:01

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