views:

506

answers:

5

I've been taught that "assembly" is what you write in your files, to have your "assembler" convert it into binary code.

But I see these two terms mixed and matched in various works. I've even heard that you write "assembler", after which an "assemblator" makes it executable.

Tell me, please, what's the right words to use?

+5  A: 

The purpose of language is to communicate.

If people say things, and other people understand them, they are using the correct terms.

We have rules to make it easier to understand, but in my opinion, if you say what sounds best for you, and let other people say what sounds best for them, and you all understand what you all mean, then everything will be peachy.

For what it's worth, I prefer to write "assembly" and assemble it with an "assembler." I think "assemblator" should be the word of the day someday, and everyone should try to use it as often as possible.

Chris Lutz
This is true in most cases but sometimes a situation is created where 2 people are talking about the same thing and they have no idea.
smack0007
+1 You just assemblatoratificated my day ;-)
balpha
@smack - This is possible, but I've never seen anyone who was genuinely confused about the difference between "assembly language" and "assembler language" - most people who are smart enough to know what assembly language is are smart enough to figure out when someone calls it by a slightly different name.
Chris Lutz
+13  A: 

Actually, the language is called "Assembly Language", and the tool to convert it to machine code is the "Assembler".

More info on Wikipedia: http://en.wikipedia.org/wiki/Assembly_language

Philippe Leybaert
+2  A: 

This might be a (human) language issue - the Swedish word for "assembler" appears to be "assemblator"...

See also: http://sv.wikipedia.org/wiki/Assemblator

Stobor
+4  A: 

The assembly is a piece of code/executable that is in machine executable code. This might be an obj, exe, dll, ... It is the result of a compile.

The assembler is the "compiler" that compiles code into machine executable code. This code has been written in the language "Assembly Language". Assembly language in common English is often called Assembler.

Assemblator seems to be a creative word, born out of necessity to reduce confusion caused by missusing the other terms or a term in a foreign language (see other answers).

Ralph Rickenbach
In microsoft-land, that may be true, but long before .NET came out, people used the word assembly as short-hand for "assembly code" - that is, the source code you provide as input to an assembler to generate a file containing machine code.
George
@George I am an old timer, started programming on computers that almost filled rooms, and this was the use and definition of the words. People started to use them in a sloppy way pretty soon.
Ralph Rickenbach
@Ralph Rickenbach Sorry, I didn't mean to sound condescending in my previous comment. That's just how I'd always heard the terms used until .NET came along and decided to use the word "assembly" to mean something different.
George
+1  A: 

I'm guessing the origin of these terms goes back to the classic dictionary defintion of assembly: "an assembly of machine instructions to achieve a purpose" which is probably how the computing pioneers thought of a small group of machine instructions. Then an "assembler" is a device that takes individual machine instructions an puts them together into an "assembly".

Ira Baxter