View Single Post
  #38   Spotlight this post!  
Unread 12-06-2003, 09:55
leo_singer's Avatar
leo_singer leo_singer is offline
Registered User
#1111 (Seahawks)
Team Role: Programmer
 
Join Date: Mar 2003
Rookie Year: 2003
Location: Edgewater, MD
Posts: 15
leo_singer is an unknown quantity at this point
All in all...

OK. In review ...

Whatever language we end up with, it seems pretty well established that it'll be one of the following. I present this list in order of my estimation of likelihood.

1. Faster PBASIC
2. Another BASIC dialect
3. Java
4. C
5. C++

Let's compare them.

[P]BASIC:
+Easy to learn, a derivative of one of the oldest computer languages.
-Limiting in that it provides only for sequential programming (arguably a fitting model for some strategies), difficult to program in a structured fashion

Java:
+Object-oriented, maniacally so. Syntactically ideal, inherently prevents many kinds of logic errors. Portable, not too difficult to learn. Already popular.
-Restrictive syntax often complicates coding. Syntactic sugar counts for something.

C:
+Popular, ubiquitously so. Reliable, preposterously fast. Very common in microcontrollers. Enormous base of knowledge.
-Much more difficult than Java and BASIC. Generally compilers don't catch all the dumb errors Java does.

C++:
+Proven to be just about as reliable as C. OOPic like Java. Permits lower-level operations, like pointer operations and memory management. Plenty of syntactic sugar.
-A wee bit slower than C. The most complicated syntax of all four languages. Arguably the most difficult to learn.

As promising as many newer languages -- like Python, this Omnicron, and so forth -- may be, I don't give them any serious consideration as a candidates for FIRST. Plus it's rare to find such languages in embedded packages except, of course, in single-board Linux machines. And those can be expensive.