Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

(Typo. 'Assembly', "contracted notation", is a language. Made to make human readable the elements of those pieces of binary information that the 'Assembler', executed code, assembles.)


It is a very significant step worthy of note in computing history.

The difference between raw machine op codes and a nicely formatted asm with whitespace/columns is quite a leap, if you've ever programmed that way.


My mother did. She programmed in octal. She told me, more than once, how nice it was when she got an assembler.


Not a typo. Both the process and the notation has been called "assembler" and "assembly".


> has been called

For that matter, language in use has a "descriptive" side overwhelmingly larger than the "prescriptive" side.

Now, the "assembler" is that thing which takes program components - say, a loop, an array of data and a subroutine - and concatenates them, e.g. fixing addressing (see Wilkes, Wheeler and Gill 1951) - you have to compute, for specification e.g. in the loop, at which address the data and the subroutine will start. The result is hence an "assembly".

Assembling was a clerical work. And famously (or notably), when Donald Gilles wrote an automated assembler, John von Neumann protested that "to have computers perform clerical work is a waste of precious resources".

But since at some point you got a piece of software to assemble the chunks, you can then think of adding an interpreter to translate machine operation mnemonics into machine code. So its syntax becomes "the language for the assembler", and "assembly language" would be "the language to obtain an assembly". Both expressions are weak, and I do not know historical details in their use. Some adopted the use of 'assembly' for the language to reserve 'assembler' for the processing program.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: