Blog Archive

Thursday, August 7, 2008

Software & Languages

1945
Konrad Zuse
Konrad Zuse began work on Plankalkul (Plan Calculus), the first algorithmic programming language, with an aim of creating the theoretical preconditions for the formulation of problems of a general nature. Seven years earlier, Zuse had developed and built the world´s first binary digital computer, the Z1. He completed the first fully functional program-controlled electromechanical digital computer, the Z3, in 1941. Only the Z4 — the most sophisticated of his creations — survived World War II.
1948
Claude Shannon
Claude Shannon´s "The Mathematical Theory of Communication" showed engineers how to code data so they could check for accuracy after transmission between computers. Shannon identified the bit as the fundamental unit of data and, coincidentally, the basic unit of computation.
1952
Grace Hopper with UNIVAC 1
Grace Hopper completes the A-0 Compiler. In 1952, mathematician Grace Hopper completed what is considered to be the first compiler, a program that allows a computer user to use English-like words instead of numbers. Other compilers based on A-0 followed: ARITH-MATIC, MATH-MATIC and FLOW-MATIC [software]
1953
IBM 701
John Backus completed speedcoding for IBM´s 701 computer. Although speedcoding demanded more memory and compute time, it trimmed weeks off of the programming schedule.
1955
Herbert Simon and Allen Newell unveiled Logic Theorist software that supplied rules of reasoning and proved symbolic logic theorems. The release of Logic Theorist marked a milestone in establishing the field of artificial intelligence.
1956
In the mid-fifties resources for scientific and engineering computing were in short supply and were very precious. The first operating system for the IBM 704 reflected the cooperation of Bob Patrick of General Motors Research and Owen Mock of North American Aviation. Called the GM-NAA I/O System, it provided batch processing and increased the number of completed jobs per shift with no increase in cost. Some version of the system was used in about forty 704 installations.
MIT Whirlwind
At MIT, researchers began experimentation on direct keyboard input on computers, a precursor to today´s normal mode of operation. Doug Ross wrote a memo advocating direct access in February; five months later, the Whirlwind aided in such an experiment.
1957
UNIVAC MATH-MATIC
Sperry Rand released a commercial compiler for its UNIVAC. Developed by Grace Hopper as a refinement of her earlier innovation, the A-0 compiler, the new version was called MATH-MATIC. Earlier work on the A-0 and A-2 compilers led to the development of the first English-language business data processing compiler, B-0 (FLOW-MATIC), also completed in 1957. FLOW-MATIC served as a model on which to build with input from other sources.
IBM 704 FORTRAN
A new language, FORTRAN (short for FORmula TRANslator), enabled a computer to perform a repetitive task from a single set of instructions by using loops. The first commercial FORTRAN program ran at Westinghouse, producing a missing comma diagnostic. A successful attempt followed.
1959
ERMA characters
ERMA, the Electronic Recording Method of Accounting, digitized checking for the Bank of America by creating a computer-readable font. A special scanner read account numbers preprinted on checks in magnetic ink.
1960
COBOL design team
A team drawn from several computer manufacturers and the Pentagon developed COBOL, Common Business Oriented Language. Designed for business use, early COBOL efforts aimed for easy readability of computer programs and as much machine independence as possible. Designers hoped a COBOL program would run on any computer for which a compiler existed with only minimal modifications.

Howard Bromberg, an impatient member of the committee in charge of creating COBOL, had this tombstone made out of fear that the language had no future. However, COBOL has survived to this day.
LISP Programmer´s Reference
LISP made its debut as the first computer language designed for writing artificial intelligence programs. Created by John McCarthy, LISP offered programmers flexibility in organization.
C.A.R. Hoare circa 1965
Quicksort is developed. Working for the British computer company Elliott Brothers, C. A. R. Hoare developed Quicksort, an algorithm that would go on to become the most used sorting method in the world. Quicksort used a series of elements called “pivots” that allowed for fast sorting. C.A.R. Hoare was knighted by Queen Elizabeth II in 2000.
1962
Spacewar! on PDP-1
MIT students Slug Russell, Shag Graetz, and Alan Kotok wrote SpaceWar!, considered the first interactive computer game. First played at MIT on DEC´s PDP-1, the large-scope display featured interactive, shoot´em-up graphics that inspired future video games. Dueling players fired at each other´s spaceships and used early versions of joysticks to manipulate away from the central gravitational force of a sun as well as from the enemy ship.
1963
Sketchpad document
Ivan Sutherland published Sketchpad, an interactive, real time computer drawing system, as his MIT doctoral thesis. Using a light pen and Sketchpad, a designer could draw and manipulate geometric figures on the screen.
ASCII code
ASCII — American Standard Code for Information Interchange — permitted machines from different manufacturers to exchange data. ASCII consists of 128 unique strings of ones and zeros. Each sequence represents a letter of the English alphabet, an Arabic numeral, an assortment of punctuation marks and symbols, or a function such as a carriage return.
1964
BASIC manual
Thomas Kurtz and John Kemeny created BASIC, an easy-to-learn programming language, for their students at Dartmouth College.
1965
Object-oriented languages got an early boost with Simula, written by Kristen Nygaard and Ole-John Dahl. Simula grouped data and instructions into blocks called objects, each representing one facet of a system intended for simulation.
1967
Seymour Papert
Seymour Papert designed LOGO as a computer language for children. Initially a drawing program, LOGO controlled the actions of a mechanical "turtle," which traced its path with pen on paper. Electronic turtles made their designs on a video display monitor.

