Codes for Computer Science

Submitted by: Submitted by

Views: 376

Words: 1057

Pages: 5

Category: Literature

Date Submitted: 06/10/2012 04:12 AM

Report This Essay

In the very early days of computing, the only “language” employed was comprised of native machine instructions, which were often “entered” by flipping switches and moving cables around.  Programmers had to know the numeric representation of each instruction, and they had to calculate addresses for data and execution paths. Some time in the 1950′s someone got the bright idea of writing instructions in a human-readable form by using symbols for instructions and memory addresses. 

They called this “assembly language”, because they ran this text through a utility called an “assembler” that would translate the nearly-human-readable code into machine instructions.  Assembly language is often considered the second generation of computer languages. The fifties also saw the rise of the third generation of programming languages, which sought to solve the machine-specific problem as well as to make programs even more understandable to humans. 

Fortran and COBOL are both imperative languages (which means that they’re written in a sequential “do this, now do this” style) — and each tried in various ways to mimic human language with the goal of eliminating the need for programmers. 

Third generation languages (aka “3GLs”) made it possible for businesses to create huge, complex applications that would remain in service for decades.  Soon it became obvious that a programming methodology that made code easier to understand and modify would provide a distinct advantage.

In yet another attempt to eliminate programmers, quite a few companies tried their hand with what become known as fourth-generation languages (4GLs).  These languages sought to abstract business application development to the point where only the business rules needed to be specified.  In the 80′s and early 90′s many attempts were made to rewrite applications in a 4GL, most of which failed miserably because real-world applications require exceptions to any rule, and unless you can easily get at lower layers of...