Lawl.
Printable View
Lawl.
don't you lawl me mister or i won't ever give you virtual cookies or tea ever!:)
http://www.mrsfields.com/files/produ...38_250x250.jpg
also you know although those cookies look great, if they arn't put in an airtight container soon they are going to go soft and i hate when they go soft and nasty, unless they are chewy cookies, in which case they rule just as much as crunchy ones
( anyway is Lawl just a big lol or what, or is it some other laughing abbreviation?)
........and then hopefully i haven't come back from a pretty long break and totally destroyed this thread/flame war and Tekmo can make his game work again!
Processors have a variety of basic functions such as adding, multiplying, loading and saving to memory, jumping etc. that depend on each type of chip.
These functions have "op codes" which are basically numbers (in binary) which relate to each function, and operands (the arguments of the function).
This is all in binary.
Assembly is the next level up where instead of op-codes and binary, programs are written in pseudo-English with "ADD" replacing "00100101" or whatever and the operands written as "r0" (register 0) etc. instead of some arcane binary representation.
An assembler translates (assembles) this to binary executable code.
A "high-level" programming language that you are familiar with such as C, BASIC etc. is a bit more complex because instead of a 1-to-1 correspondance between lines of code and op-codes, one line of C can be translated (compiled) into several op-codes.
Noin needs to use assembly on his "custom built electronics" because a compiler, that translates one programming language to binary, might not exist for that chip and are hard(ish) to write, whereas assemblers probably do exist (since they are language-independent and you only need one) or are much easier to write.
And that's assembly in a nutshell.
^^Not to nitpick, but C isn't exactly a high level language, per say. It is a higher level language than ASM, though.
Not to nitpick, but it's per se. :P
And yes, I know C is a grey area. To be honest I've ne'er touched it. I've understood it at rare occasions.
I guess that my generation has been shielded from the ugliness of low level programming (or beauty if you are so inclined and/or perverse) by such extravagances as virtual machines, JIT compilers whatnot. I programmed before this, but this was in QBASIC and BBC BASIC, and I was but a wee lad.
EDIT: To be more specific I avoided real HLLs such as Java and C# because the whole "C# compiles to CLR, which runs in a virtual machine and uses the .NET Framework, which runs in Windows but not in Linux, in which case you need to use Mono which is kind of similar...." was not as simple as saying "C compiles to binary" (even though C compiles to assembly in most cases. But still.)
You see? The deeper we get in to things the less helpful it gets...
C is a compiled language. ASM is an assembled language. Java is translated into several kinds of Java files which need JVM to run. C# is even worse: It "compiles" to an application manifest, and then you must poke around to find the parts you need to run the program. X__x
std::
Do you not mean "C is a language that needs to be compiled" and "ASM is a language that needs to be assembled"? Seems confusing otherwise. You could say binary is a compiled language. After all, it perhaps was compiled.
You know, this whole discussion started when Noin said something slightly out of context and just a little bit strange.
Now Noin has seemed to redeem himself, you do the same? Gah!
Joking. But that did seem like a random interjection there. And ASM is an assembled language? Really now? And an apple is an apple? And an orange an orange?
No. C is a compiled language. That is how you describe it's type. Assembly is assembled. Binary is literally changing the switches on a computer's motherboard and memory. So I'm not sure what that would be...
Compiled = .xyz -> Compiler -> Parser -> Linker -> Executable program
Interpreted = .xyz -> .xyz -> read by another program or framework -> parser -> executed
Assembled = .o -> Assembler -> Executable Program
std::
To be more precise, c is nothing more than a set of commands and variables used as input into a C compiler which creates the executable.
thus C itself is simply a command sheet for C compilers.
Oh and binary, i word it like this:
Binary is a set of 0's and 1's whereas 1's enable the flow of electrical impulses into specific circtuits, thus gaining the desired effect (light on), and the 0's cut off the flow of the impulses (light off).
Actually it's quite easy to understand after a while of sitting around in this subject.
And fascinating indeed.
BTW.
100hz = 100 impulses per second
3,6ghz = 3.600.000 impulses per second
That's a crapload
Gaaaah
I resign from this thread.
However, I still think Seismosaur's nomenclature is *dodgy*, even if correct (which it is). Plus, interpreted languages are often not compiled. Some are, some aren't. But the "classic" interpreted language - that non-existant example you learn at school - is not. A language need not be compiled to run. Parsed, yes. Compiled, no. "Compiled", hmm, no.
Both of your descriptions of machine code are horribly mangled.
But, I resign from this thread. Silliness is prevailing!