Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   What Do We Really Program? (http://www.chiefdelphi.com/forums/showthread.php?t=18542)

Jnadke 25-02-2003 19:25

Quote:

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.



Quote:

The Princton University, 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

Quote:

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

Quote:

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

insanely limited and insanely powerful...
 
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

Quote:

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.

Quote:

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

Quote:

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.

Quote:

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.

Quote:

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

Quote:

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.

Quote:

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

Quote:

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.


All times are GMT -5. The time now is 14:28.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi