ID:275294
 
I have a rather simple question. What is the difference between Programming languages and scripting languages?

Resonating Light
What I believe the difference is is that programming languages like assembly, and C/C++ get compiled down into machine-readable code. Scripting languages just get interpreted, require an interpreter program to run them, and are not compiled into machine-readable code.
In response to Jon88
Yes, this is just my opinion, but here are the 3 types of programming interfaces:

Scripting Language: Basically a set of information an engine reads reads to do its thing. A scripting language is ALWAYS executed by a PROGRAM by nature (obviously the OS and processor have to handle the instructions).

Programming Language: Programming languages are languages that compilers understand. The compilers I am talking about are byte-compilers.. that is, a compiler that creates machine code that the processor runs and the operating system handles.

Assembly (Pure): I put assembly in its own catagory as a language type because pure assembly is compiled just for a certain processor, whether it be Intel, ARMv7, or whatnot. Assembly is indeed compiled by a compiler, but the instructions are just verbal forms of the machine equivilent (the only pre-processing is for labels). Pure assembly is not portable because of its innate nature, but it also stand-alone.. that is, it does not need an operating system to work.. it needs the native processor :D


(I am not a geek ^_^)
In response to Dreq
What does that make BYOND?
In response to Foomer
Byond itself is a program, written in C++ (god, I hope it was at least coded in c++), which is a programming language. DM, the language byond uses to interpret the games, is a scripting language. So, if you are refering to dream(whatever).exe, those are done with programming languages. If you are refering to the byond language, that is a scripting language :)

Like I said, if it requires a 3rd-party program to run the code, it is a scripting language.

If you COMPILE the code, and it generates an EXECUTABLE that the native operating system can handle (aka, if you can "double-click" the thingy and it works by itself, and is a *.exe, *.com, or whatever), it is a programming language.

Don't worry about pure assembler languages if you don't know the idfference between the other two ;)
In response to Dreq
Pure assembly can use components of operating systems. It's possible(although fairly nutty) to write entire windows programs in pure assembly.
In response to Jon88
Nono, thats why I specified. I use MASM all the time to write windows applications. MASM has loads of windows headers, and is very nice to create extreamly fast and small windows applications.

Pure ASM is, for example, NASM without ANY headers. I am using NASM to write my operating system. I consider NASM without headers a pure assembly language since the only documentation I need to understand how to program it, is the intel processor programming book (book 3) :D, and of course it only requires a processor to run.

On a side note, there should be a website with all low-level computer information readily avaiable.. intel documentation is easy to obtain, but port lists and such have sketchy documentation sparcly scattered on the net :(
In response to Dreq
Lol... this is going way out of my comprehension now.

The only language I know is DM... Well I know HTML, but that's not too much of a language. I do want to learn some more languages but my computer is so slow that I can hardly run Dreem Maker, not counting that I an't play games with BYOND as Dreem Seeker is too slow on my computer. I have almost reached the point that I can't play my own game... which isn't very big. I'm getting off topic.

Resonating Light
In response to Resonating_Light
Please fill in the following information if you can:

Operating System:
Processor Type/Speed:
Graphics Card (if you added one):
Ram and ram type:


heres an example (mine):

Operating System: Linux SuSE 8.2 Pro
Processor Type/Speed: Intel Celleron (yuck) 1.3ghz
Graphics Card (if you added one): NVidia GForce4 MX/PCI (eew)
Ram and ram type: 381megs/SDRAM (*puke*)

I can explain though ;) My motherboard is crap so no AGP, and same with SDRAM.. I need to buy a new motherboard, processor, ram, and graphics card all at the same time, so that will take me a while to save up for
In response to Dreq
You're gonna laugh.. or cower, on or the other

Operating System: Windows 95
Processor Type/Speed: Intel Pentium I
Graphics Card (if you added one): Not sure(maybe 16)
Ram and ram type: 32mb SDRAM

I was supposed to get a new PC with a 64mb graphics card, AMD XP-1700, 256md DDRRAN, Windows XP(that was a given.) But it was a damn good computer, cheap too. But my mom's work sucks so... yeah, go figure.

Resonating Light
In response to Resonating_Light
That is your problem.. you barely have enough ram for windows, much less its background applications. So 99% of the stuff you run, runs in "virtual memory", which is basically emulated memory on your hard disk. And since your harddrive can only do one thing at a time, that memory is very very slow. Add that to the low speed processing power of a P1 (compared to today's processors), and you have a very very slow operating system.

Sorry friend, but you will not have much luck until your mother's work stops sucking (yeah, I used to be in that situation too with a win3.1 comp ^_^)
In response to Dreq
Yeah... I'm screwed at home... But all is well still. Tommorow I start out my junior year of high school at a vocational school. I'll be taking the Computer Systems/ Networking Technology there. So something good may come out of that.

Resonating Light
In response to Dreq
Dreq wrote:
Byond itself is a program, written in C++ (god, I hope it was at least coded in c++), which is a programming language. DM, the language byond uses to interpret the games, is a scripting language. So, if you are refering to dream(whatever).exe, those are done with programming languages. If you are refering to the byond language, that is a scripting language :)

you're close, but not quite.

Instruction-sets that get compiled into an executable format are generally not termed scripting languages.

"BYOND" is a suite of programs: DreamMaker (the editor/compiler), DreamDaemon (standalone world executer), and DreamSeeker (the actualy game client).

DreamMaker is also the language that BYOND games are written in, but since it is a compiled language (like C and C++), it does not qualify as a scripting language like Javascript or VBscript.

Usually there are limits to a scripting language's scope in many areas, like variables, memory usage, or access to hardware abstraction layers (for example Javascript can't interact with disk-drives or modems)

And even many interpreted languages are not necessarily scripting languages either. A good example is the old Commodore 64 BASIC (or any BASIC prior to VisualBASIC I guess) - it was interpreted at runtime, but was certainly no scripting language. Even the more recently popular PHP - while often considered a web-based server-side scripting language - can be compiled to run offline (phpGTK).
In response to Dreq
Operating System: Win 98
Processor Type/Speed: 800 mHz
Graphics Card (if you added one): Dunno
Ram and ram type: 128MB

~GokuSS4Neo~