Papert emphasized creative exploration over memorization of facts: "People give lip service to learning to learn, but if you look at curriculum in schools, most of it is about dates, fractions, and science facts; very little of it is about learning. I like to think of learning as an expertise that every one of us can acquire."
1968
Edsger Dijkstra´s "GO TO considered harmful" letter, published in Communications of the ACM, fired the first salvo in the structured programming wars. The ACM considered the resulting acrimony sufficiently harmful that it established a policy of no longer printing articles taking such an assertive position against a coding practice.
1969
The RS-232-C standard for communication permitted computers and peripheral devices to transmit information serially — that is, one bit at a time. The RS-232-C protocol spelled out a purpose for a serial plug´s 25 connector pins.
UNIX "license plate"
AT&T Bell Laboratories programmers Kenneth Thompson and Dennis Ritchie developed the UNIX operating system on a spare DEC minicomputer. UNIX combined many of the timesharing and file management features offered by Multics, from which it took its name. (Multics, a projects of the mid-1960s, represented the first effort at creating a multi-user, multi-tasking operating system.) The UNIX operating system quickly secured a wide following, particularly among engineers and scientists.
1972
Nolan Bushnell introduced Pong and his new company, Atari video games.
1976
CP/MCP/M
Gary Kildall developed CP/M, an operating system for personal computers. Widely adopted, CP/M made it possible for one version of a program to run on a variety of computers built around eight-bit microprocessors.
1977
The U.S. government adopted IBM´s data encryption standard, the key to unlocking coded messages, to protect confidentiality within its agencies. Available to the general public as well, the standard required an eight-number key for scrambling and unscrambling data. The 70 quadrillion possible combinations made breaking the code by trial and error unlikely.
1979
Bob Frankston and Dan Brinklin
Harvard MBA candidate Daniel Bricklin and programmer Robert Frankston developed VisiCalc, the program that made a business machine of the personal computer, for the Apple II. VisiCalc (for Visible Calculator) automated the recalculation of spreadsheets. A huge success, more than 100,000 copies sold in one year.
1981
The MS-DOS, or Microsoft Disk Operating System, the basic software for the newly released IBM PC, established a long partnership between IBM and Microsoft, which Bill Gates and Paul Allen had founded only six years earlier.
1982
Lotus 1-2-3
Mitch Kapor developed Lotus 1-2-3, writing the software directly into the video system of the IBM PC. By bypassing DOS, it ran much faster than its competitors. Along with the immense popularity of the IBM´s computer, Lotus owed much of its success to its working combination of spreadsheet capabilities with graphics and data retrieval capabilities.

Kapor, who received his bachelor´s degree in an individually designed cybernetics major from Yale University in 1971, started Lotus Development Corp. to market his spreadsheet and served as its president and CEO from 1982 to 1986. He also has worked to develop policies that maximize openness and competitiveness in the computer industry.
1983
Microsoft announced Word, originally called Multi-Tool Word, and Windows. The latter doesn´t ship until 1985, although the company said it would be on track for an April 1984 release. In a marketing blitz, Microsoft distributed 450,000 disks demonstrating its Word program in the November issue of PC World magazine.
1985
Aldus PageMaker
Aldus announced its PageMaker program for use on Macintosh computers, launching an interest in desktop publishing. Two years later, Aldus released a version for IBMs and IBM-compatible computers. Developed by Paul Brainerd, who founded Aldus Corp., PageMaker allowed users to combine graphics and text easily enough to make desktop publishing practical.

