Google Answers Logo
View Question
 
Q: How was the assembly language made ? ( Answered,   1 Comment )
Question  
Subject: How was the assembly language made ?
Category: Computers > Programming
Asked by: trent44-ga
List Price: $12.00
Posted: 29 Apr 2003 19:46 PDT
Expires: 29 May 2003 19:46 PDT
Question ID: 197288
Because it was made in 1952 i belive ! And i have no clue because
thier were no languages then that author could of wrote it in !
Answer  
Subject: Re: How was the assembly language made ?
Answered By: tisme-ga on 29 Apr 2003 20:47 PDT
 
Hello trent44,

Great question! One that I can remember myself asking when I first
started learning about computer languages.

I found an article on http://www.about.com that does a good job of
describing how computer languages work.

Here is the first excerpt: "The first generation of codes used to
program a computer, was called machine language or machine code, it is
the only language a computer really understands, a sequence of 0s and
1s that the computer's controls interprets as instructions,
electrically." It is possible still to write programs in machine code,
but imagine what it would be like if programming would still have to
be done in 0s and 1s!

Thankfully, the second generation of codes (or computer languages)
partially solved this problem. "The second generation of code was
called assembly language, assembly language turns the sequences of 0s
and 1s into human words like 'add'. Assembly language is always
translated back into machine code by programs called assemblers."
Instead of using lengthy sequences like 010010100010101 for such
things as add, assembly languages allowed programmers to code in
English (and other human languages) which would then be changed into
machine code.

The third generation which was called "high level language" has "human
sounding words and syntax (like words in a sentence". "In order for
the computer to understand any HLL, a compiler translates the high
level language into either assembly language or machine code. All
programming languages need to be eventually translated into machine
code for a computer to use the instructions they contain."
Source for above three paragraphs: "The First Successful High Level
Programming Language" by Mary Bellis
http://inventors.about.com/library/weekly/aa072198.htm

The first computer language that was actually used on an electric
computing device actually appeared in 1949:
http://www.byte.com/art/9509/sec7/art19.htm

In your question, the implication is that there was a specific
language created in 1952 that was called "assembly". I just wanted to
point out that an assembly language "is not a single language, but
rather a group of languages. Each processor family (and sometimes
individual processors within a processor family) has its own assembly
language. In contrast to high level languages, data structures and
program structures in assembly language are created by directly
implementing them on the underlying hardware."
SOURCE: "Introduction to Assembly Language" by Milo (contact info at
bottom of page)
http://www.osdata.com/topic/language/asm/asmintro.htm#general

Assembly language is basically a shortcut that will translate code
into machine code.

Here is an excerpt from an article on Computers found at
http://encarta.msn.com

"Assembly language uses easy-to-remember commands that are more
understandable to programmers than machine-language commands. Each
machine language instruction has an equivalent command in assembly
language. For example, in one Intel assembly language, the statement
“MOV A, B” instructs the computer to copy data from location A to
location B. The same instruction in machine code is a string of 16 0s
and 1s. Once an assembly-language program is written, it is converted
to a machine-language program by another program called an assembler."
Source: MSN Learning & Research - Computer
http://encarta.msn.com/encnet/refpages/RefArticle.aspx?refid=761563087&pn=2#s31

If we take a look at computer history, we can see that there was a lot
of time for people to take the idea of making shortcuts with an
assembly language instead of using 0s and 1s. (I mean that things are
often done in theory long before there is a practical application,
even in computer science).

Looking into the history of computing, we find that "in 1623 German
scientist Wilhelm Schikard invented a machine that used 11 complete
and 6 incomplete sprocketed wheels that could add, and with the aid of
logarithm tables, multiply and divide."
SOURCE: MSN Learning & Research - Computer
http://encarta.msn.com/encnet/refpages/RefArticle.aspx?refid=761563087&pn=3#s40

Another excerpt from the same article: "In 1936 British mathematician
Alan Turing proposed the idea of a machine that could process
equations without human direction. The machine (now known as a Turing
machine) resembled an automatic typewriter that used symbols for math
and logic instead of letters. Turing intended the device to be a
“universal machine” that could be used to duplicate or represent the
function of any other existing machine. Turing’s machine was the
theoretical precursor to the modern digital computer. The Turing
machine model is still used by modern computational theorists."

As you can see, theory usually comes before the product and by 1948
the transistor was already invented. Even if computers would have
stuck to vacuum models forever, theory is always possible! Especially
in the academic world, things do not have to be practical or useful in
the pursuit for knowledge. This link:
http://mbinfo.digitalrice.com/1937-1960.htm shows that "Short Code" in
1949 was the first assembly language. Short Code did have a good use
though, because now programming was possible with the Univac 1 without
having to use 0s and 1s. It is important to note that because assembly
languages convert instructions into machine code (and likewise third
generation languages have their instructions converted directly to
machine code, or first to assembly language and then to machine code),
the effeciency of the final code is entirely dependent on the compiler
and how well it can generate the fastest 0s and 1s. Then again,
imagine how inefficient code would be if programmers today had to
write entire complex programs (like games) in 0s and 1s!

I hope this was the type of answer you were looking for. If you need
any clarifications, please do let me know and I will do my best to
further assist you.

tisme-ga

Additional links you might find interesting: 
http://www.tpub.com/incs/47.htm
http://www.macs.hw.ac.uk/~pjbk/scholar/topic1/html/topic11.html
http://www.dickinson.edu/~cs131/Topics/Work4.html
http://www.intap.net/~drw/cpp/cpp00_01.htm

Search Strategy:

assembly computer language OR languages history
://www.google.com/search?q=assembly+computer+language+OR+languages+history

"assembly languages"
://www.google.com/search?q=%22assembly+languages%22

"first assembly language" 1952
://www.google.com/search?q=%22first+assembly+language%22+1952
Comments  
Subject: Re: How was the assembly language made ?
From: tisme-ga on 29 Apr 2003 21:51 PDT
 
Just posting a quick followup link that you might like:
http://www.xploiter.com/mirrors/asm/asm_1.htm

One of my fellow researchers (easterangel) sent me this link but I
received it a bit too late to use in the answer. It is an excellent
source if you need detailed and technical information. :)

tisme-ga

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy