Log in

View Full Version : New programming language next year?


Mike Alighieri
07-06-2003, 23:29
OK, now nobody flip out... but well, I've heard we're getting a new Controller next year. Got announced at a meeting last week. And they won't comment on whether or not it uses PBASIC. Perhaps Java? Who knows, but I say they should leave it as is. We're used to PBASIC! We can adapt either way though. Has anyone else heard about this?

Dave Flowerday
07-06-2003, 23:44
It was announced at the Team Forums that there would indeed be a new robot controller, and it would use a new programming language.

The FIRST representatives also indicated that teams would be made aware of this language in the fall in order to prepare for it.

Of course, as with everything in FIRST, this could all change.

WakeZero
08-06-2003, 00:24
I just pray it is C++ :D

That's what it should be anyway :rolleyes:

Mike Alighieri
08-06-2003, 00:25
Thanks to Dave Flowerday for clearing up the issue of the new language being a rumor. FIRST has good minds behind it though, and I trust them to make a good choice. I suppose the biggest question will be whether or not it's similar to PBASIC or more object oriented. Any opinions? P.S. if anyone wants some old PBASIC code from this year, then drop me a line at BonsaiMagpie@aol.com. I worked on autonomous and came up with some pretty nifty stuff. Good bit of code for potentiometer matching with incorporated motor ramping.

Ian W.
08-06-2003, 00:36
Object oriented is good. It's nice and happy and easy to use :p. Well, at least after two years of C++ and two weeks of Java (Applets).

Mike Schroeder
08-06-2003, 01:38
They never acctually verifed gettinga new controller, they said somthing about IFI possible creating a new robot controller for next year, they never said it was 100%

GregTheGreat
08-06-2003, 03:10
If they do, C++ would be a likely choice.

FotoPlasma
08-06-2003, 03:51
All I heard from the FIRST representative was that IFI has been upgrading the control system, and should be releasing information about the changes within the next month or two. Nothing was said about a new language.

All we can do, at this point, is wait.

/me reloads IFI's website looking for any sign of news.

Dave Flowerday
08-06-2003, 09:21
Originally posted by "Big Mike"
They never acctually verifed gettinga new controller, they said somthing about IFI possible creating a new robot controller for next year, they never said it was 100%
Well, I suppose it depends on which forum you went to. I believe the quote from the Illinois forum was "There will be a new robot controller next year."

Personally, my guess is that it won't use PBASIC, simply because we're already using the fastest BASIC Stamp. C++ isn't very realistic for a low-cost embedded microcontroller. Too much overhead, and too much code space required. C might happen, but honestly I think that would be just too complicated for a good percentage of teams to deal with (teams that don't have software types as mentors, and don't have any students who already know it). I can only hope they don't use Java (I've never used a Java program that didn't feel slow and bloated, and I imagine a microcontroller based implementation wouldn't be much better).

I would expect so see something like the BasicX chip: for one thing, it's pin-compatible with the current controller, meaning IFI could probably drop it in to their current control system with no other hardware changes. It uses a dialect of BASIC, which is nice for inexperienced teams. It has 400 bytes of RAM and executes 65,000 instructions/second versus the BS2SX's 10,000.

Anyway, this is all speculation on my part. I believe we really will see a new user CPU next year, but like I said before, it's all up in the air until you hear the official announcement.

Joe Ross
08-06-2003, 10:23
Just based on a previous conversation with a FIRST staff member, I don't think IFI will settle for "only" a 6.5x increase in speed.

I agree that C++ is not a likely choice. In my mind, it will either be C (the most popular microcontroller language) or java (the current most popular teaching language). Considering that AP CS is switching from C++ to Java this year only makes me think that they are less likely to use C++.

Matt Leese
08-06-2003, 18:04
I know that a few years ago Eric from FIRST was interested in allowing either C or Java programming to be used for programming the robot controller. However, at the time, he was adamant that any change of language would be an "in addition to" PBasic and not a replacement.

My bet would be that we'll switch to Java as there is a JStamp out there that's almost pin compatible and runs Java.

Matt

Raven_Writer
08-06-2003, 18:30
I hope it's C. I know that language decent.

Java is C++ for the internet in my opinion. They are both OOP.

Ian W.
08-06-2003, 21:11
if i can do regular math (with none of the crazy MAX/MIN/adding 2000 to each equation) i'll be happy.

if i can store more variables easier, i'll be even happier.

if it runs at a respectable speed, i'll be very happy.

the problem is, if FIRST wants more autonomy, we need better controllers. it looks like it's going that way.

one other interesting point that was brought to my attention today...

We presented our robot at a local fair-type day (main street is closed, vendors set up shop, everyone has a good time). many people, when corrected about the FIRST/BB issue ;), asked about the controller. When I explained how we were forced to use the IFI one, many people said, "oh, that's dumb, you can't do anything with it." which brings me to my point, that being, with this new controller, will we have more options on the EE/SE side, similar to what the MEs have already?

Alfred Thompson
08-06-2003, 22:08
C++ is more likely then Java. Even though Java is coming around for embedded applications C and C++ are more common. Of course if I have my choice it would be C# but that's unlikely. I think it will still be some sort of BASIC though. BASIC rocks.

pauluffel
09-06-2003, 02:32
PYTHON!!!
(I can"t code much more than a "Hello World," but I like python and the nerds I deal with dig it too.)
Anyone know how python compares to these others as a potential language for small robot controllers [in general, not just for FIRST next year]?

::Runs back into shop and hides from angry programmers::

Raven_Writer
09-06-2003, 07:47
Originally posted by pauluffel
PYTHON!!!
(I can"t code much more than a "Hello World," but I like python and the nerds I deal with dig it too.)
Anyone know how python compares to these others as a potential language for small robot controllers [in general, not just for FIRST next year]?

::Runs back into shop and hides from angry programmers::
Python is more on the DOS side-of-programming. Delphi would be more possible out of the two I think (Delphi is a superset to Python like C++ is to C).

Matt Leese
09-06-2003, 08:11
Originally posted by Raven_Writer
Python is more on the DOS side-of-programming. Delphi would be more possible out of the two I think (Delphi is a superset to Python like C++ is to C).
No, it's not. Delphi is based on Pascal (basically it's Object Pascal). Python is a completely separate language. They may have some similarities but they're separate languages.

Matt

Brandon Martus
09-06-2003, 09:21
Originally posted by Raven_Writer
Python is more on the DOS side-of-programming. If by 'DOS side-of-programming' you mean text-based programming, then yes. Python works on Macintosh, Unix, Windows, and more.

Joe Johnson
09-06-2003, 10:26
A lot of great thoughts on this topic.

I agree with the idea that C would totally freak out the vast majority of FIRST teams. That doesn't mean it wouldn't be a good choice, just that it is going to mean a lot of teams will run with the default code just for fear of the dark...


What I REALLY want is what I probably will not get: A multitasking kernel and a means of having access to real time interrupts.

Why?

Because the lower 75% of teams were killed by the autonomous programming this year. Why was that? Because of 2 things (in my opinion):

#1, Programming of ANY kind was hard due to the nature of the multiple things that have to be controlled on a typical robot.

#2 A serious autonomous mode all but required a co-processor on the custom circuit board.

The programmers have the best and the worst job in all of FIRST. It is the best because when a program does its job, the coder can stand up and take well deserved bows. It is the worst because of the 6 weeks and 3 days FIRST teams have to complete their robot, building & wiring & mechanical debugging the robot usually takes 6 weeks, 2 days and 23 hours -- leaving about 1 hour to complete the task of writing bug free robot code.

A multitasking kernel will VASTLY simplify the coding time required to make a robot work (wheels task, arm task, gripper task, switch debounce task, joystick filter task, etc. easy and independent).

Access to real time interrupts would make a competitive autonomous mode within reach of the lower 75% of teams. By the time most of these teams realized they needed a more complex custom circuit board than they had planned, there was no time left to actually implement it. Giving teams access to real time interrupts (in a way that would not frighten them off), would allow for a competitive autonomous mode without a co-processor on the custom circuit board. This will allow more teams to have competitive autonomous programs.

Multitasking is going to chew up RAM so gobs more RAM is probably a side requirement of getting what I want.

For what its worth, I have evaluated BasicX as a result of some of the folks on this forum saying it was a worthy replacement for STAMP2. I think not. While it has a number of great improvements over PBASIC, it has its own set of issues. Mostly they come down to not having enough RAM to allow for mere mortals to use multitasking without crashing the system by overrunning the stack. 400 bytes seems nice until you actual try to do something -- like put a print.debug statement somewhere in your code.


My current favorite is Basic-Tiger. Many, many pluses to using this chip. The only minuses are is that it is a German company (translated manual -- yuck) and (not unrelatedly) the chips are a bit pricey.

Like I said, I doubt I will get what I want, but that does not keep me from asking...

Joe J.

Steve Shade
09-06-2003, 10:31
I used Python last summer on my internship . I was a Systems Engineer for the team so I didn't do a whole lot of coding, but the one problem I found with the language is the limitations on bit level manipulation. One of my projects was to work on some CRC Coding and it was some of the ugliest code I have ever developed. I believe that code is still in use because there is no easy way to do the bit manipulation that happens in the encoding process using Python. I really like having these bit manipulation functions when programming robots because it simplifies life a lot. Python is a great language, very portable, but not for what we are doing with a micro-controller.

Steve

mickjagger
09-06-2003, 10:33
When it comes to the programming language, I think the new controller should be flexible. Something like the OOPic, where you can program in Basic, C, or Java. This would cover all of the bases and allow a team to find a programmer comfortable in at least one of those languages. However on the hardware side of things, the OOPic is still probably a little slow. It does allow for more program storage and easy networking of co-processors though. However my vote, if it counts, would be for a multi-language platform.

Not2B
09-06-2003, 17:30
The OOpic is great for that multi-language ablity.

Since I'm a mechanical guy, I need all the help I can get with electronics and software, and the OOPic is the easiest micro that I have found - and they are dirt cheap. And they are object based. And they can be networked together. And they have built in object classes. And they are great.

OOpic (http://www.oopic.com)

I have not checked out the OOpic II yet, but it looks like it is more of the same goodness.

Scudzey
10-06-2003, 00:57
personally, IMO, any oo language would be great. Right now im in the process of mastering JAVA, and learning C/C++. Both are simple, but JAVA is easier to learn. I hope that FIRST does go to some kind of a OO language, whether it be C/++, JAVA or even perl, ruby or python.

Alfred Thompson
10-06-2003, 07:08
Our team is already starting up a PBasic class for the summer. I'm just hoping that if the language changes FIRST lets us know early so we can learn it before build season. Programming a robot is enough work without having to learn a new programming language in the same 6 weeks.

Matt Leese
10-06-2003, 08:12
Originally posted by Steve Shade
I used Python last summer on my internship . I was a Systems Engineer for the team so I didn't do a whole lot of coding, but the one problem I found with the language is the limitations on bit level manipulation. One of my projects was to work on some CRC Coding and it was some of the ugliest code I have ever developed. I believe that code is still in use because there is no easy way to do the bit manipulation that happens in the encoding process using Python. I really like having these bit manipulation functions when programming robots because it simplifies life a lot. Python is a great language, very portable, but not for what we are doing with a micro-controller.

Steve
If you were looking for bit masking in Python, perhaps this class would help:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/113799

Given that I don't really know Python, I'm assuming that's doing bit masking properly (well, in this case it's just grabbing individual bits). However, I think you'll find that most programming languages deal with bit masking very similiarly to Python. From what I can see, it seems to (unsuprisingly) have the exact same methods of accessing bits as C does. Now, if you want a language that doesn't deal well with bitmasking, look at Java.

Matt

leo_singer
10-06-2003, 13:36
Personally, I'm no fan of PBASIC. But the only language I hate more is Java. Java became obsolete the moment Sun introduced it -- it's low performance, cumbersome, and crashy in most implementations of its interpreter. It's also occasionally favored by academia, which is why I have a distinct fear that the new processor will be Java based. Seeing as PBASIC was designed for programming newbies, I don't think C is much of a possibility. Same goes to a lesser degree for C++. So I'm banking on an upgraded Parallax stamp. But if it's C#, then I know there's something fundamentally wrong with the universe.

Alfred Thompson
10-06-2003, 15:11
What's your issue with C#? Unlike Java it is NOT proprietary. C# is an open standard while Sun owns Java outright. And C# is much improved over Java. Easier then C++ to use and much easier then C. Several companies are now out with good development environments for it as well. Have you tried it? I was a big BASIC fan for 30 years and C# is the first langauge to come out that has made me think of changing.

GregTheGreat
10-06-2003, 18:16
I would be surprised if they did not use some form of C. I think that it is a way to make a transition from student programming into "real world" programming. If you go up to almost any engineering student, that has or is currently going through a senior project, they will say that they know at least something about C programming. IT is very commonly used in the engineering field, and I believe that it is one way that FIRST is going to be teaching us even more "real world" experiences. The way I see it, what ever language they select, its just a matter of learning its limits, and spending the practice time with it. Remember if you already learned one programming language, I am sure you can learn another.

See you guys at IRI.

Matt Leese
11-06-2003, 09:42
Given that I teach Java based labs, I feel a bit of a need to stand up for the language. Basically, Java is quite a good language for Object Oriented programming. While some claim that it's slow, with modern Just-In-Time compilers this really isn't all that much of an issue anymore. Java will run just fine on most hardware. I'm not sure why being favored by academia is a bad thing for Java (surprisingly, academia also seems to like C++; I don't think that has any bearing on what quality of language it is). As for having a crashy interpreter, I've never had the official Sun interpreter crash on me. Microsoft's JVM is buggy but that's Microsoft's fault (there are rumours that this was done intentionally). As far as Java being cumbersome, I've not had any problem writing many different programs with it doing many different things. I'm not sure how Java was obsolete the moment Sun introduced it. While it does have a few short comings (generics being the major one which, thankfully, are being fixed in the next revision), they aren't enough to obsolete the language.

