On Oct 9, 10:42 pm, Rajib Kumar Bandopadhyay <
bkpsusmi...@gmail.com>
wrote:
> How can I delve into the
> history of Programming language and CPU - how to watch with my own eyes
> and understand their demerits?
There is a lot of information about specific CPUs and specific
programming languages on Bitsavers.
As to an overview of programming language history -
well, briefly, it went like this:
There were some early systems of higher-level languages such as MATH-
MATIC and FLOW-MATIC at Univac, and the interesting Klerer-May system
which allowed one to program in two-dimensional mathematical style,
building up summation and product symbols from parts.
But higher-level language programming took off when FORTRAN was
written for the IBM 704, because that compiler had optimizing features
that meant that programs were competitive with those written in
assembler language. (At that time, computer time cost hundreds of
dollars per hour, and computers were much less powerful than they are
today, so computer time cost much more than people time in writing
programs.)
The computer language ALGOL (ALGOL 58 and its more popular successor
ALGOL 60) introduced structured programming, which was adopted by
nearly all subsequent languages. It was particularly carried forwards
in Pascal.
The language C is of importance: it began as a general-purpose
programming language with extensive bit manipulation capabilities so
that it could be used to replace assembler language for writing
systems programs, but it gave rise to C++, which also incorporated
object-oriented programming, which many languages today use.
As to the relationship between the evolution of computer instruction
sets and computer languages -
well, there isn't much of a relation.
On my web site, at
http://www.quadibloc.com/comp/cp0301.htm
I make a comment on the contrast between the instruction sets of the
IBM 701 computer and the PDP-8, in that subroutine call and loop
instructions were found to be more important, and were given more
prominence, in the later PDP-8.
But in general, the changes in computer ISAs have not been reflected
in computer languages in any recognizable fashion.
One exception to this is the generally short-lived attempt to build
computers with instruction sets oriented towards higher-level language
execution. The Burroughs architecture still survives, though, and
there are also processors designed to directly execute Java bytecode.
And I suppose one might also want to look at the VAX.
And then there's LISP and the LISP machines.
So I hope I've given you some hints on where to start looking, but the
connection between computer ISAs and computer languages is tenuous at
best.
Thus, the IBM 1401, the IBM 7090, and the IBM 360 had very different
ISAs - the IBM 360 trying to basically combine the strengths of the
previous two architectures - but they all ran COBOL and FORTRAN.
PL/I was added for the 360; it was a bigger language for a bigger and
more powerful machine. But how much did the ISA really have to do with
it?
John Savard