View Full Version : What Do We Really Program?
EbonySeraphim
24-02-2003, 23:39
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.
Now it's your turn to brag about yourself.:D
Jeff_Rice
24-02-2003, 23:44
I've done many versions of basic and limited C game modding.
Has anyone else made a gui in basic?
Duke 13370
25-02-2003, 00:02
How could you forget to add visual basic, perl, php, and html to this poll?
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.
Rickertsen2
25-02-2003, 00:11
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 :D 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 :D (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 :P*
Anyone else read Sun's comment on how Java sucks? :D I forget where I read it.
Jeremy_Mc
25-02-2003, 00:33
i usually program in VB or C.
i know a little 32-bit ASM, but i mostly use it in conjunction with one of the former.
Originally posted by evulish
Anyone else read Sun's comment on how Java sucks? :D I forget where I read it.
slashdot :p i thought it was funny. they refuse to use it on any of their internal programs haha
*jeremy
EbonySeraphim
25-02-2003, 00:59
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.
David Brinza
25-02-2003, 01:09
Hey, Owen! A FORTH programmer!!
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...
rot swap dup ....
DougHogg
25-02-2003, 05:16
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).
MikeDubreuil
25-02-2003, 08:31
I think we all know that PBASIC and the the autonomous code for the robot isn't really programming.
I think Pbasic can be considered programming. Why is it different than any other language?
DougHogg
25-02-2003, 10:53
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.)
Jeremy_Mc
25-02-2003, 12:38
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
MikeDubreuil
25-02-2003, 12:59
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.
Jeremy_Mc
25-02-2003, 13:16
There is no debate...
scripting is scripting for all it is.
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.
*jeremy
DougHogg
25-02-2003, 13:21
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.
Joe Johnson
25-02-2003, 13:48
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++.
MikeDubreuil
25-02-2003, 14:37
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!
insanely limited and insanely powerful one.
Errr how can something be limited and powerful at the same time??
Jeremy_Mc
25-02-2003, 16:15
Originally posted by rbayer
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.
I can see your point, but this is just my take. Many people think JAVA is a scripting language (including me). PBASIC works very similarly. PBASIC is to JAVA as STAMP Chip is to JVM.
By your definition, JavaSCRIPT is a programming language. Also, by your definition, scripting languages don't exist. Only interpreted programming languages...which is pretty much a fancy way of saying scripting language. It's all the same. The only difference is implementation. Scripting languages are use where complex data structures aren't used and slow execution time is not a problem. Systems programming languages are quite the inverse.
I didn't mean to take away the focus of this thread. I just wanted to share my take on things.
*jeremy
Rickertsen2
25-02-2003, 16:21
I think that Pbasic is a "real" programming language.... Just not as "real" as c++
MikeDubreuil
25-02-2003, 17:04
By your definition, JavaSCRIPT is a programming language. Also, by your definition, scripting languages don't exist. Only interpreted programming languages...which is pretty much a fancy way of saying scripting language. It's all the same.
Javascript is a programming language.
We are discussing the definition of programming language. In my mind programming language is a broad term to describe all methods of commanding a computer to follow a procedure. This means that using the GUI to program your Mindstorms kit is programming language (including Dr. Joe's automotive programming).
A scripting language is a programming language in which it must be intrepeted at runtime before turning into machine code.
EbonySeraphim
25-02-2003, 17:15
As if it mattered more than anyone else...
PBASIC of course is a programming language. I don't care what a scripting language or compile language is, as long as a computer reads it. Also, any scripting language could be compiled if someone wanted to make one, it would just loose portability(someone scream at me if I'm wrong). Some made a comment earlier about PBASIC being limited and powerful. I would have to strongly disagree. A good comment can be made to just about any programming language, though PBASIC has some things that are made easier to handle than other languages,(I can't really think of any, but I'm sure there is something) it isn't really powerful at all. It only has basic and crappy methods of calling sub routines with no built in way of returning values or passing parameters, no real "stack", and memory management. Of course all of that isn't really needed for a robot, but if it was available, I would have done something so much more powerful for the robot.
I wanna know if anyone is using C#? I picked up some books on it a while back and found it to be a good programming language thats great for creating windows applications, and is still maintains low level options. There is an "unsafe" keyword that lets you do certain things that are generally prone to error like pointer management(I think). Also it has some XML support. It seems like an all around good language for Web Development, Application Development, and even decent for games. All under the .NET standards. I think C# would be the next language I would learn if I decide to move on anytime soon. Then I could say I program in "C/C++/C#."
Originally posted by Jeremy_Mc
I can see your point, but this is just my take. Many people think JAVA is a scripting language (including me). PBASIC works very similarly. PBASIC is to JAVA as STAMP Chip is to JVM.
In that case, you could also say that C is interpreted because it is compiled (on my machine at least) down to x86 assembly which is then interpreted and run by the processor. The relationship of PBASIC to the Stamp is nothing like the relationship of Java to the JVM, unless you want to include the relationship between C and an x86 processor as being in there too. Also, VB wouldn't qualify as a programming language either by your definitions as it is "interpreted" (kinda, the relationship is really complex) by Windows. Same goes for just about any other language out there. I'd like to know what you consider to be a "real" programming language as I'm not sure any of the currently used ones would qualify based on your definitions.
By my definition, scripting languages do exist--they're just a subset of programming languages.
Jeremy_Mc
25-02-2003, 17:52
Originally posted by rbayer
By my definition, scripting languages do exist--they're just a subset of programming languages.
ok, we'll assume my definitions are completely wrong.
what do YOU consider a scripting language? and how do they differ from what you consider a programming language?
i'm not seeing how they can possibly be any different from what you say is an interpreted programming language
*jeremy
Originally posted by Jeremy_Mc
I can see your point, but this is just my take. Many people think JAVA is a scripting language (including me). PBASIC works very similarly. PBASIC is to JAVA as STAMP Chip is to JVM.
I didn't mean to take away the focus of this thread. I just wanted to share my take on things.
*jeremy
You're right, and wrong.
While it can be debated whether interpreted languages are real programming language, JAVA is actually a compiled language.
It's actually compiled to a machine code called BYTECODE, which was originally designed to run on a specialized processor for controlling kitchen appliances. SUN took the easy route and made an interpreter so it could be run on many other processors without having to be re-compiled.
To me, I consider interpreted languages as real programming languages. Eventually it all ends up in the same place, as machine code. The process it goes through, however, is different. Interpreted languages tend to be easier to store than compiled languages. However, they tend to be slower to execute.
Jeremy_Mc
25-02-2003, 18:41
Originally posted by Jnadke
You're right, and wrong.
While it can be debated whether interpreted languages are real programming language, JAVA is actually a compiled language.
It's actually compiled to a machine code called BYTECODE, which was originally designed to run on a specialized processor for controlling kitchen appliances. SUN took the easy route and made an interpreter so it could be run on many other processors without having to be re-compiled.
aye yes. holy crap how could i forget the kitchen appliance idea *shudder*
i can see where java would be compiled...but i don't see where many other languages that were mentioned are not scripting (php, asp, perl, and javascript in specific)
maybe i'm just severely confused or misinformed, but i'm pretty sure those aren't programming languages in their purest sense
*jeremy
Originally posted by Jeremy_Mc
what do YOU consider a scripting language? and how do they differ from what you consider a programming language?
When I think of scripting languages, I think of scripts. :D
Basically, a scripting language is (usually) a language (yes, it is still a language) used to automate tasks. Common examples: AppleScript, sh (*nix), AutoCAD scripts, etc. Scripts are often used inside larger programs to simplify some elements of the program. For example, many computer games use a proprietary scripting language to control character actions, etc. I consider these to be scripts because they are used to provide support for an existing program, much like AppleScript provides quick support for Macs.
Where JavaScript, etc differ is in that the programs you write with them aren't designed to automate tasks/make life easier.
One interpreted language that I don't consider to be a scripting language (and I hope nobody else does either) is Lisp/Scheme.
Anyways, I do consider scripting languages to be programming languages. Again, they're just another subset. For me, "programming language" encompasses just about anything that is a set of instructions for the computer to follow. Compiled, Interpreted, Scripting, and just about everything else falls under this definition in my opinion.
Originally posted by Jeremy_Mc
aye yes. holy crap how could i forget the kitchen appliance idea *shudder*
i can see where java would be compiled...but i don't see where many other languages that were mentioned are not scripting (php, asp, perl, and javascript in specific)
maybe i'm just severely confused or misinformed, but i'm pretty sure those aren't programming languages in their purest sense
*jeremy
Yeah, that can be debatable.
There's a fine, hazy line between scripting languages, interpreted languages, and compiled languages. To me, I just consider all of them programming languages, because technically a programming language is anything that tells a microprocessor what to do. Each of them has their advantages and disadvantages. Compiled runs faster than interpreted and scripted languages. Scripted languages are smaller than interpreted and compiled languages.
It mostly depends on the purpose for which language is best. In cases where development time needs to be as little as possible and resources are large, scripted languages work well (which is why they are used in web applications). These languages are perl, asp, php, javascript, and HTML, etc.
Interpreted languages are nice because they travel the fine line needed for most purposes. They are easy to store, because they tend to be small in size. They run rather quickly without needing really fast micrprocessors, which is why you find JAVA more and more in cell phones. These languages are VB, JAVA, PBasic, etc...
Compiled languages are best where brute speed is a factor. Sometimes these programs can be smaller than the other two (if the program itself is small and simple), other times they tend to be larger. However, no matter what they run the fastest because there is no extra translation steps.
The Princton University, Dictionary.com (http://www.dictionary.com) definition
Programming language
<language> A formal language in which computer programs are
written. The definition of a particular language consists of
both syntax (how the various symbols of the language may be
combined) and semantics (the meaning of the language
constructs).
By this definition, scripting, interpreted, and compiled languages are all programming languages. Another defination that needs a little twisting to apply is the Dictionary.com American Heritage Definition:
Programming language - "An artificial language used to write instructions that can be translated into machine language and then executed by a computer."
The key word is can. Eventually Interpreted and Scripted languages are translated into machine language, just at different times than compiled languages.
As for me, I'm a first-year asipiring electrical engineering who has college credits in programming C/C++, JAVA, and x86 ASM (I took college classes during my senior year, paid for by my high school). I also have some experience in programming ASP, so I'm pretty well rounded for my profession. It's useless to learn every language, because once you've learned how each type, compiled, scripted, and interpreted works, it's not difficult to learn the syntax for the individual languages.
Jeff_Rice
25-02-2003, 20:48
Oh my God! I cringe while watching the programming scene in Swordfish. And to think that's actually the future!
Please elaborate.
Why is the scene you refer to so terrible? Do they talk to the computer? Do they type in a bunch of incoherent gibberish? Do they hook up electrodes and program using their minds?
Joe Ross
25-02-2003, 20:52
Originally posted by Rickertsen2
I think that Pbasic is a "real" programming language.... Just not as "real" as c++
I started programing PBASIC much better when I stopped thinking about it as a worse C and began to think of it as a better ASM.
Raven_Writer
25-02-2003, 21:04
I've done PBASIC, Visual Basic (6.0 and .NET), C and C++ (same as VB), Assembly (x86), SQL, ASP, PHP, CGI, Perl, and others I can't think of. I think PBASIC is the same as C/++, it does compile the code into machine-readable only stuff.
(I've also done Delphi 6, GBA code, MFC, Windows, OpenGL, DirectX 8.0 (and 8.1))
Joe Johnson
25-02-2003, 21:29
Is an elephant like rope or like a tree trunk? Depends on whether you are a blind man touching its tail or its leg.
So too PBASIC is both very powerful and very limiting.
Some examples: They have some structures that allow excellent and easy bit piddling. They have some very powerful built in functions including shiftin, shiftout, serin, serout, debug, etc. They use 16 bit unsigned math for all calculations. Until very recently, they had no if-then-else construction. They have a function they call MAX. When you type (A MAX B) it returns the lesser of A or B. Of course, (A MIN B) returns the greater of A or B. The list goes on and on.
Bottom line: Some very difficult tasks are made pretty easy in PBASIC on a STAMP2 -- some tasks that should be easy are not.
That is what I was thinking when I said that PBASIC is both a limited and powerful language.
Joe J.
EbonySeraphim
25-02-2003, 22:17
Originally posted by Joe Ross
I started programing PBASIC much better when I stopped thinking about it as a worse C and began to think of it as a better ASM.
Did I just think I thought I saw that? A better ASM? PBASIC isn't exactly a low level programming language. Synax-wise ASM might no be as attractive, but PBASIC wishes it could do 1/4th of what ASM does. Also comparing it to C is just way outta line. They don't come close.
Originally posted by Raven_Writer
I've done PBASIC, Visual Basic (6.0 and .NET), C and C++ (same as VB), Assembly (x86), SQL, ASP, PHP, CGI, Perl, and others I can't think of. I think PBASIC is the same as C/++, it does compile the code into machine-readable only stuff.
(I've also done Delphi 6, GBA code, MFC, Windows, OpenGL, DirectX 8.0 (and 8.1))
And I thought I was bragging in the original post. Looking at his birthday - July 10, 1987, I know it's not possible. Also, anyone who knows a thing or two about DirectX knows that 8.1 didn't bring any real changes to the programming side of DirectX 8.0, only bug fixes.
Back to Joe Johnson:
Sure they have some low level(basic) tweaks. But let's just say for a minute you could put PBASIC on a PC and run a program using its commands. Those capabilities you mentioned are worthless. Simple C++ inline functions or C macros could do the same task. IHMO I think the most powerful programming languages don't do much for a programmer except basic functions. Nothing needs to be made "nice" for the programmer. There is a reason people have to learn the language.
redbeard0531
25-02-2003, 23:35
VB is a compiled language. Or, at least it can be. It can also be interpreted. It just depends on your settings.
I dont get what's up with all the VB bashing. Is it really that bad? It's object-based, event-driven style is great for most programs. Event-driven would also be great for robot code (although the Visual aspect is unneeded).
For those that havent done VB, certain sub-routines (methods, functions, whatever) are called for each action.
Examples:
Button1_MouseClick is run every time Button1 is clicked
Timer1_Timer is run at a set interval in Timer1's properties
Form1_MouseEnter is run when the mouse enters Form1
Jeremy_Mc
25-02-2003, 23:43
Originally posted by EbonySeraphim
PBASIC isn't exactly a low level programming language.
actually, it is. it's just like ASM for an x86 processor. you tokenize it to byte code that is directly interpreted by the STAMP chip. i don't know how much lower you want to go, but i think i'm satisfied right where it's at.
And I thought I was bragging in the original post. Looking at his birthday - July 10, 1987, I know it's not possible. Also, anyone who knows a thing or two about DirectX knows that 8.1 didn't bring any real changes to the programming side of DirectX 8.0, only bug fixes.
i was born in 1985 and i have experience with most of that stuff. how dare you contest someone's knowledge you know nothing about. so what if you know everything under the sun about programming? that doesn't give you any right to do that. it's very possible for him to have done that. just becuase you didn't do it doesn't mean someone else can't.
functions. Nothing needs to be made "nice" for the programmer. There is a reason people have to learn the language.
aye a gung ho hardcore programmer i see. i'm not sure why you think that. i personally like an unbloated, stripped down language, but i don't want to spend time rewriting libraries full of functions just because the programmer who created the syntax decided it shouldn't be "nice".
*jeremy
Adam Krajewski
26-02-2003, 09:57
My 'primary languages' are PBASIC, VHDL (though I curse it's name), and Matlab.
I have used somewhat extensively QuickBASIC, various flavors of TI-BASIC, some 68K ASM, java, c++, HTML, and LabVIEW.
These are all languages as far as I'm concerned. Whether it's tokenized for the Stamp's BASIC interpreter, java bytecode to run on the aJ-100 (http://www.ajile.com/) hardware JVM processor, or c++ code compiled for x86, it's all programming to me.
From a test engineer's point of view, Dr. Joe is completely right. Automotive electrical testing is moving toward Matlab Simulink and LabVIEW.
Adam
EbonySeraphim
26-02-2003, 12:50
[QUOTE]Originally posted by Jeremy_Mc
actually, it is. it's just like ASM for an x86 processor. you tokenize it to byte code that is directly interpreted by the STAMP chip. i don't know how much lower you want to go, but i think i'm satisfied right where it's at.
I don't think we are on the right page with the definition of a low level language is. Low level means that the user types in code that is close to the machine level code - the lowest level being binary of course. Like in ASM you are dealing with very low level commands like mov, add, sub, push, and other basic commands that put you in control of nearly every processor cycle used in the program. C/C++ are high level languages because of high level functionality like:
CObj objectInst = new CObj(param1, param2);
I'm not calling you stupid, but if you don't know, what that code does automatically for you is create and initialize(in ASM declaring and initializing variables are seperate commands). During the initialization it has to call the function, first pushing its params on the stack, and depending on the calling convention, it might pop the params off itself or let the caller do it...I don't think I have to go on. I'm not trying to say "I'm a supernerd and know more than you" but that just what low level means.
i was born in 1985 and i have experience with most of that stuff. how dare you contest someone's knowledge you know nothing about. so what if you know everything under the sun about programming? that doesn't give you any right to do that. it's very possible for him to have done that. just becuase you didn't do it doesn't mean someone else can't.
Being born in 1985 is a bit different from 1987. 15-17 is quite a bit of a difference. I guess I did speak of something I knew nothing about, but intuition says that a 12 year old can't have a PhD. I know people can be young and know of certain things younger than most. But what he said would just take too much time for someone who just entered high school. Also, I gave other reasoning other than not believing it. Why did he just pop in her saying "I know blah blah blah and blah" and not talk about what he enjoys donig/currently is doing? Sounds like he was just trying to say "I'm the master."
aye a gung ho hardcore programmer i see. i'm not sure why you think that. i personally like an unbloated, stripped down language, but i don't want to spend time rewriting libraries full of functions just because the programmer who created the syntax decided it shouldn't be "nice".
I'm not that hardcore, but I would say I'm pretty devoted. The reason why you don't want some extremely high level language is because every application is different. When speed is crucial,(I'm speaking from a game development perspective here) you don't want some function that is supposed to "Clear Buffer" do something else automatically for you when it doesn't need to be there. You wasted cycles doing something you don't want it to. Also when you debug, its harder to find a bug when some command does so much stuff that the compiler doesn't give you an accurate line of where the problem is. ie. The problem is in call "InitializeGame()" - there is/should be so much stuff initialized in a game that you still don't know what to fix. As far as re-writing libraries, C/C++ has plenty stuff around that you don't have to do much coding if you don't want to deal with low level stuff. What I mean't by nothing has to be "nice" is that, when you want something to happen, it may take a lot of work, but if it was made nice for you, other stuff would be happening that you might interfere with what you really want.
Raven_Writer
26-02-2003, 16:42
Originally posted by EbonySeraphim
Being born in 1985 is a bit different from 1987. 15-17 is quite a bit of a difference. I guess I did speak of something I knew nothing about, but intuition says that a 12 year old can't have a PhD. I know people can be young and know of certain things younger than most. But what he said would just take too much time for someone who just entered high school. Also, I gave other reasoning other than not believing it. Why did he just pop in her saying "I know blah blah blah and blah" and not talk about what he enjoys donig/currently is doing? Sounds like he was just trying to say "I'm the master."
It is possible. I have nothing to do most of the time, so I sit and program, or work on websites. A 12 year old can have a PhD (it's not found commonly, but they could. A genius). The reason why I just bursted in on the topic is because the topic is "What do we really program?" not "What language do you enjoy programming in?". I'm not saying a thing about boasting my programming language stuff, I was just saying I program in this, this, and this. I am not making a game, I don't know all that much of MFC, and I am not trying to boast about anything. I find it ignorant when people flame others about what they know, and don't know. I'm no different than anyone else, I just got more programming languages under my belt. If you are going to jump on my case, why not jump on Adam's (no offense)? You are making yourself seem like you know everything. There are tons of ASM types out there.
And I thought I was bragging in the original post. Looking at his birthday - July 10, 1987, I know it's not possible. Also, anyone who knows a thing or two about DirectX knows that 8.1 didn't bring any real changes to the programming side of DirectX 8.0, only bug fixes.
So, my birthday is July 10, 1987. It is possible. I know that, and it still counts and stands. Even if 8.1 didn't bring any big changes, it still brought changes, and good ones. If microsoft didn't fix those bugs, you would've had to either a: Have to write more code to bypass the bug, or b: Forget about that all so awsome powerup or whatever you wanted because the bug-fix would not make that one happen. If you want to respond, flame, or whatever, e-mail me at pprkut3k@wideopenwest.com, or PM me. No use plugging this board up more.
Back on topic: I'm now learning everything given to you in Visual Studio .NET Professional.
Adam Shapiro
26-02-2003, 17:44
I've done bits in Perl and VB but I mostly work in C++ w/DirectX and MFC. That reminds me...Dashboard3D v1.0 is almost ready for release! I will be putting the source and binary on my team website (which also isn't finished yet...) and probably on this one. I'm gonna try to put some screenshots up in a little while...
EbonySeraphim
27-02-2003, 01:20
I find it ignorant when people flame others about what they know, and don't know. I'm no different than anyone else, I just got more programming languages under my belt.
As much as you want me to have flamed you I didn't. I did clearly state my disbelief of what you said. And if you do have all the experience you said, you shouldn't be saying "I'm no different than anyone else" because at that age hardly anyone could/should have covered that stuff.
As obnoxious/rude/out-of-line as I might seem in saying this, I'll go ahead and do it: I created this thread, so I can and will discuss anything I want - as long as the moderators don't find it so inappropriate for this forum that they delete it.
I will apologize if I offended you for not believing you, but there is no need to make me look like public enemy number one.
Jay Lundy
27-02-2003, 02:58
I was reading through Seraphim's description and it's amazingly similar to my own.
I don't remember exactly when I started, but when I was young (Elementary school age) I did really basic stuff with BASIC. The summer before 6th grade I took a course on basic HTML and JAVA. Somewhere during middle school I learned some C / C++ but I never really caught on. I mostly did stuff with Perl and HTML.
Summer before Freshman year in high school I took a C++ course at the local community college. That summer I really started getting into C++. I was especially interested in playing around with the HL SDK, though I didn't understand most of it at that point. I did a bunch of just basic console stuff as well. Next summer I got a pretty good grasp on all aspects of C++. Took another course, which was basically identical to the last C++ course and where I spent the entire time just programming on my own. Also that summer I advanced to doing Windows programming stuff. I also got really into doing PHP stuff for the team website.
Junior year (this year) I'm taking Comp Sci AB AP and even though I'm too advanced for the course, I took the opportunity to learn DirectX / OpenGL. I wrote a game in OpenGL for a project in the class, and now I'm switching to DirectX because I just like having all the stuff I need together in one package. I want to write something similar (but much less advanced probably) to SubSpace in D3D, but I haven't had much time lately. That will probably be a summer project.
From what I've heard on the gamedev.net forums, C# isn't a whole lot different than C++. It basically takes care of a lot of the memory management for you, but still gives you the opportunity to do it yourself. I'm probably just going to stick with C++ for a while. Though I have heard that Carmack has said that although they aren't good enough yet, graphics oriented languages such as nVidia's CG may be the future of game programming. Oh well if it is I'm sure the conversion from C++ won't be too hard.
EbonySeraphim
27-02-2003, 09:46
I go to the GameDev.net forums a little myself as EbonySeraph. I only post/read the Game Programming, DirectX, General Programming, and rarely the OpenGL forums though.
I also tried out the HL SDK and was so excitied. Unfortunately I didn't know a thing about starting a mod so I just deleted it. What waste of an 80 meg download on a 56k.
gliebowitz
27-02-2003, 09:51
ASP (in JScript), HTML and the like.
As for real languages...
Python and Perl
Raven_Writer
28-02-2003, 15:14
Originally posted by EbonySeraphim
As much as you want me to have flamed you I didn't. I did clearly state my disbelief of what you said. And if you do have all the experience you said, you shouldn't be saying "I'm no different than anyone else" because at that age hardly anyone could/should have covered that stuff.
As obnoxious/rude/out-of-line as I might seem in saying this, I'll go ahead and do it: I created this thread, so I can and will discuss anything I want - as long as the moderators don't find it so inappropriate for this forum that they delete it.
I will apologize if I offended you for not believing you, but there is no need to make me look like public enemy number one.
As I said in my post, I have a lot of free time. I don't see how learning all of that makes me anything special. No, I'm not stupid incase anyone thinks that, but I think I got no life.
"I can and will discuss anything I want" - This little comment in my opinion is saying like "I am the boss of the board, so you will respect what I post". This is really boasting, no?
I am not making you out to be public enemy #1. You are making me out to be a super human, knowledge absorbing brainiac. I am not this, and hope to never be this.
seanwitte
28-02-2003, 15:54
Ok brainiacs, here is a link to last year's ACM programming contest World Finals problem set:
http://icpc.baylor.edu/icpc/finals/problems.pdf
See how many of those you can finish.
rwaliany
28-02-2003, 20:53
STOP arguing, READ THE definitions :P
scripting language - A loose term for any language
that is weakly typed or untyped and has little or no
provision for complex data structures. A program in a
scripting language (a "script") is often interpreted (but
see Ousterhout's dichotomy).
Hence the phrase "data structures."
Java = Programming Language
PHP = Programming Language
Javascript = Scripting Language
etc...
programming language - An artificial language used to write instructions that can be translated into machine language and then executed by a computer.
EbonySeraphim
04-03-2003, 01:38
To Raven_Writer:
Out of context, what I said would seem as if I were boasting. Right before it, I said "since I started this thread."(or something of the sort) And I was implying that just under this topic, not the whole forum or even this section of it.
About the world programming contest pdf - I don't even really understand what it was asking for. Of course it could be because I only looked at for a minute and not a second more. Looking at the problems, they don't seem to hard for a professional to do, and maybe if I understood what it was asking for, I could tell if I couldn't/could do any of them.
seanwitte
04-03-2003, 08:08
The problems are clearly defined, you just need to read it carefully. They aren't meant to test your ability with a programming language, they're meant to test your ability to solve a problem that could not be solved without a computer.
They take an input file containing data sets and produce an output file with the results. This will be a common practice when you get to college, its impossible for profs to grade projects if they have to enter the data through a gui.
Take problem A for example. You are given a rectangular box and a set of data points. You are supposed to figure out the maximum volume that would be occupied by placing balloons at the data points, one by one, inflating them until they either hit the side of the box or another balloon. You can use the data points in any order you want, and you don't necessarily have to use them all. Depending on the order applied, they may not all be available if the space is already occupied by a previously placed balloon. The output is the total volume within the box that is not occupied by any balloons. You're trying to minimize that volume.
Its a complex problem. You have to think "inside the box". Once you break it down you will loop through every possible combination until you find the best solution. This is similar to game theory used in AI.
EbonySeraphim
04-03-2003, 09:22
I'll go back home[at school] and re-look at the problem there. There seem to be many solutions. One note about your comparison to game AI - it doesn't always do what's best for results. There is a compromise between what's best and what's fastest.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.