As for C#, it is very similiar to Java. Most of the changes are purely syntatical sugar. While it may have been released to a standards body, the key part of the language, the class libraries, is still proprietary and very much tied to the Windows Operating System (WinForms being the main culprit). C# was designed with minimal portability in mind. Unlike Java, it is not write once, run anywhere. I'd be very surprised to see a change to a C# based microcontroller if only because I don't think any exist (can anyone correct me here?).

My bet is that if we are switching programming languages it will be to Java. Using the Java framework it would be very easy to design a system that could easily be extended from a framework provided by IFI (namely, using object inheritance and method overloading). Given the direction that the AP test is taking, many colleges (which are switching their CS programs to Java), as well as industry (Java is heavily used on server-side development), I think FIRST will go with a Java based microcontroller if at all possible.

Matt

jon
11-06-2003, 11:50
C would be an obvious choice. It's the most popular language for microcontrollers now, even more than basic (including pbasic). C is the most popular language for everything nowadays it seems. There's no reason why it couldn't be C.

As much as I don't like Java, it would quite a reasonable choice as well with the Javelin Stamp and all.

Or how about BASIC, C, and Java syntax? That'd be the best route IMO. Allow the programmers to choose their language of choice. It's a possibility (http://www.oopic.com). I've been looking into the OOPic lately, and the more I do, the more I love. It has many advantages (http://www.oopic.com/vsbs.htm) over the Basic STAMPs.

*edit*
I just noticed Not2B pointed out the same thing. OOPs :D

Alfred Thompson
11-06-2003, 12:53
<quote>
As for C#, it is very similar to Java. Most of the changes are purely syntactical sugar. While it may have been released to a standards body, the key part of the language, the class libraries, is still proprietary and very much tied to the Windows Operating System (WinForms being the main culprit). C# was designed with minimal portability in mind. Unlike Java, it is not write once, run anywhere. I'd be very surprised to see a change to a C# based micro-controller if only because I don't think any exist (can anyone correct me here?).
<end quote>

Actually C# was designed for portability. You can run it on Windows, Mac OS X and FreeBSD already and people are working on a Linux version. This does include a lot of the class libraries, though not all of the WinForms stuff. But it's still pretty powerful and less proprietary then Java. And of course you can write a program once and run it on your laptop, your cell phone, your PDA and a host of other small devices. I love the PDA emulator for testing C# PDA programs using Visual Studio .NET BTW. It's been a lot of fun to play with. Hopefully I'll have a PDA soon but I can still program for it without one. In any case the .NET framework was designed from the ground up to be portable across hardware platforms and form factors.

Syntactic sugar being the only differences from Java? I don't think so. For example you can not overload operators in Java but you can in C#. And then there is the whole notion of wrapper classes for Java that you have no need for in C#. Java doesn't treat everything as an object and C# does. That's a pretty big deal in my opinion. That's just the tip of the iceberg too.

I don't know of a C# microprocessor yet but one day soon I have hopes. Just my opinion not based on anything I know.

leo_singer
11-06-2003, 13:57
Alright, I'll concede that C# is a viable option -- but as Mr. Thompson says there has never been a microcontroller based upon it.

Now, some more Java bashing.

I will not deny that Java is the only perfect language. Esperanto was perfect too. But the most useful languages do not necessarily have the most regular syntax. Because of the language's structure, Java compilers can static check for many mistakes that would become run-time errors in almost any other language. The trouble is that this same rigid style forbids the programmer to abbreviate, and often necessitates the circuitous style that epitomizes bad OOP. Java is C++ minus everything that has turned into one of the most widely used languages ever (second only to C). Java has no pointers, no multiple inheritence, none of the lower level features that make C and C++ so demonically fast.

Joe Matt
11-06-2003, 16:50
I highly doubt that the language will be too far away from PBASIC. Many rookie and smaller teams won't have the man power or resources to code in a drastically different program.

mtrawls
11-06-2003, 18:35
I don't know about that. Afterall, for a rookie team, it wouldn't be a "drastically different program[ming language]." :) And anyway, with a decent default program included, and perhaps some nice comments it shouldn't be that hard to learn another language. It's just a problem of syntax afterall, and there's tons of resources available on the web.

