I think we all know that PBASIC and the the autonomous code for the robot isn’t really programming. I was just wondering what you people actually program in terms of language, how long have you been programming, and what type of applications/project you work on? I just wanna know people’s histories and possible futures.
I guess I’ll start with myself:
I started programing at age 7 in ASM…ha ha jk. It was actually age 7 in BASIC on some IBM. Did that for a year, stopped, then picked up summer after my freshman year in C/C++. I learned C officially first, but then moved on to C++. At a lower level(meaning basic programs), there really isn’t much of a difference between the two languages. After about a year(end of sophomore year) of just programming boring console apps in C++ I started to move into Windows programming using the Win32 API so I could make more useful and user friendly programs and later games. Then after finding out that not much window’s programming is needed for games, I pretty much dropped the books I checked out of the library and got game programming books. I started with the basics of Direct3D but couldn’t go to far being that most early tutorials needed capabilities of a graphics card that I didn’t have. Then I moved back to DirectDraw and have been doing that for almost 2 years now. I also touched on OpenGL but don’t have any plans on learning it until after Direct3D(I have a better graphics card now). Of course, in addition to graphics games require input so learning DirectInput was necessary.
I’ve also looked at the basics of Java, C#, and ASM to get a better understanding of what is going on outside of my world. It’s not too different. But it’s easier out there. I think that if you can write a good application in C/C++, moving to Java or C# shouldn’t be too hard.
If you couldn’t tell from the history, I’m hoping to be a game programmer in the future. I’m not ignoring things outside of the language and I hope to learn to make some general Windows Apps in C#. I have done a few in C++ using the Win32 API, but that was a lot of code for very little functionality. I’d prefer not to use MFC(Microsoft Foundation Classes) because I generally like to have utter control of what goes on in a program.
I have been programming for over 30 years. It all depends on the application. Scientific applications I still use Fortran as it has a very large installed base.
Instrumentation Forth, Assembly, or some version of basic.
Database and financial is quite often Cobol though I do not do that any more.
Even C and C++ is starting to make inroads outside of academia and techie worlds. Other languages are still much more prevalent in the existing world.
those poll options are pathetic.
my experience is mainly in C++ w/MFC, and java. ooo can’t forget PHP(yes its only for web scripting but its beautiful)
I also have limited experience with just about every other imaginable language.
Perl rules I’ve stuck my hand into C/C++…I can do a bit in there but nothing spectacular (cruddy email reader w/ GTK). I’ve done some BASIC, VB (eww), mIRC scripting (what I started on…hehe…what a nasty language),.
And PLEASE use OpenGL if anybody plans on making games…us Linux users might be getting kind of sick of Quake 3 and Tuxracer (wait…what am I saying? sick of q3 and tuxracer? NEVER!) impatienly waiting for the arrival of NWN to linux so I can actually play the game I bought like 6 mo. ago
Sorry about that. I forgot about Visual Basic completely. PHP, I purposely left out. I barely know anything about - or maybe I just plain DON’T know anything about it. Either way, I only wanted to put up languages used to make simple applications. By simple I mean, non-networked, not interent based. Of course there can be applications like MS Office that are considered “simple” under that criteria.
You can still vote for these languages by saying it in your post as people have been doing.
Also the reason I’m so bound to C/C++ is because I believe its best to pick a road and know it to its very core. Also, the syntax is very close to Java and C# which are good languages (I hear) for some basic internet programming and rapid development. I could very easily expose myself to a lot of different languages pickup the most useful parts of it. I’d prefer to stick with one and learn what I can about it. When a job calls for another language, I’ll learn it.
I used that language as a grad student in a laser lab at Caltech. It was remarkably efficient, but was often criticized as being a “write-only” language. I found that it could be quite readable, if you defined the “vocabulary” appropriately. I’m not aware of many users these days - they’ve probably migrated to LabVIEW.
Given it’s architecture, FORTH would have been really appropriate for this FIRST game – STACK ATTACK…
There’s a 10 year old robot programming game for the Macintosh, and I think for the PC now also, called Robowar, that uses a FORTH like approach ie storing everything on a stack.
To check if there is another robot in view, you say:
range 0 > if shootit.
The guy who created the game, claimed that it was the easiest way to create the programming interface.
Actually many advanced HP Calculators have an option to work the same way, called Reverse Polish Notation (ie 6 enter, 5 + leaves 11 on the display).
*Originally posted by MikeDubreuil *
**I think Pbasic can be considered programming. Why is it different than any other language? **
I agree. If it wasn’t programming, our team wouldn’t have been up half the night stomping out bugs.
Also I have to say that I was very impressed with what our programmers accomplished with only 26 bytes for variables. We can swing our arm at the bins, back up, change gears, and head up the ramp, and if something throws us off course, our robot automatically steers back on course. (As we were testing the above routine, we discovered that the FedEX truck was coming down the street. We had to hussle.)
PBASIC is interpreted so it’s a scripting language, similar to JAVA in that they both are tokenized into byte code and then interpreted.
So you are saying Java is a scripting language?
We have now entered the huge debate on whether a scripting language is a programming language. By Meriam Webster definition every computer language is. I don’t understand why you say it must be compiled to machine code before a language can be considered a programming language.
there is a big difference between scripting languages and programming languages. until the 32 bit version of visual basic 4, vb was a scripting language that only compiled to p-code. java has to have the VM to be interpreted. it’s the same concept as someone who writes mirc scripts. you need mirc to interpret them. same concept as perl, php, bash, etc etc. they may be commonly referred to as programming languages, but they are anything but. programming languages compile to native code that can be independently interpreted.
let’s not turn this into a flame thread.
you can find plenty of other threads on other boards about this and countless web pages.
*Originally posted by Jeremy_Mc *
**PBASIC isn’t compiled to native code. That’s programming.
PBASIC is interpreted so it’s a scripting language, similar to JAVA in that they both are tokenized into byte code and then interpreted.
*jeremy **
For quite a while after the BASIC programming language arrived on the scene, all the different versions of it were interpreted. Of course, the programs were interpreted into machine language. The only difference between them and a compiled language was that a program was converted to machine language every time it was run, instead of once when it was compiled.
Anyway, it is just semantics. Per my definition, if you are controlling a computer with some text which includes a series of steps and possibly loops and branches, you are programming it.
However, it is also clear to me that someone else could be operating on a different definition which would be equally valid.
For all we complain about PBASIC, I don’t know any reason why it should not be considered a programming language, albeit a quirky, picky, insanely limited and insanely powerful one.
Most of my problems with PBASIC have to do with the hardware implementation not the lanquage itself.
I have learned to live with 16 bit unsigned math, what kills me more is lack of RAM space for variable (Scratchpad RAM and EEPROM space are poor subsitutes) and the lack of an interrupt mechanism to respond to time critical tasks.
Other than that life would be pretty much the same using anyother language.
Just my two cents.
Joe J.
P.S. I think that the best case scenerio for FIRST would be to hook up with Matlab/Simulink (by MathWorks). You cannot believe how powerful some of the “programming” you can do with Mathlab/Simulink’s blocksets. Essentially, they take programming down to moving blocks around and connecting things with arrows (while still allowing all the power of the native hardware AND while generating solid C code).
Many folks (including yours truly) believe that autocoding with systems like Matlab/Simulink will replace hand coding of nearly all embedded programming in the automotive world in about 5 years. You heard it here first
First, PBASIC is compiled. The byte code that it creates is run by the Stamp chip in exactly the same way that compiled C code is run by your processor. This is the purpose of the tokenizer and the Stamp editor. Nothing more, nothing less.
Second, just because a language is interpreted doesn’t mean it’s not a programming language. Some excellent examples of “interpreted” languages: Java, Scheme, Perl, PHP, JavaScript, ASP, etc. Yes, some of these languages are more “interpreted” than others, but the point still stands. Whether a language is interpreted or compiled has nothing to do with the language itself and everything to do with how it’s implemented. Heck, you could run an interpreted version of C if you really wanted to.
Back on topic: C++ is my life. The rest is just details. Well, almost. I also love Scheme and will occasionally touch a little x86 assembly when necessary. I’ve played around with PHP, JavaScript, Java, and a few others, but haven’t really done any “big” projects with anything but C++.
I have learned to live with 16 bit unsigned math, what kills me more is lack of RAM space for variable (Scratchpad RAM and EEPROM space are poor subsitutes) and the lack of an interrupt mechanism to respond to time critical tasks.
I have been programming in FIRST for 4 years and never had a problem with not having interrupts until this year. Its almost impossible to detect the white line at high speeds. The data just comes and goes before the Stamp asks for it.
Many folks (including yours truly) believe that autocoding with systems like Matlab/Simulink will replace hand coding of nearly all embedded programming in the automotive world in about 5 years. You heard it here first
Oh my God! I cringe while watching the programming scene in Swordfish. And to think that’s actually the future!