Tuesday, August 01, 2006

Week 3 - The Swinging Sixties

The 1960's
Some people thought Fortran wasn't sutiable to the kind of things that they wanted to do, so they began to develop other languages.
1945, Vannevar Bush (PhD, MIT, 1917). Thought up hypertext, using microfilm, called Memex, where any piece of information could be linked to any other piece.
"It is an enlarged, intimate supplement to his memory".
Memex was to search by association rather than by indexing.
Noone paid any attention to this for another 20 years.
Be had a lot of power and influence in Washington at the time.

In 1965 Doug Nelson coined the word hypertext.

But it really only came about in the 1990's.

Algol 60
Was designed after Fortran.
The Zurich conference was the first formal attempt to address the issue of portability (machine independence). This freed them to be creative, but made implementation difficult. And as it wasn't a US product, it never really took off in the US. Burrows took it up, but Algol ended up disappearing.

But it was important because of its influence on following languages.
It became the defacto standard for writing algorithms in papers etc.

Fortran wasn't specified, but Algol was specified by BNF.
Algol wasn't a company product, it had better loop constructs, and recursion.

Lisp
List Processing wasn't new, however only at the very low level. So lisp language was proposed

Packet Switching.
Interactive data communication in the 1960's was circuit switched, which wasted 90% of the bandwidth.
The idea is we can chop everything up in bits, and then chuck them into the system, and then they can all go their separate ways and they can be routed and find their way to their destination.

"Information Flow in Large Communication Networks."

Nobody actually believed it would work. Even the military ignored his proposal. But by the 1970's, all networks were using it, because it was very cost effective.

The military wanted something that could surviuve a nuclear blast but never actually took it up.
1969 - In UCLA, a military finded process sent the first packet between two computers, which would eventually become the internet. It was two graduate students.

Image based GUI
The name of the software was sketchpad.
It was a remarkable new way for people to interact with computers.

Architecture

I can go ahead and develop something remarkable later on. I don't have to do it now. Focus on your opportunties and earn enough to be able to support the remarkable stuff later on.

IBM System/360

IBM operating systems.
How do you manage all the jobs you have to do? At this time, programs were written on punch tape, and you feed it through the reader, and it reads the program, and just executes it, and spits out the result.
It was pretty inefficient. You can imagine! So there was this operating system that you could just keep feeding it jobs, and it would complete them as fast as it could, printing out the answers.
This led to the IBM operating system where jobs were loaded and unloaded automatically.
Fred Brooks managing the system. He's the guy who wrote "The Mythical Man Month". (Whicxh cost me a $45 library fine). This book was based on the issues that arose in the development of IBM/360.

Object-Oriented Programming.
Simula was designed for doing simulations. A superset of Algol 60 that included the concept of a class. OO was born, with virtual procedures, inheritance etc.

Of course, the Americans didn't take much notice of it, so for a decade or more it never took off. Later, Smalltalk 80 and C++ really made it popular.

Computational Complexity.
People were starting to talk about it, and Hartmanis and Stearns, at Cornell. What's this trade off between space and time in computing?
NP Completeness Non-deterministic polynomial time
NP Complete are problems which are not polynomial. They are problems that for large numbers you just cannot solve, because they just take too long.
Millions of hours have probably already been spent on trying to find algorithms for NP Complete problems. If we could prove that P = NP, then we could solve them, but many believe that P is not equal to NP.