Chuck Geschke of Adobe Systems Inc., a company formed in 1994 by the merger of Adobe and Aldus, remembered: "John Sculley, a young fellow at Apple, got three groups together — Aldus, Adobe, and Apple — and out of that came the concept of desktop publishing. Paul Brainerd of Aldus is probably the person who first uttered the phrase. All three companies then took everybody who could tie a tie and speak two sentences in a row and put them on the road, meeting with people in the printing and publishing industry and selling them on this concept. The net result was that it turned around not only the laser printer but, candidly, Apple Computer. It really turned around that whole business.
The C++ programming language emerged as the dominant object-oriented language in the computer industry when Bjarne Stroustrup published "The C++ Programming Language." Stroustrup, at AT&T Bell Laboratories, said his motivation stemmed from a desire to write event-driven simulations that needed a language faster than Simula. He developed a preprocessor that allowed Simula style programs to be implemented efficiently in C.

Stroustrup wrote in the preface to "The C++ Programming Language": "C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer. Except for minor details, C++ is a superset of the C programming language. In addition to the facilities provided by C, C++ provides flexible and efficient facilities for defining new types.... The key concept in C++ is class. A class is a user-defined type. Classes provide data hiding, guaranteed initialization of data, implicit type conversion for user-defined types, dynamic typing, user-controlled memory management, and mechanisms for overloading operators.... C++ retains C's ability to deal efficiently with the fundamental objects of the hardware (bits, bytes, words, addresses, etc.). This allows the user-defined types to be implemented with a pleasing degree of efficiency."
1987
Apple engineer William Atkinson designed HyperCard, a software tool that simplifies development of in-house applications. HyperCard differed from previous programs of its sort because Atkinson made it interactive rather than language-based and geared it toward the construction of user interfaces rather than the processing of data. In HyperCard, programmers built stacks with the concept of hypertext links between stacks of pages. Apple distributed the program free with Macintosh computers until 1992.

Hypercard users could look through existing HyperCard stacks as well as add to or edit the stacks. As a stack author, a programmer employed various tools to create his own stacks, linked together as a sort of slide show. At the lowest level, the program linked cards sequentially in chronological ordered, but the HyperTalk programming language allowed more sophisticated links.
1989
Box Art for SimCity
Maxis released SimCity, a video game that helped launch of series of simulators. Maxis cofounder Will Wright built on his childhood interest in plastic models of ships and airplanes, eventually starting up a company with Jeff Braun and designing a computer program that allowed the user to create his own city. A number of other Sims followed in the series, including SimEarth, SimAnt, and SimLife.

In SimCity, a player starts with an untouched earth. As the mayor of a city or city planner, he creates a landscape and then constructs buildings, roads, and waterways. As the city grows, the mayor must provide basic services like health care and education, as well as making decisions about where to direct money and how to build a revenue base. Challenges come in the form of natural disasters, airplane crashes, and monster attacks.
1990
Microsoft shipped Windows 3.0 on May 22. Compatible with DOS programs, the first successful version of Windows finally offered good enough performance to satisfy PC users. For the new version, Microsoft revamped the interface and created a design that allowed PCs to support large graphical applications for the first time. It also allowed multiple programs to run simultaneously on its Intel 80386 microprocessor.

Microsoft released Windows amid a $10 million publicity blitz. In addition to making sure consumers knew about the product, Microsoft lined up a number of other applications ahead of time that ran under Windows 3.0, including versions of Microsoft Word and Microsoft Excel. As a result, PCs moved toward the user-friendly concepts of the Macintosh, making IBM and IBM-compatible computers more popular.
1991
Linus Torvalds, 1991
The Linux operating system is introduced. Designed by Finnish university student Linus Torvalds, Linux was released to several Usenet newsgroups on September 17th, 1991. Almost immediately, enthusiasts began developing and improving Linux, such as adding support for peripherals and improving its stability. Linux is now one of several open source Unix-like operating systems.
Pretty Good Privacy is introduced. Pretty Good Privacy, or PGP, is an e-mail encryption program. Its inventor, software engineer Phil Zimmermann, created it as a tool for people to protect themselves from intrusive governments around the world. Zimmermann posted PGP on the Internet in 1991 where it was available as a free download. The United States government, concerned about the strength of PGP, which rivaled some of the best secret codes in use at the time, prosecuted Zimmermann but dropped its investigation in 1996. PGP is now the most widely used encryption system for e-mail in the world.

No comments: