Well shucks… and here I was thinking that posting code was far too geekish for this thread!
[QUOTE=Napier]
This is confusing two points. It is one thing to have to pay for something like Quick C to be able to write programs. It is another for anyone who wants to use your program to also have to pay for a special environment that can run it, or for you to have to pay for such a special environment for each of your dozen miscellaneous computers on which you might want to run it (if it’s licensed per box). The difference is practically the difference between being able to write for “Windows” as opposed to being able to write for users of a specific package.
[/QUOTE]
Nope, that’s not the case for just about every programming environment out there. If you have to pay for them, you only pay for the development environment, not the runtime environment. That’s almost universally something you give away free, or, in the case of most Windows-based Microsoft tools, built into the OS.
EXE files sometimes can be run without anything else. Most often nowadays for Windows at least, they need a few extra .dll files. The most common ones come with newer Windows versions; older versions may require a download, but it’s a free download, and once you have them, you don’t need to re-download them every time you get a new file that needs them.
I’ve never seen a dev environment except maybe VERY specialized ones that require a license just to run a program written for them.
Napier, reading between the lines, I think some of the reason you’re a bit confused about the newer programming languages/environments is the bit shift from procedural programming to event-driven and OO programming that happened about 15 years ago.
Procedural programming is what you’re used to. You type out a program, and when you execute it, it starts at the first line (or the first line of the “main” function) and goes from there.
Nowadays, things are almost universally event-driven. Meaning, code reacts to user events. Programs are built around objects - like a window can be an object. You can tell the program to do something when the window is first displayed, or when a user presses a button, or moves a scroll bar.
It’s a different way of thinking, but it’s not particularly harder once you get your head around it. But it’s definitely confusing at first.
(and for all you techies - this post is definitely a very general post. Yes, I’m sure you can find a dozen things that you can take exception to or make a point about. I’m just talking in generalities, not trying to explain the whole programming world right now in this thread.)