I don't know why "smaller teams" necessarily imply a lack of programming knowledge. But for the teams that indeed lack a lot of such knowledge, they probably didn't use anything but relatively simple (or should I say basic) PBASIC. And remember that
x = y + z is pretty much the same in any language (we won't get into the wonder that is Scheme).

Raven_Writer
11-06-2003, 18:38
There's this new language called "Omnicron" or something like that. It is like PBasic and C/++ in my opinion. It's quite good, and very easy to learn. Just search for Omnicron, and it should be somewhere (I can't find the link right now).

JLambert
11-06-2003, 23:08
Originally posted by mtrawls
x = y + z is pretty much the same in any language (we won't get into the wonder that is Scheme).

Or my personal favorite, prefix notation (Y = YZ+) which is apparently used in a couple lesser known forms of C++ and PASCAL.

Matt Leese
12-06-2003, 08:28
Java is much more portable than C#. I can run Java with GUI's on just about every operating system known to man. I've heard speculation of being able to run C# on cell-phone but have seen no evidence. Java is built-in to most of the higher end cell phones these days.

Now, as far as syntatic sugar goes, operator overloading is by definition syntatic sugar. All it adds is a way of writing code a bit more simply. It doesn't add anything new to the programming language. There also was a mention of the fact that C# treats all data types as objects whereas Java doesn't. This is true. Whether or not this is really a benefit is debatable. Java does, however, provide object wrappers for the primitive types which should provide all the featuers that C# does.

The main disadvantage to C# is that it's not a particularly mature language. It's also being pushed by a company that hasn't been known for cross-platform compatibility in the past.

As far as Java removing all the "good stuff," from C++, that's not really true at all. C++ have some features that can make it fast. It also has a lot of features that are very easy to screw up (multiple inheritance, operator overloading, pointers, memory management). Java was a language that was designed to be easy to program in. Often times, with the speed of today's computers, using Java is just as fast as C++.

I think the key factor in designing a program is picking the right language for the job. There is no one right language for everything so don't think there is.

As for (x y +), that's postfix notation. Writing something as (+ x y) is prefix notation. What we're used to (x + y) is called infix notation. Postfix and prefix are easy to parse which is why some languages (namely, LISP) as well as some calculators (HP's) use that method for input of mathematical expressions. Postfix is also sometimes referred to as Reverse Polish Notation but I believe that may be a bit derogatory.

Matt

leo_singer
12-06-2003, 09:55
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.

Raven_Writer
12-06-2003, 11:59
Originally posted by leo_singer
...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. Python is new(er)? I thought it was old...since Delphi is based off of it.

The link to Omicron is here: http://www.strandmark.com/omicron.shtml

Matt Leese
12-06-2003, 15:41
Originally posted by Raven_Writer
Python is new(er)? I thought it was old...since Delphi is based off of it.

Delphi (the programming language) is based off Pascal (it's Object Pascal). It is not based on Python. Python derives elements from a variety of languages but isn't based on anything. Where does this idea that Delphi is based on Python come from? I think Delphi is older than Python.

Matt

Raven_Writer
12-06-2003, 15:43
Originally posted by Matt Leese
Delphi (the programming language) is based off Pascal (it's Object Pascal). It is not based on Python. Python derives elements from a variety of languages but isn't based on anything. Where does this idea that Delphi is based on Python come from? I think Delphi is older than Python.

Matt
I got Pascal and Python mixed up, sorry about that.

Alfred Thompson
12-06-2003, 16:00
I've seen C# programs on cell phones. Seems to work fine. I haven't seen Java on a cell phone though I hear it works.

Adam Y.
12-06-2003, 17:06
I've seen C# programs on cell phones. Seems to work fine. I haven't seen Java on a cell phone though I hear it works.
I was reading a video game magazine and as it turns out a lot of games that are on cell phones are java based.

Scudzey
13-06-2003, 18:10
Originally posted by Alfred Thompson
I've seen C# programs on cell phones. Seems to work fine. I haven't seen Java on a cell phone though I hear it works.

Sorry to correct you on this one, but cellphones use the J2ME is used on most cell phones for their applications. You can read on here (http://www.nokia.com/cda1/0,1080,402,00.html) .

Alfred Thompson
13-06-2003, 19:27
I would remind you that "most" and "all" are not the same thing.

Scudzey
13-06-2003, 21:04
C#, being the Microsoft child that it is, is only on cellphones that have WinCE on it. The other cellphones have their own OS which the mobility of JAVA can conform too.

Rickertsen2
14-06-2003, 17:52
Originally posted by Dave Flowerday
Well, I suppose it depends on which forum you went to. I believe the quote from the Illinois forum was "There will be a new robot controller next year."

Personally, my guess is that it won't use PBASIC, simply because we're already using the fastest BASIC Stamp. C++ isn't very realistic for a low-cost embedded microcontroller. Too much overhead, and too much code space required. C might happen, but honestly I think that would be just too complicated for a good percentage of teams to deal with (teams that don't have software types as mentors, and don't have any students who already know it). I can only hope they don't use Java (I've never used a Java program that didn't feel slow and bloated, and I imagine a microcontroller based implementation wouldn't be much better).

I would expect so see something like the BasicX chip: for one thing, it's pin-compatible with the current controller, meaning IFI could probably drop it in to their current control system with no other hardware changes. It uses a dialect of BASIC, which is nice for inexperienced teams. It has 400 bytes of RAM and executes 65,000 instructions/second versus the BS2SX's 10,000.

Anyway, this is all speculation on my part. I believe we really will see a new user CPU next year, but like I said before, it's all up in the air until you hear the official announcement.

a Basic X would be great. read THIS (http://www.chiefdelphi.com/forums/showthread.php?s=&threadid=18581).
One possibility i have been thinking about is having a socket where a BasicX24, BS2/BS2SX/BS2P24, OOPIC-C, Atom-24, etc.... could be inserted. These chips are pin for pin compatible and completely interchangable. What about a "real"(assembly programmed) microcontroller and a high level language compiler.
As for a language being too complicated for rookies... I think its complete BS. I RT%M and got aquanted with the control system in about an hour or so. Its not hard. If you know one language its not hard to learn another. I would love a change.

Joe Johnson
14-06-2003, 19:12
Pin for Pin compatible doesn't really buy much for you in this environment.

Innovation First has to design a system to work with these different chips. I doubt that they are so compatible that they could each be plugged in and made to work with the same Master CPU code.

As to BasicX -- I have tried it and it is pretty cool. I especially like the multitasking ability. The main drawback as far as I can see is that the 1000 bytes of ram seem like a lot until you actually have a few tasks running. It especially stinks that the BasicX version of the Pbasic Debug command pops stuff onto the task stack. This can be a disaster because a complex debug statement can easily overrun the stack and crash the code.

It would be cool, but it is a bit scary to think about folks having random code crashes due to stack overflows.

Joe J.

Rickertsen2
14-06-2003, 21:06
Originally posted by Joe Johnson
Pin for Pin compatible doesn't really buy much for you in this environment.

Innovation First has to design a system to work with these different chips. I doubt that they are so compatible that they could each be plugged in and made to work with the same Master CPU code.

As to BasicX -- I have tried it and it is pretty cool. I especially like the multitasking ability. The main drawback as far as I can see is that the 1000 bytes of ram seem like a lot until you actually have a few tasks running. It especially stinks that the BasicX version of the Pbasic Debug command pops stuff onto the task stack. This can be a disaster because a complex debug statement can easily overrun the stack and crash the code.

It would be cool, but it is a bit scary to think about folks having random code crashes due to stack overflows.

Joe J.

Why wouldn't it work. Please explian.

Joe Johnson
16-06-2003, 13:46
Every task has to have a place to store data. As you define new tasks, you also define a stack space.

So far, so good.

But, BasicX is a language for consenting adults, by which I mean that it depends on you to be a adult and to alot enough stack space so that the stack does not overflow.

If you DO overflow the stack, you overwrite the data from another task -- and as likely as not the data overwritten will be a non-trivial byte of data, the program counter for that task for example. This is sort of a disaster. All the more so because I had a problem with Task A and Task B crashed! Very tricky to debug.

The problem is made worse by the fact that the print.debug command pushes data onto the stack, and lots of it. You can have program that is working just fine and the it crashes simply because the number you are trying to display cannot be displayed as "5.30" but has to switch to "5.3333E00"

These kinds of bugs would be very hard for many teams to discover, yet alone repair.

Joe J.

Rickertsen2
16-06-2003, 14:06
Originally posted by Joe Johnson
Every task has to have a place to store data. As you define new tasks, you also define a stack space.

So far, so good.

But, BasicX is a language for consenting adults, by which I mean that it depends on you to be a adult and to alot enough stack space so that the stack does not overflow.

If you DO overflow the stack, you overwrite the data from another task -- and as likely as not the data overwritten will be a non-trivial byte of data, the program counter for that task for example. This is sort of a disaster. All the more so because I had a problem with Task A and Task B crashed! Very tricky to debug.

The problem is made worse by the fact that the print.debug command pushes data onto the stack, and lots of it. You can have program that is working just fine and the it crashes simply because the number you are trying to display cannot be displayed as "5.30" but has to switch to "5.3333E00"

These kinds of bugs would be very hard for many teams to discover, yet alone repair.

Joe J.

EEEWWW!! Thats sounds like it could be quite a pain to debug. Maybie BasicX would be a little hard for some teams. That still leaves lots of other options though.

KWachowski27
11-07-2003, 21:04
I doubt it would be in C++ because they would probably give us a RC similar to last years. It would be in C if anything. Does anybody know what the RC is, what the specs are on it, and where docs and incs could be downloaded?

dez250
11-07-2003, 21:18
working with many different parallax and ifi items before, they mainly use versions of basic, it seems like next year pbasic will still be able to use but it seems the main language would be basicx, it is capable of have higher storage and also faster reaction times to input sensors, seems like autonomous will be present again.

~Mike

FotoPlasma
11-07-2003, 21:19
Originally posted by KWachowski27
I doubt it would be in C++ because they would probably give us a RC similar to last years. It would be in C if anything. Does anybody know what the RC is, what the specs are on it, and where docs and incs could be downloaded?

The old RC has been taken apart and examined by at least one of the engineers from team 111, Wildstang. I believe Dave Flowerday (I apologize if I am mistaken) has made a few posts on this topic, but I can't find them, right now.

The control system is vaguely (not too many really technical details) documented by IFI in the various documents on their website ( www.innovationfirst.com/firstrobotics/ ). So far as I can remember from various sources (if you ask, I can probably dig them up), the BS2sx is just a dumb interface to two PIC chips that handle signal processing, PWM, sensor inputs, etc.

At the FIRST Team Forums, they said that IFI was renovating the entire control system. The meaning of this is up to interpretation, and I doubt that every single FIRST rep said the exact same thing, but I tend to agree with you. I find it highly unlikely that we'd find anything other than C (it's very common in the uC world, it's well-known (most engineers could work their way around the syntax, probably, anyway), and it's nowhere near as convoluted as ASM can be (not that I don't like ASM, mind you).

Anyway, I've probably said too much, not to mention the fact that I've probably said it all before...

KWachowski27
11-07-2003, 21:23
Cool. By "renovating", do you mean that they are massively overhauling the RC unit, making minor changes to the current one, or replacing the RC completely?

Originally posted by FotoPlasma
The old RC has been taken apart and examined by at least one of the engineers from team 111, Wildstang. I believe Dave Flowerday (I apologize if I am mistaken) has made a few posts on this topic, but I can't find them, right now.

The control system is vaguely (not too many really technical details) documented by IFI in the various documents on their website ( www.innovationfirst.com/firstrobotics/ ). So far as I can remember from various sources (if you ask, I can probably dig them up), the BS2sx is just a dumb interface to two PIC chips that handle signal processing, PWM, sensor inputs, etc.

At the FIRST Team Forums, they said that IFI was renovating the entire control system. The meaning of this is up to interpretation, and I doubt that every single FIRST rep said the exact same thing, but I tend to agree with you. I find it highly unlikely that we'd find anything other than C (it's very common in the uC world, it's well-known (most engineers could work their way around the syntax, probably, anyway), and it's nowhere near as convoluted as ASM can be (not that I don't like ASM, mind you).

Anyway, I've probably said too much, not to mention the fact that I've probably said it all before...

dez250
11-07-2003, 21:43
from what i have heard they are updating the chip so it has more memory for storage and it looks like the controller may be updated a little but don't expect much...
~Mike

FotoPlasma
12-07-2003, 00:24
Originally posted by KWachowski27
Cool. By "renovating", do you mean that they are massively overhauling the RC unit, making minor changes to the current one, or replacing the RC completely?

Heh. Well, that's the question. If I'm not mistaken, there were statements that there will be "a new language" for the control system, and that IFI would be releasing information concerning their changes within the next few weeks (they said late June was unlikely, and July was much more likely), but you know how these kinds of things are with deadlines. :p

I don't think that anyone, besides employees of IFI, knows much about the extent of the renovations.

Eric Brummer
12-07-2003, 01:05
I've heard from 2 different people that next year there will be more of a plug and play system, less programming more clicking. Obviously this is a rumor and i have no proof or anything, and won't bother claiming, "knowing someone at first" I personally would find this sad though, unless you could code on your own and choose not to use the other system.
-Eric

KWachowski27
12-07-2003, 02:09
Originally posted by DucktapeRaptor
I've heard from 2 different people that next year there will be more of a plug and play system, less programming more clicking. Obviously this is a rumor and i have no proof or anything, and won't bother claiming, "knowing someone at first" I personally would find this sad though, unless you could code on your own and choose not to use the other system.
-Eric

I see. I sure hope that that rumor is false - it would be a shame. It seems unlikely thought because the FIRST people claimed that they were trying to involve more programming. I guess all we can really do is wait for them to announce it though.

dez250
12-07-2003, 18:50
just from what was said at many of the forums, implied that they wanted more autonomous programming, meaning they would need a better language (BasicX) and a larger chip. The plug and play rumor i have heard also and i hope for the games sake that it is false, plug and play would cause the game to be toned down more or less...
~Mike

KWachowski27
12-07-2003, 19:20
Exactly.

Originally posted by dez250
just from what was said at many of the forums, implied that they wanted more autonomous programming, meaning they would need a better language (BasicX) and a larger chip. The plug and play rumor i have heard also and i hope for the games sake that it is false, plug and play would cause the game to be toned down more or less...
~Mike

dez250
12-07-2003, 19:36
hey at least someone agrees with me! LoL, well i just hope they leave it where you can program your own bot with your own code... So we all don't seem manufactured on an assembly line to where everyone has the same controls.
~Mike

KWachowski27
12-07-2003, 20:28
Yea, i mean, it would be nice for newer teams or teams with less human resources to have drag and drop robot programming, but for everyone else, it would depreciate the entire value of prgramming the robot. Besides, it would cheat inexperienced/lacking teams out of an important learning experience.

On another note, wouldn't it be cool if instead of using the simple 900MHz RF RCs, we could choose our own "RC" CPU and our own prefered programming language as long as it complies with the FIRST standards. You know, like instead of low band RF, they use WiFi or Bluetooth or some other different RF type. If they allowed us that much freedom, we wouldn't even have to bother with the whole, "i hope they add/remove this..." thing.

dez250
12-07-2003, 20:56
Originally posted by KWachowski27
Yea, i mean, it would be nice for newer teams or teams with less human resources to have drag and drop robot programming, but for everyone else, it would depreciate the entire value of programming the robot. Besides, it would cheat inexperienced/lacking teams out of an important learning experience.
There is a type of programming called lucky logic, its used with fisher technics and is a good starting programming tool, it lets you drag and drop pics of operations, it helps teach you what order things need to be done in...

On another note, wouldn't it be cool if instead of using the simple 900MHz RF RCs, we could choose our own "RC" CPU and our own preferred programming language as long as it complies with the FIRST standards. You know, like instead of low band RF, they use WiFi or Bluetooth or some other different RF type. If they allowed us that much freedom, we wouldn't even have to bother with the whole, "i hope they add/remove this..." thing.

The problem with this is that the frequency can be interrupted then by other people, they use the current system so they have control over the robots for if a problem arose, they can be shut down by the officials field side. Also they have it set up so you will not interrupt another robot in another places/on another field... Though it would be nice if we could pick our own language...
~Mike

KWachowski27
12-07-2003, 21:06
Well, yea, i mean ofcourse they would come up with some sort of security, but it won't be any less secure than it currently is. What i mean is that they could basically network the robots as devices and they would have an "admin" control or something allowing them to read and send data and whatnot. It could even use a popular protocol such as IPX/SPX.

Originally posted by dez250
The problem with this is that the frequency can be interrupted then by other people, they use the current system so they have control over the robots for if a problem arose, they can be shut down by the officials field side. Also they have it set up so you will not interrupt another robot in another places/on another field... Though it would be nice if we could pick our own language...
~Mike

dez250
12-07-2003, 22:11
Originally posted by KWachowski27
Well, yea, i mean of course they would come up with some sort of security, but it won't be any less secure than it currently is. What i mean is that they could basically network the robots as devices and they would have an "admin" control or something allowing them to read and send data and whatnot. It could even use a popular protocol such as IPX/SPX.

Well i really doubt the robots would ever be placed on a network type of set up because of the logistics of it, with the current set up any robot can be placed on any comp port and be ran and controlled with out individual set up based on that bot, but how your saying, this would need allot more individual set up and updating through out the event. with this not only would it cost more... but it would also go back to the basis of more volunteers/staff needed.
~Mike

KWachowski27
12-07-2003, 22:23
Yea, i know, but it would be pretty cool.

Originally posted by dez250
Well i really doubt the robots would ever be placed on a network type of set up because of the logistics of it, with the current set up any robot can be placed on any comp port and be ran and controlled with out individual set up based on that bot, but how your saying, this would need allot more individual set up and updating through out the event. with this not only would it cost more... but it would also go back to the basis of more volunteers/staff needed.
~Mike

Rickertsen2
13-07-2003, 19:00
OOOO My favorite topic. I just pray to we get something with interrupts, direct access to processor pins, a lot more speed, floating point math and a Real LCD would be nice. You know things are falling behind, when many teams simply have the RC acting as a slave to an outboard processor. I have said this many times before, but i would like either a BasicAtom, JStamp, OOPIC, or BASICX. Really i have even seen sub $100 386SX class embedded computers. (okay now im just dreaming i know first would never give us that much flexibility.)

KWachowski27
13-07-2003, 20:05
Exactly, interrupts are a must. If we get something that has a word size greater than eight bits, floating point math shouldn't be necessary. An LCD would be so sweet, but would probably cost more than FIRST is willing to throughput. But yea, i will be somewhat saddened if the new RC doesn't have more speed and support for some kinda of multi-tasking, be it interrupts or a multi-threaded OS... Linux maybe?? Haha.

Originally posted by Rickertsen2
OOOO My favorite topic. I just pray to we get something with interrupts, direct access to processor pins, a lot more speed, floating point math and a Real LCD would be nice. You know things are falling behind, when many teams simply have the RC acting as a slave to an outboard processor. I have said this many times before, but i would like either a BasicAtom, JStamp, OOPIC, or BASICX. Really i have even seen sub $100 386SX class embedded computers. (okay now im just dreaming i know first would never give us that much flexibility.)

Adam Y.
09-08-2003, 18:35
just from what was said at many of the forums, implied that they wanted more autonomous programming, meaning they would need a better language (BasicX) and a larger chip.
I was wondering about this I was reading through my book. Could Innovation First switch from the Basic Stamp quasi-interpretor system to a microcontroller that can use a compiler? That would make everyone happy in this forum. From the people who do not want to leave PBASIC to the people who want to program in something else. The only thing that is really bad about it is that the prices for some compilers are in the hundred of dollars.

Raven_Writer
09-08-2003, 18:44
Originally posted by Adam Y.
I was wondering about this I was reading through my book. Could Innovation First switch from the Basic Stamp quasi-interpretor system to a microcontroller that can use a compiler? That would make everyone happy in this forum. From the people who do not want to leave PBASIC to the people who want to program in something else. The only thing that is really bad about it is that the prices for some compilers are in the hundred of dollars.
Use .NET, doesn't FIRST get it for a fraction of the sales price? [I highly doubt Microsoft gives it away for free, but they might].

KWachowski27
09-08-2003, 18:52
Well, if they use a mainstreamed language such as C, they could simply supply a compiler, IDE plugin or whatnot. There are uncountable freeware compilers and a decent selection of IDEs (MS Notepad is the best). They could easily create one, or distribute an OEM compiler made for the distributed hardware.

Adam Y.
09-08-2003, 18:55
Use .NET, doesn't FIRST get it for a fraction of the sales price? [I highly doubt Microsoft gives it away for free, but they might].
Actually I am going to use a free C compiler that I got from my book to program the Pic microprocessor. To be honest I know that .NET is a compiler but I thought microprocessors need specially designed compilers. I am pretty new to this though. Can anyone clarify this? I shall start a new thread.

Raven_Writer
09-08-2003, 18:55
Originally posted by KWachowski27
Well, if they use a mainstreamed language such as C, they could simply supply a compiler, IDE plugin or whatnot. There are uncountable freeware compilers and a decent selection of IDEs (MS Notepad is the best). They could easily create one, or distribute an OEM compiler made for the distributed hardware.
If you want a REAL IDE, use Dev-C++ (http://www.bloodshed.net) (REAL free IDE that is). I don't think they'll do that, it'd take away to much time just to get it basically working.

[edit]
Actually I am going to use a free C compiler that I got from my book to program the Pic microprocessor. To be honest I know that .NET is a compiler but I thought microprocessors need specially designed compilers. I am pretty new to this though. Can anyone clarify this?
Actually, to be on the techy side, .NET is an IDE, not a compiler. I forgot what the compiler is called (IDE just makes it easier to code, compile and such).

Alfred Thompson
09-08-2003, 19:03
Originally posted by Raven_Writer
Use .NET, doesn't FIRST get it for a fraction of the sales price? [I highly doubt Microsoft gives it away for free, but they might].

Actually the last couple of years Microsoft HAS given FIRST teams a free copy of Visual Studio.

And it's not all that expensive for schools anyway. With the MSDN AA for High Schools program a high school can get Visual Studio for $399 and install it on all the lab computers, all the faculty computers and all the students who are taking programming courses can install it on their home computers at no additional cost. http://www.msdnaa.net/hsmember/ for more information.

PS: Yes I do work for Microsoft but I thought this was a good deal when I was a high school computer teacher too.

Raven_Writer
09-08-2003, 19:06
Originally posted by Alfred Thompson
Actually the last couple of years Microsoft HAS given FIRST teams a free copy of Visual Studio.

And it's not all that expensive for schools anyway. With the MSDN AA for High Schools program a high school can get Visual Studio for $399 and install it on all the lap computers, all the faculty computers and all the students who are taking programming courses can install it on their home computers at no additional cost. http://www.msdnaa.net/hsmember/ for more information.

PS: Yes I do work for Microsoft but I thought this was a good deal when I was a high school computer teacher too.
I didn't know....I didn't think they did though, but it's sweet that they do.

Only thing about that is that what happens when your school (and city) is in debt? [darn this city of mine].

FotoPlasma
09-08-2003, 19:22
Originally posted by Raven_Writer
Use .NET, doesn't FIRST get it for a fraction of the sales price? [I highly doubt Microsoft gives it away for free, but they might].

What the heck?

The .NET tools we get from Microsoft (through FIRST) have nothing to do with programming the robot, at all. Also, I'm willing to bet that Microsoft donates all of their software to FIRST, free of charge. Just like the tobacco and alcohol industries, Microsoft's best strategy is to "hook 'em when they're young," and for the most part, we're pretty young.

He's referring to the fact that Parallax is forcing us all to stay in the dark ages by using a closed (mileage / definitions may vary) tokenizer, which uses one of the most limited embeded system programming language in the world. If we had access to the Basic Stamp's assembly language level, there'd be a lot less of a problem, fundamentally, with using a Basic Stamp as the programming interface to the control system.

<rant type="irritable">
As a personal opinion, Parallax seems to be taking a typically Microsoft-esque approach to the marketing of their microcontroller series of products. They inflate the price of a low-quality product, and sell it to people who can't be bothered to learn about the intricasies of the system they're using.

Sure, it's really convenient for a hobbiest to be able to pick up a BS2 for less than $100, and be able to program it using a computer's serial port with a very rudimentary programming language. I will admit that there's a lot to say for "ease of use" features, but I can't see how they can possibly justify charging $50 for a hacked up bunch of components (the BS1 and BS2 use a PIC16C57, which you can get for around $3, and the BS2sx uses a Scenix SX28AC, which you can order from Digikey for less than $5). When you pay them $50 (for one of their "lower-end" microcontrollers, as the BS2p24 and p40 go for $80 and $100, respectively), you're paying for two things, basically: 1) $10, maybe $15 worth of actual electronic components, and B) anywhere from $35 to $90 for the privelige to use PBASIC (barf). They might have put enough programming labor into making the best tokenizer in the known universe, but that doesn't really impress me.

At least Microsoft doesn't go out of their way to try to convince you that they built your entire computer from scratch...
</rant>

Sorry about that. I'm irritated.

If what I've heard is correct, we won't have to deal with Parallax anymore, after this year....

Raven_Writer
09-08-2003, 19:26
Originally posted by FotoPlasma
What the heck?

The .NET tools we get from Microsoft (through FIRST) have nothing to do with programming the robot, at all. Also, I'm willing to bet that Microsoft donates all of their software to FIRST, free of charge. Just like the tobacco and alcohol industries, Microsoft's best strategy is to "hook 'em when they're young," and for the most part, we're pretty young.

He's referring to the fact that Parallax is forcing us all to stay in the dark ages by using a closed (mileage / definitions may vary) tokenizer, which uses one of the most limited embeded system programming language in the world. If we had access to the Basic Stamp's assembly language level, there'd be a lot less of a problem, fundamentally, with using a Basic Stamp as the programming interface to the control system.....
And after that post, someone corrected me, and I said Ok.

the tokenizer.dll is very horid, but it also gets the job done when needed....look at rbbayer's programs. Some use the tokenizer.dll (atleast 1 of them).

KWachowski27
09-08-2003, 19:29
At least Microsoft doesn't go out of their way to try to convince you that they built your entire computer from scratch...
GOOD! How about some cheap little 386s instead?

FotoPlasma
09-08-2003, 19:34
Originally posted by Adam Y.
Actually I am going to use a free C compiler that I got from my book to program the Pic microprocessor. To be honest I know that .NET is a compiler but I thought microprocessors need specially designed compilers. I am pretty new to this though. Can anyone clarify this? I shall start a new thread.

Microprocessors need compilers to generate machine language binaries from source, per architecture (the x86 standard is a good example of an architecture, as there are many manufacturers of CPUs which all are (more or less) compatible, binary-wise). The same goes for microcontrollers. The Scenix microcontroller mentioned in my previous post has a free C compiler that you can download from the internet. Microchip provides MPLAB and MPASM as an umbrella C / ASM IDE and an assembler, respectively. There's a program named IC-PROG which provides assembling functions for many different microcontrollers / microprocessors.

Google is very useful, with regard to much of what I just said.

Originally posted by Raven_Writer
the tokenizer.dll is very horid, but it also gets the job done when needed....look at rbbayer's programs. Some use the tokenizer.dll (atleast 1 of them).

I am familiar with the functionality of the Parallax tokenizer, and I would like to take a bit of time to personally thank Rob Bayer, and everyone who has contributed to his software (I'm thinking Joe Ross, but I'm not absolutely certain) for all of their hard work.

Raven_Writer
09-08-2003, 19:37
Originally posted by FotoPlasma
I am familiar with the functionality of the Parallax tokenizer, and I would like to take a bit of time to personally thank Rob Bayer, and everyone who has contributed to his software (I'm thinking Joe Ross, but I'm not absolutely certain) for all of their hard work.
Me to...I am not saying I dispise them, I am not saying I don't like their work (well, Rob's anyways...I never seen much of anyone else's). I give them all the credit for what they've done to the FIRST community period.

Adam Y.
09-08-2003, 19:45
Me to...I am not saying I dispise them, I am not saying I don't like their work (well, Rob's anyways...I never seen much of anyone else's). I give them all the credit for what they've done to the FIRST community period.
Man I give anyone kudos who understands this stuff. Basic itself I can understand fairly well but past that my jaw just drops because of all those numbers. Thanks Fotoplasma that clarrified it for me. This forum also help me a lot. If I ever have a question about something there is usually something on it here. Now on to learn C then C++ then C+++.

Raven_Writer
09-08-2003, 19:47
Originally posted by Adam Y.
Man I give anyone kudos who understands this stuff. Basic itself I can understand fairly well but past that my jaw just drops of all those numbers. Thanks Fotoplasma that clarrified it for me. This forum also help me a lot. If I ever have a question about something there is usually something on it here. Now on to learn C then C++ then C+++.
C+++ isn't out yet.....but by the time FIRST ends, it probably will ;)

[If it is, then please show me....because I'd like to learn it. And I'M NOT FLAMING FIRST.......just so that no one jumps on me again]

FotoPlasma
09-08-2003, 19:48
Originally posted by Adam Y.
Man I give anyone kudos who understands this stuff. Basic itself I can understand fairly well but past that my jaw just drops because of all those numbers. Thanks Fotoplasma that clarrified it for me. This forum also help me a lot. If I ever have a question about something there is usually something on it here. Now on to learn C then C++ then C+++.

Hehe! You're very welcome! And by the way, I'm pretty sure it'd be "(C++)++", or something like that. Definitely not C#, though. :p

KWachowski27
09-08-2003, 20:19
What about C<<2?

Alfred Thompson
09-08-2003, 20:53
Originally posted by FotoPlasma
Hehe! You're very welcome! And by the way, I'm pretty sure it'd be "(C++)++", or something like that. Definitely not C#, though. :p

According to the guys who designed C# it is intended to be (C++)++. Picture two plus signs on top of two plus signs.

Raven_Writer
09-08-2003, 20:55
Originally posted by Alfred Thompson
According to the guys who designed C# it is intended to be (C++)++. Picture two plus signs on top of two plus signs.
Honestly, I can see how this can be. Isn't it true though that it is not a very good language (don't take me for that statement, I just read it.)?

FotoPlasma
10-08-2003, 16:05
Originally posted by Alfred Thompson
According to the guys who designed C# it is intended to be (C++)++. Picture two plus signs on top of two plus signs.

TWAJS (http://www.everything2.com/index.pl?node_id=386551)

Alfred Thompson
11-08-2003, 17:35
Originally posted by Raven_Writer
Honestly, I can see how this can be. Isn't it true though that it is not a very good language (don't take me for that statement, I just read it.)?

Do you mean C++ or C#? C++ is not a very good language. C# is an outstanding language. How good is C#? It is so good that a bunch of Microsoft hating, Linux loving developers are creating an open source compiler for C#. C# is so good that the Java people are borrowing features from C# for a future version of Java. C# is probably the best language I know of. Of course I've only programmed professionally in about 10 languages and played with a few more.

Matt Krass
11-08-2003, 19:58
Originally posted by Alfred Thompson
Do you mean C++ or C#? C++ is not a very good language. C# is an outstanding language. How good is C#? It is so good that a bunch of Microsoft hating, Linux loving developers are creating an open source compiler for C#. C# is so good that the Java people are borrowing features from C# for a future version of Java. C# is probably the best language I know of. Of course I've only programmed professionally in about 10 languages and played with a few more.

You cannot directly compare any language like that, it depends on the situation and you cannot outright say one is horrible and the other is fantastic. For example FORTRAN will blow away most languages in math crunching, even C#. But C++ can devastate VB in efficency when used properly. It's not as simple as one is good and one is bad.

Alfred Thompson
11-08-2003, 20:51
Originally posted by Matt Krass
You cannot directly compare any language like that, it depends on the situation and you cannot outright say one is horrible and the other is fantastic. For example FORTRAN will blow away most languages in math crunching, even C#. But C++ can devastate VB in efficency when used properly. It's not as simple as one is good and one is bad.

Well it's not simple but I think that you can say that some languages are bad. At least on a reletive scale. When one compares OOP languages for general programming they can pretty reasonably say that Java and C# are much better then C++. Both Java and C# correct major problems with C++ and make for safer programming.

And performance often depends more on the unerlying runtime and associated libraries then on the language itself. FOr example, a lot of the really graet mathamatical things that people do with FORTRAN are do more to special libraries that have been developed for use with it then the language itself. Plus there are special purpose additions to the langauge for array processors that have been added to FORTRAN largely for historical reasons (math guys like FORTRAN) then necessaty. IF the same extensions were added to other languages they would be faster too.

Take a look at other languages as well. The JVM is slow. Someone came out with a much faster one and Sun sued the company that made it and forced them off the market. IF that hadn't happened maybe Java performance would be bettter. And the performance of VB improved greatly when the unerlying platform was upgraded to .NET. So I would not use performance as the key to what is a good language.

What you look it is things like being type safe. Like having syntax that makes it easy to create the kind of programming structures you want. And things that are basic to the language.

Rickertsen2
11-08-2003, 21:28
Im getting antsy. I just wish they would go ahead and tell us.

Raven_Writer
11-08-2003, 21:30
Originally posted by Rickertsen2
Im getting antsy. I just wish they would go ahead and tell us.
I hope it sticks with PBASIC though honestly....or else my whole project will be a waste of time (and HD space).

Jeff Waegelin
11-08-2003, 21:42
Originally posted by Raven_Writer
I hope it sticks with PBASIC though honestly....or else my whole project will be a waste of time (and HD space).

Don't bet on it...

Raven_Writer
11-08-2003, 21:45
Originally posted by Jeff Waegelin
Don't bet on it...
You got some insider scoop? (j/p).

I don't really see why not....every programmer that's been in FIRST for 1 year knows it, and every new programmer can catch on pretty fast basically.

I'd be better, because then mentors and whatnot don't have to teach every programmer a new language. If they have no internet, then they're basically screwed then.

FotoPlasma
12-08-2003, 01:29
Originally posted by Raven_Writer
I hope it sticks with PBASIC though honestly....or else my whole project will be a waste of time (and HD space).

I've been told that the new system will have all of the same functionality as the PBASIC interface.

Raven_Writer
12-08-2003, 08:37
Originally posted by FotoPlasma
I've been told that the new system will have all of the same functionality as the PBASIC interface.
Cool. I hope it does. Maybe it'll be ZBASIC? (lol, that'd be scary if it was).

Matt Leese
12-08-2003, 08:47
Originally posted by Alfred Thompson
Well it's not simple but I think that you can say that some languages are bad. At least on a reletive scale. When one compares OOP languages for general programming they can pretty reasonably say that Java and C# are much better then C++. Both Java and C# correct major problems with C++ and make for safer programming.

And performance often depends more on the unerlying runtime and associated libraries then on the language itself. FOr example, a lot of the really graet mathamatical things that people do with FORTRAN are do more to special libraries that have been developed for use with it then the language itself. Plus there are special purpose additions to the langauge for array processors that have been added to FORTRAN largely for historical reasons (math guys like FORTRAN) then necessaty. IF the same extensions were added to other languages they would be faster too.

Take a look at other languages as well. The JVM is slow. Someone came out with a much faster one and Sun sued the company that made it and forced them off the market. IF that hadn't happened maybe Java performance would be bettter. And the performance of VB improved greatly when the unerlying platform was upgraded to .NET. So I would not use performance as the key to what is a good language.

What you look it is things like being type safe. Like having syntax that makes it easy to create the kind of programming structures you want. And things that are basic to the language.
Java and C# are not inherently better than C++. Anyone who told you as such doesn't know what they're talking about. Java, C#, and C++ all have their various advantages. Java is very good at being cross platform (much more so than C# contrary to what Microsoft would have you believe). C# is very good at Windows development (even if it isn't particularly mature). C++ is very good for large projects that require speed, low memory requirements, or device level programming.

Basically, it comes down to using the correct tool for the job. Sometimes C++ is correct, sometimes it's Java or C#. Other times it's assembly (in fact, I'm starting a project at work with assembly as soon as the developer's kit arrives). Sometimes you need to use straight C or possibly Perl or Lisp. There is no one programming language that is better than the others.

Matt

Raven_Writer
12-08-2003, 12:41
Originally posted by Matt Leese
...Basically, it comes down to using the correct tool for the job. Sometimes C++ is correct, sometimes it's Java or C#. Other times it's assembly (in fact, I'm starting a project at work with assembly as soon as the developer's kit arrives). Sometimes you need to use straight C or possibly Perl or Lisp. There is no one programming language that is better than the others.

Matt
It also depends on what you are more comfortable with. Like the debate between OpenGL vs DirectX or the Win32 vs MFC. Arguments are fine, but none are the #1 answer. Both have pro's and con's, just like everything else. If you're making a game, use what you feel more comfortable with. Making an IDE? Use whatever you feel comfortable with. It's like FIRST, this year there were debates in every team probably about which kind of bot to build. Some said Stacker, some said pusher, and probably other types were brought up.

>> Sorry <<: I had to use the FIRST comparison, it kinda cleared up what I was saying.

Lloyd Burns
15-08-2003, 23:53
One thing said above that is true is "it depends on ..." who's writing, and what is being programmed. It also depends on the hardware in some cases.

I quickly scanned the thread, but don't see any mention of the Javelin Stamp - "A 24 pin processor programmed with a subset of the Sun Microsystems Java language", as they say on the Parallax.com site.

This means Stamps (read familiar-to-IFI processor) can talk in PBasic or Java. This might rule out APL or COBOL as possible languages for next year, as well as Forth.

Alfred Thompson
16-08-2003, 00:12
Originally posted by Matt Leese
Java and C# are not inherently better than C++. Anyone who told you as such doesn't know what they're talking about.
Matt

I'll tell them to give back their PhDs in computer science then. No doubt you've got a lot more experience in programming then them or me. :yikes:

Rickertsen2
16-08-2003, 14:00
This really is a very stupid arguement. USE THE RIGHT TOOL FOR THE JOB. And this thread has gotten rather off topic.

Jeff Waegelin
16-08-2003, 14:21
Originally posted by Rickertsen2
This really is a very stupid arguement. USE THE RIGHT TOOL FOR THE JOB. And this thread has gotten rather off topic.

Agreed. It's turned into just argument about C++. While I will say your topic is somewhat relevant, if you'd like to continue the discussion, I suggest you take it out of this thread, so it's not distracting the real discussion.

As for my "inside sources," let's just say I have information from two very reliable, well known sources that say we may be dealing with a new control system that doesn't use PBASIC, provided that IFI can make enough for the 2004 season. Whether we'll "C" this controller next year or not remains to be seen... but my sources say we will :p

Adam Y.
16-08-2003, 16:04
I hope it sticks with PBASIC though honestly....or else my whole project will be a waste of time (and HD space).
Well actually even if they decided to go with just plain basic or another variant of it should be easy to convert it to that. I personally hope that it turns out that way. Most of the basic compilers out there either sport compatibilty with pbasic or share similar commands while improving upon it.

Raven_Writer
16-08-2003, 17:20
Originally posted by Adam Y.
Well actually even if they decided to go with just plain basic or another variant of it should be easy to convert it to that. I personally hope that it turns out that way. Most of the basic compilers out there either sport compatibilty with pbasic or share similar commands while improving upon it.
True....I didn't really think about that when I posted it. My other argument is the tokenizer.dll. Will they still use that, or is it gonna be another library.

Rickertsen2
16-08-2003, 18:18
I wander what cool new hardware features there will be. I hope there are more io ports such as some general purpose bidirectional ttl or cmos compatible pins and a real lcd.

Matt Leese
18-08-2003, 08:43
Originally posted by Alfred Thompson
I'll tell them to give back their PhDs in computer science then. No doubt you've got a lot more experience in programming then them or me. :yikes:
Honestly, if they're telling you that one programming language is inherently better than another in totality, they're doing you and everyone else a disservice. A specific feature of a programming language may be better implemented or better supported than another, but saying it is completely better is just ignoring too many of the other features of the programming language.

Plus, I've met a good number of people with PhD's who really don't know what they're talking about. Or at least don't have as good an understanding as they should.

Matt

Alfred Thompson
18-08-2003, 09:21
Originally posted by Matt Leese
Honestly, if they're telling you that one programming language is inherently better than another in totality, they're doing you and everyone else a disservice. A specific feature of a programming language may be better implemented or better supported than another, but saying it is completely better is just ignoring too many of the other features of the programming language.

Plus, I've met a good number of people with PhD's who really don't know what they're talking about. Or at least don't have as good an understanding as they should.

Matt

TOtally is not a word I used. There are a few cases where C++ may be a better language is some ways then some other languges. But few programmers will ever see the need to use them. Someone doing general applications will never see them. In some operating systems features perhaps. And maybe in low memory configuration embedded systems. But darn few of either of those as the VMs for Java and C# get better. In many cases you'd be better off going to assembly before C++.

But in general terms you can say that one language has more good features then another and/or that one language has more bad features then another. And clearly for general applications Java and C# are MUCH better languages then C++.

Of the 9-10 languages I've used professionally (and a bunch more for fun) C++ is in the lower middle of the ones I'd use again if I had the choice. Above DIBOL and below OOP COOBOL .NET.

Matt Krass
18-08-2003, 12:38
Originally posted by Alfred Thompson

Of the 9-10 languages I've used professionally (and a bunch more for fun) C++ is in the lower middle of the ones I'd use again if I had the choice. Above DIBOL and below OOP COOBOL .NET.

Key word there is choice, just because you like it better does not automatically mean it's better. What type of programming have you done? I do 3D programming mostly and I find C++ works great for that. I am also learning how ot program Motorola MCUs, in C and a little assembler, I wouldn't dare use .NET for that. The better language can't just be picked.

Raven_Writer
18-08-2003, 13:01
Originally posted by Matt Krass
Key word there is choice, just because you like it better does not automatically mean it's better. What type of programming have you done? I do 3D programming mostly and I find C++ works great for that. I am also learning how ot program Motorola MCUs, in C and a little assembler, I wouldn't dare use .NET for that. The better language can't just be picked.
He is right. But the simpilist point, that covers this whole off-topic stuff is "USE THE RIGHT TOOL FOR THE JOB".

But Matt is right. C++ is recommended over a lot of langauges for 3D programming. You wouldn't use VB for it, because that would make it run to slow. I'm not sure if C# can do 3D. ASP can't handle 3D at all. Nor PHP. C might.

But still, read my sentence, and repeat that over and over (repeate the stuff inside the quotes that is) if you don't know what language to use for a project.

Heck, I'm using MFC for my editor (I was using the C++ Win32 API, but that was causing more confusion than anything). MFC is great for what I wanna do. But it isn't to good for making games.

Alfred Thompson
18-08-2003, 15:47
Originally posted by Matt Krass
Key word there is choice, just because you like it better does not automatically mean it's better. What type of programming have you done? I do 3D programming mostly and I find C++ works great for that. I am also learning how ot program Motorola MCUs, in C and a little assembler, I wouldn't dare use .NET for that. The better language can't just be picked.

A little bit of a lot of things. Some operating systems internals. There was a print/batch system where some of the work was done in Assembly language and some in BASIC (Basic-PLUS actually). I've done OS work for a couple of companies (the companies that created the hardware and OS) in a couple of assembly languages. I've done some high performance stuff using array processors which obviously was in FORTRAN. Some applications (accounting etc) that was done in languages like COBOL, DIBOL, versions of BASIC, etc. Test software for high performance systems in a bunch of languages.

Are you saying that no language is better then any other? They're all the same?

FotoPlasma
18-08-2003, 17:21
Neither of the two camps in this argument is going to convince the other that either one is right or wrong.

Don't get me wrong. I have an opinion, which I have, more or less, already expressed. I don't claim to be an objective observer. I just am all too familiar with arguments like this.

One suggestion: drop it.

So, about that new control system...

I've heard that teams will have the ability to use the same syntax as we've all been familiar with, for past years, in PBASIC. I assume this is a fall-back-plan for teams who can't cope with such a fundamental change, so quickly (possibly analogous to what some teams experienced with the introduction of an autonomous mode). What do you think the chances are that they (IFI) would use a product like a PICBasic compiler, rather than develop the translational software in-house?

Matt Leese
19-08-2003, 08:24
Originally posted by FotoPlasma
I've heard that teams will have the ability to use the same syntax as we've all been familiar with, for past years, in PBASIC. I assume this is a fall-back-plan for teams who can't cope with such a fundamental change, so quickly (possibly analogous to what some teams experienced with the introduction of an autonomous mode). What do you think the chances are that they (IFI) would use a product like a PICBasic compiler, rather than develop the translational software in-house?
I would assume fairly high. IFI doesn't have that many employees and a complete redesign of the control system would take up a lot of those employees. There is the possiblity of them contracting it out however.

I think there may be a more likely solution in that software written in PBasic may run in an emulation layer on top of another processor. If the processor was significantly powerful (and frankly, it's not hard to get a cheap powerful processor these days), it wouldn't be too difficult to do that.

Another possibility is to just have two different chips on the board (both a Basic Stamp and some other mystery chip) and it's user selectable as to which one is used.

Matt

Rickertsen2
19-08-2003, 16:38
Originally posted by Matt Leese
I would assume fairly high. IFI doesn't have that many employees and a complete redesign of the control system would take up a lot of those employees. There is the possiblity of them contracting it out however.

I think there may be a more likely solution in that software written in PBasic may run in an emulation layer on top of another processor. If the processor was significantly powerful (and frankly, it's not hard to get a cheap powerful processor these days), it wouldn't be too difficult to do that.

Another possibility is to just have two different chips on the board (both a Basic Stamp and some other mystery chip) and it's user selectable as to which one is used.

Matt


Hmm. Thats a good point. It, however assumes a relatively powerful processor like a StrongArm Coldfire, etc. Most higher power processors must be either programmed in assemble or a compiler must be used. That would mean that FIRST would have to get a company such a MetroWerks donate the software. Microsoft and Metrowerks? not likley

On the other hand I think it is highy likley that they will use another Basic stamp like chip, such the Basic Atom, Basic X, etc. This would allow a great boost in power, with little syntax change.

While a real(ie: runs compiled code) processor would be nice, I think we will probably just see another Basic Stamp like chip. I hope im wrong though.

Adam Y.
19-08-2003, 16:57
Hmm. Thats a good point. It, however assumes a relatively powerful processor like a StrongArm Coldfire, etc. Most higher power processors must be either programmed in assemble or a compiler must be used. That would mean that FIRST would have to get a company such a MetroWerks donate the software. Microsoft and Metrowerks? not likley
Not to mention interpreted code runs at a slower pace no matter how you slice it. There are also plenty of companies around that make compilers. The makers of the Basic Atom also makes compilers.

Rickertsen2
19-08-2003, 19:56
Originally posted by Adam Y.
The makers of the Basic Atom also makes compilers.

That they do. You must be referring to their MBasic compiler, which is meant to accept basic stamp code. Hmmm right back to Basic Stamps again.

Matt Leese
20-08-2003, 08:50
Originally posted by Rickertsen2
Hmm. Thats a good point. It, however assumes a relatively powerful processor like a StrongArm Coldfire, etc. Most higher power processors must be either programmed in assemble or a compiler must be used. That would mean that FIRST would have to get a company such a MetroWerks donate the software. Microsoft and Metrowerks? not likley

On the other hand I think it is highy likley that they will use another Basic stamp like chip, such the Basic Atom, Basic X, etc. This would allow a great boost in power, with little syntax change.

While a real(ie: runs compiled code) processor would be nice, I think we will probably just see another Basic Stamp like chip. I hope im wrong though.
I'm not quite sure what you're point with powerful processors must be programmed in assembly or a higher level language. To my knowledge, almost all processors must be programmed that way. It also wouldn't have to be a particularly powerful processor. Remember that the Basic Stamp merely interprets the compiled PBasic code and that runs on a PIC.

As far as having MetroWerks donating a compiler, I wouldn't see why not. They are owned by Motorola after all which is a big sponsor of FIRST.

That leads me to another point: I think there's a strong possibility that the new chip may be from Motorola. Motorola makes a lot of embedded chips and may be willing to give IFI a discount on them for use with FIRST. The chips are widely used and have a lot of support out there. There are also various C compilers for the processors. I think that may be a strong possibility.

Matt

dez250
20-08-2003, 09:32
please if motorola does wind up working with or without ifi on a new IO and/or RC please do not have it like another big, bulky, space wasting, White box like it has been in the past.
~Mike

Adam Y.
20-08-2003, 09:39
I'm not quite sure what you're point with powerful processors must be programmed in assembly or a higher level language. To my knowledge, almost all processors must be programmed that way. It also wouldn't have to be a particularly powerful processor. Remember that the Basic Stamp merely interprets the compiled PBasic code and that runs on a PIC.
It really has nothing to do with the language it has to do with how the language is read on the microcontroller.
interpretors-An interpretor reads a high level language and then tells the micro-controller what to do. It is almost exactly what a Basic stamp does. The slowest of the three choices due to the fact that the microcontroller has to read the high language.
Compilers- Compilers turn high level languages and turns it into assembly. They generally have to be designed for a specific brand of micro-controllers since each one usually has different hardware architectures. The second fastest due to the fact that the program is being translated into assembly.
Assembly- Lowest level language for any microcontroller and generally the hardest to understand. The fastest one if properly implemented.
Usually all that gets affected if you go from one type to the next is the speed of the program. It usually goes like this in order of increasing speed:
interpretors<compilers<assembly

rwaliany
24-08-2003, 18:16
I think it's java...anyone look up parallax's latest projects...the javalin stamp...the basic stamp...I don't think it would be too much work to replace pbasic with java by switching stamps from the same company. Likewise, I would think parallax would be pressuring IFI to be using the javalin stamp to promote sales and usage. The AP Compsci switched from C++ to Java. Will everyone taking AP Compsci right now not be familiar with java by the time it is released? In addition, Java is more practical than PBASIC pertaining to the real world. No one cares that someone programmed in PBASIC but atleast with java you earn some respect. Java is also cross-platform, I would think if they move to Java they would also support a cross-platform pbasic editor written in java..

I prefer C++, but I'd still want java over pbasic anyday.

Weird_Adam
24-08-2003, 20:26
I would rather it be not Java. Although getting rid of PBASIC makes it so much powerful. I'll know enough Java by January but I hope it's C++, it is so much simpler and well I have more experience with it. The problem is we most likely won't get the new control system until competition starts.

Raven_Writer
24-08-2003, 20:29
I think Java would be slower. It takes me about 1.5 seconds to load MSVS .NET IDE and MSVC++ 6 IDE, where as it can take me about 5 to load a Java IDE (all programmed in Java to by the way).

rwaliany
24-08-2003, 21:01
Ah, yes obviously java is slower. But the javelin stamp processes 8000 commands per second apparently (parallax.com). I think that would be sufficient enough for what we need. Well, I wouldn't consider C++ simplier. I would rank level of difficulty from C to C++ to Java being the easiest. C'mon to go to the next pointer in java isn't it like list.nextPtr();. Also, you might not realize how much actual support parallax has for the javelin stamp, in documentation, function lists with examples and descriptions parsed nicely, and several examples. It's actually pretty nice. It all depends how the code is stored and processed, they could compile the java code or not. I haven't read up enough on the javelin stamp to tell you.

Matt Leese
25-08-2003, 08:17
In a somewhat related topic, I got to see the field control set that's going to be used next year the other day (IFI gave us a set for use at the Maryland State Fair Competition). Basically, they seem to look exactly like the field control components from 2003 (from the outside at least). They do support autonomous mode and they do support previous year's controllers. This may mean that there are only superficial changes to them. If anyone's really interested I may take some pictures of them and post them. You really can't tell much from just looking at it however.

Matt

Raven_Writer
25-08-2003, 08:18
Originally posted by rwaliany
Ah, yes obviously java is slower. But the javelin stamp processes 8000 commands per second apparently (parallax.com). I think that would be sufficient enough for what we need. Well, I wouldn't consider C++ simplier. I would rank level of difficulty from C to C++ to Java being the easiest. C'mon to go to the next pointer in java isn't it like list.nextPtr();. Also, you might not realize how much actual support parallax has for the javelin stamp, in documentation, function lists with examples and descriptions parsed nicely, and several examples. It's actually pretty nice. It all depends how the code is stored and processed, they could compile the java code or not. I haven't read up enough on the javelin stamp to tell you.
There is also a lot of documentation on the BASIC stamp and PBASIC language.
Originally posted by Matt Leese
In a somewhat related topic, I got to see the field control set that's going to be used next year the other day (IFI gave us a set for use at the Maryland State Fair Competition). Basically, they seem to look exactly like the field control components from 2003 (from the outside at least). They do support autonomous mode and they do support previous year's controllers. This may mean that there are only superficial changes to them. If anyone's really interested I may take some pictures of them and post them. You really can't tell much from just looking at it however.

Matt
I'd love to see some pictures of the controllers.

danielkitchener
07-09-2003, 15:12
What about a FORTRAN derivative? FORTRAN has been around for years, and is still a popular programming language at Universities for math and science. Almost any mentor would know it, as many of them have taken a course in this language in college. It is incredibly easy to learn, and it is really portable. Autonomous coding by dead reckoning would be easy to - just use the etime() function. Are there any RCs, stamps, or chips that support this??? Honestly, though, I really like PBasic for this purpose. THough it is slow and awkward, it gets the job done. C# is absolute crap for an application like this (or any application...sorry, but it absolutely sucks), C is a little archaic, Java is too awkward and slow, and C++ seems unlikely for various reasons. If they do change it, it will probably be to a language similar to PBasic, probably another BASIC derivative (hopefully this one will be faster and allow more variables/variable space).

rwaliany
07-09-2003, 16:48
Why not take into consideration that any language will be as fast as any other on average. The microprocessor, I'm almost 100% sure, will be designed to run off that language specifically. Therefore, it's most likely going to be native code. So, whether they use C, C++, Java, PBasic, or FORTRAN I think the issue of speed is not of concern. The code will be converted into a common form of machine code anyways. Well, I still don't see why they would use an alternate to Basic or Javelin stamp by Parallax. I think usfirst is trying to move toward more autonomous programming and java would be a more applicable and practical tool for the real world and an easy switch I might add.

Jeff Waegelin
07-09-2003, 17:43
Originally posted by rwaliany
Why not take into consideration that any language will be as fast as any other on average. The microprocessor, I'm almost 100% sure, will be designed to run off that language specifically. Therefore, it's most likely going to be native code. So, whether they use C, C++, Java, PBasic, or FORTRAN I think the issue of speed is not of concern. The code will be converted into a common form of machine code anyways. Well, I still don't see why they would use an alternate to Basic or Javelin stamp by Parallax. I think usfirst is trying to move toward more autonomous programming and java would be a more applicable and practical tool for the real world and an easy switch I might add.

Two things:

#1, it's FIRST. Not USFIRST. It's been said numerous times before. Yes, the website is usfirst.org. Yes, it is the United States Foundation For Inspiration and Recognition of Science and Technology. But... the short name is, and has been, FIRST for at least 6 or 8 years.

#2, while Java may be more of a "practical tool for the real world", it has been said numerous times that the majority of embedded microprocessors run C. So, while Java is gaining wide acceptance on the Web, and a few other application areas, C is still much more prevalent in the kinds of things we are doing in FIRST.

rwaliany
07-09-2003, 18:16
Originally posted by Jeff Waegelin
Two things:

#1, it's FIRST. Not USFIRST. It's been said numerous times before. Yes, the website is usfirst.org. Yes, it is the United States Foundation For Inspiration and Recognition of Science and Technology. But... the short name is, and has been, FIRST for at least 6 or 8 years.

#2, while Java may be more of a "practical tool for the real world", it has been said numerous times that the majority of embedded microprocessors run C. So, while Java is gaining wide acceptance on the Web, and a few other application areas, C is still much more prevalent in the kinds of things we are doing in FIRST.

#1, I think that's an trite claim, you seem to forget the resources available. Parallax already has a javelin stamp. Parallax, i'm sure, is trying to promote their new stamp. Parallax brags at the speed of the javelin stamp being faster than the basic stamp. What microprocessor would USFIRST use for C and would the "opportunity cost" be less than one provided by Parallax? By the way, do you think it's easier to write a Java Applet for a cell phone or a C based program. Even though I despise java, I think you lack to see the multi-purpose use of the language in your argument: "Java is gaining wide acceptance on the Web."

#2, Does it matter if someone calls it USFIRST as opposed to FIRST. I'm sorry this seems irrelevant.

Adam Y.
07-09-2003, 18:20
What microprocessor would USFIRST use for C and would the "opportunity cost" be less than one provided by Parallax?
Well I know plenty of microcontrollers that First can use that can be programmed in C and they usually cost a couple of dollars. The Pic's can be programmed in C and are cheap and I am sure that others can be. In fact my one book said you can have a working PIC microcontroller that can be programmed in C for as little as 20 dollars.
#2, Does it matter if someone calls it USFIRST as opposed to FIRST. I'm sorry this seems irrelevant.
You say potatoe and I say potato. Potatoe. Potato. Hey lets call the whole thing off.

rwaliany
13-09-2003, 18:30
$20, would you mind sending me some links...I would rather buy one for $20 than pay parallax $70 for a new chip for our blimp project.

Thanks...

Rickertsen2
13-09-2003, 20:51
Originally posted by rwaliany
$20, would you mind sending me some links...I would rather buy one for $20 than pay parallax $70 for a new chip for our blimp project.

Thanks...
if you want something cheap and don't have a compiler or don't like assembly, Check out the Basic Atom pro. It usually sells for about $29 and is a bit more capable than even the bs2p series. I have one for a project im working on but haven't used it yet.
http://www.basicmicro.com