X-Apparently-From: Message-ID: <005601c05611$3c336d90$a28a1004@dbcooper> From: "Patrick Moran" To: References: Subject: Re: M$ Basic (was [fd-dev] PKZIP 2.50 for DOS) Date: Fri, 24 Nov 2000 05:19:31 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.3018.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 Reply-To: opendos AT delorie DOT com I goofed, it was in 1964. John Kemeny and Thomas Kurtz develop the BASIC programming language at Dartmouth College in 1964. There was a lawsuit over this a long time ago. I can look it up, but remember seeing it. Of course crooked Gates won the lawsuit. I believe the suit was files by John Kemeny or possible both of them filed suit. BASIC at Dartmouth Time-sharing offered another avenue for university instruction. A timesharing environment could be set up to handle small programs and data sets from many users, giving each a rapid diagnosis of any errors he or she might have made. It was not enough simply to have time-sharing; one also had to design the system so that users could write programs easily and receive a quick and intelligible diagnosis of any errors. Under the leadership of John G. Kemeny, chairman of the mathematics department (and later president of the college), Dartmouth began building such a system in 1963. Kemeny had done calculations using punched-card equipment for the design of atomic weapons at Los Alamos. That experience led him to believe that "next to the original development of general-purpose high-speed computers the most important event was the coming of man-machine interaction." He wanted a system that would teach interactive computing to all of Dartmouth's students, not just those studying computer science or engineering or physics. He was aware of work being done in the Cambridge area, including the IBM-based CTSS and a system running on a DEC PDP-l.89 Whereas MIT went on from these modest beginnings to the more mbitious Project MAC, Kemeny and Thomas E. Kurtz (also of the Dartmouth mathematics department) decided to build a modest system around a programming language especially tailored to the needs of Dartmouth students. They called that language BASIC. Bell Laboratories and Project MAC had chosen General Electric computers for their ambitious time-sharing systems, and now Dartmouth, too, chose GE. Dartmouth used a General Electric 235 computer connected to a smaller GE Datanet computer, which collected and managed the signals from the Teletype terminals scattered across the campus. Dartmouth's system was not a general-purpose time-sharing system, as defined by proponents like John McCarthy. It was tightly focused on undergraduate education, at a school where only 25 percent of students majored in science or engineering. MIT wanted a variety of languages available on its systems; at Dartmouth, the student programmed only in BASIC. The Dartmouth experience was a success for both Dartmouth and GE. But Dartmouth's model of open, free access, like the college library, did not prevail. General Electric offered a commercial version, and a few other universities adopted the model, and these continued to be supported after General Electric sold its computer business to Honeywell. Mainframe computers were still expensive, and what worked for a small, private college like Dartmouth did not necessarily work at a state university with a large, diverse graduate and undergraduate student body. Most universities felt a need to charge a fee based on the time a student was connected to the computer system, with higher fees charged for the time his or her program used the central processor. Who actually paid this fee varied from one university to the next, although often the National Science Foundation or some other government agency was involved. In many cases, little real money was paid. The computer manufacturer gave the university a discount on the hardware; it may also have claimed a tax deduction; the university found ways to bury the remaining charges into some other, federally funded (sometimes military) research project. Many universities continued to teach computing using punched cards, Fortran, COBOL, and batch processing. Although the Dartmouth model had only a modest influence, the programming language they developed, BASIC, became one of the most widely used computer programming languages in the world with an influence that extended well beyond the time-sharing system for which it was written. We saw how the IBM System/360 was able to evolve for decades while retaining its essential structure; so too did BASIC evolve to serve new markets while preserving its ease of use. It eventually became a language that propelled the personal computer into the mainstream, along with the company that provided the best BASIC for personal computers, the Microsoft Corporation. The crucial step in the evolution of BASIC was taken in 1971 at the Digital Equipment Corporation. For the just-announced PDP-I 1, DEC developed a system called "Resource Sharing Time Sharing" (RSTS.-II) that allowed time-sharing on the PDP-l 1. Initially it was offered for the Model 20, the simplest PDP-l 1; later versions ran on bigger models. The PDP-l 1/20 had a fraction of the power of the GE mainframe at Dartmouth, and with its 56K core memory would be considered a toy by 1990s standards. it had no facilities in hardware for protecting memory locations from alteration, either deliberate or accidental-something most thought was absolutely necessary for time-sharing. A team of engineers led by Mark Bramhall implemented RSTS-l I entirely in BASIC, but a version of BASIC with some interesting extensions. RSTS-1 1 needed to make system calls to log on or off and the like, which was implemented by a command called "SYS." A user could recall the individual bytes stored at a specific location in memory by another command, called PEEK. A PDP-l 1 user with special privileges could POKE bytes directly into memory-the reverse of PEEK, although unlike PEEK, this was a very dangerous command that could destroy the viability of time-sharing. None of these commands would have been feasible on the General Electric system used at Dartmouth, but for the PDP-1 1 they worked, and worked well. Besides adding these commands, DEC engineers further modified BASIC so that it also could be implemented without taking up much memory. These implementations severely compromised some of Kemeny and Kurtz's principles of what the language ought to look like, something that upset the Dartmouth professors. But as a result, one no longer needed achine language for even a simple minicomputer installation. This combination of features of DEC's BASIC-its ability to do low-level system calls or byte transfers, and its ability to fit on machines with limited memory-would be adopted by the Microsoft Corporation a few years later for its version of BASIC for the first personal computers. BASIC. William Gates III was born in 1955, at a time when work on FORTRAN was just underway. He was a student at Harvard when the famous cover of Popular Electronics appeared describing the Altair. According to one biographer, his friend Paul Allen saw the magazine and showed it to Gates, and the two immediately decided that they would write a BASIC compiler for the machine. Whether it was Gates;s or Roberts decision to go with BASIC for the Altair, BASIC it was. In a newsletter sent out to Altair customers, Gates and Allen stated that a version of BASIC that required only 4K bytes of memory would be available in June 1975, and that more powerful versions would be available soon after. The cost, for those who also purchased Altair memory boards, was $60 for 4K BASIC, $745 for 8K, and $150 for "extended" BASIC (requiring disk or other mass storage). Those who wanted the language to run on another 8080-based system had to pay $500. In a burst of energy, Gates and Allen, with the help of Monte Davidoff, wrote not only a BASIC that fit into very little memory; they wrote a BASIC with a lot of features and impressive performance. The language was true to its Dartmouth roots in that it was easy to learn. It broke with those roots by providing a way to move from BASIC commands to instructions written in machine language. That was primarily through a USR command, which was borrowed from software written for DEC minicomputers (where the acronym stood for user service routine). A programmer could even directly put bytes into or pull data out of specific memory locations, through the PEEK and POKE commands which would have caused havoc on the time-shared Dartmouth system. Like USR, these commands were also derived from prior work done by DEC programmers, who came up with them for a time-sharing system they wrote in BASIC for the PDP-11. Those commands allowed users to pass from BASIC to machine language easily a crucial feature for getting a small system to do useful work. Paper tape containing BASIC, version 1.1, from the Smithsonian Collections. According to a letter by Bill Gates in the December 1975 issue of the Altair Users Group newsletter, Computer Notes: "If anyone is using BASIC version 1.1, you have a copy of a tape that was stolen back in March. No customers were ever shipped 1.1, as it was experimental and is full of bugs!" Source: Smithsonian (Does this sound familiar to anyone??????) These extensions kept their BASIC within its memory constraints while giving it the performance of a more sophisticated language. Yet it remained an interactive, conversational language that novices could learn and use. The BASIC they wrote for the Altair, with its skillful combination of features taken from Dartmouth and from the Digital Equipment Corporation, was the key to Gates and Allen success in establishing a personal computer software industry.The developers of this language were not formally trained in computer science or mathematics as were Kemeny and Kurtz. They were introduced to computing in a somewhat different way. Bill Gates private school in Seattle had a General Electric time-sharing system available for its pupils in 1968, a time when few students even in universities had such access. Later on he had access to an even better time-shared system: a PDP-10 owned by the Computer Center Corporation. Later still, he worked with a system of PDP-l0s and PDP-lls used to control hydroelectric power for the Bonneville Power Administration. One of his mentors at Bonneville Power was John Norton, a TRW employee who had worked on the Apollo Program and who was a legend among programmers for the quality of his work. When he was writing BASIC for the Altair, Gates was at Harvard. He did not have access to an 8080-based system, but he did have access to a PDP-10 at Harvard computing center (named after Howard Aiken). He and fellow student Monte Davidoff used the PDP-10 to write the language, based on the written specifications of the Intel 8080. In early 1975 Paul Allen flew to Albuquerque and demonstrated it to Roberts and Yates. It worked. Soon after, MITS advertised its availability for the Altair. Others were also writing BASIC interpreters for the Altair and for the other small computers now flooding the market, but none was as good as Gates and Allen and it was not long before word of that got around. It seemed that Roberts and his company had made one brilliant decision after another: the 8080 processor, the bus architecture, and now BASIC. However, by late 1975 Gates and Allen were not seeing it that way. Gates insists that he never became a MITS employee (although Allen was until 1976), and that under the name "Micro Soft," later "Micro-Soft," he and Allen retained the rights to their BASIC. In a now-legendary "Open Letter to Hobbyists," distributed in early 1976, Gates complained about people making illicit copies of his BASIC by duplicating the paper tape. Gates claimed "the value of the computer time we have used [to develop the language] exceeds $40,000." He said that if he and his programmers were not paid, they would have little incentive to develop more software for personal computers, such as an APL language for the 8080 processor. He argued that illicit copying put all personal computing at risk: "Nothing would please me more than to hire ten programmers and deluge the hobby market with good software." ??????????????????? Gates did his initial work on the PDP-10 while still an undergraduate at Harvard. Students were not to use that computer for commercial purposes, although these distinctions were not as clear then as they would be later. The language itself was the invention of Kemeney and Kurtz of Dartmouth; the extensions that were crucial to its success came from programmers at the Digital Equipment Corporation, especially Mark Bramhall, who led the effort to develop a time-sharing system (RSTS-1 1) for the PDP-11. Digital, the only commercial entity among the above group, did not think of its software as a commodity to sell; it was what the company did to get people to buy hardware. Bill Gates had recognized what Roberts and all the others had not: that with the advent of cheap, personal computers, software could and should come to the fore as the principal driving agent in computing. And only by charging money for it even though it had originally been free could that happen. By 1978 his company, now called "Microsoft," had severed its relationship with MITS and was moving from Albuquerque to the Seattle suburb of Belivue. (MITS itself had lost its identity, having been bought by Pertec in 1977.) Computers were indeed coming to "the people," as Stewart Brand had predicted in 1972. But the driving force was not the counterculture vision of a Utopia of shared and free information; it was the force of the marketplace. Gates made good on his promise to "hire ten programmers and deluge the.., market" What good is a computer without software? Ed Roberts realized that his Altair 8800 computer needed software - a computer language - to make it really useful. Only hackers would tolerate programming in zeros and ones. An easier language was needed. The problem was - there was no Basic language available anywhere for the newly invented Intel 8080. But one day Ed Roberts got a letter from a company which said they had already created a version of Basic. He immediately called the company but reached a private home in Seattle - where nobody knew anything about the letter. Paul Allen and Bill Gates had written and sent the letter using letterhead they had created for their high school computer company - Traf-o-Data. Bill was attending Harvard, and Paul was working in the Boston area for Honeywell. They had sent the letter - planning to do a phone followup. They soon called Ed Roberts in Albuquerque to see if he'd be interested in their Basic, (which didn't actually exist yet), and he said that he would be as soon as he could get some memory cards for the Altair so it would have enough memory to try to run Basic; maybe in a month or so. Gates and Allen figured they had a 30 day window (if you'll pardon the pun) to get a version of Basic ready to run on the Altair microcomputer. But they didn't have didn't have a microcomputer to develop this with, because the only microcomputer in the world at that time was sitting in Albuquerque, New Mexico. Seems like a Catch 22 situation - but wait. They hadn't had an 8008 processor either, which they used in their high school computer company Traf-o-Data - which measured vehicle traffic flow. So how did they program an 8008 earlier without having one? Well, when Paul Allen was a student at WSU he had actually tried to create a simulator on the IBM mainframe there, but he wasn't familiar enough with mainframes to make it work. When they later got a summer job at a company that used DEC minicomputers, Paul was able to create a simulator of the Intel 8008 on the DEC computer. Being intimately familiar with DECs from the ground up, and having the Intel manual for the 8008, Paul had written a program on the DEC which would simulate the exact operation of the Intel chip. Then Bill Gates was able to use this simulator to write the program which ran their Traf-o-Data computer. Having developed this software tool previously, they used it again to create a simulator on another DEC computer at Harvard, this time for the Intel 8080. The Basic language they didn't actually write from scratch. Basic had been released into the public domain, so they used bits and pieces from various dialects of different versions of Basic to come up with their own to run on the Altair. This was a frantic few weeks, while they both worked and attended school, and spent their evenings in the school's computer labs. Then, still having never touched an Altair computer, Paul Allen flew to meet Ed Roberts at MITS in Albuquerque with a paper tape of their just completed version of Basic to try out on the Altair 8800. And miraculously it worked the first time. Finally there was usable software to make this computer really useful, and to change the world. Paul Allen quit his job and went to work at MITS. Bill Gates soon dropped out of Harvard and moved to Albuquerque too. They authorized MITS to sell their Basic as part of the Altair kit. They also retained the rights to market it themselves. A lot of controversy arose over whether it was really theirs to sell in the first place, as the boys had used government funded computers to develop their Basic on, and as Basic was in the public domain. Many of the early hackers fiercely resented this, and early copies of Altair Basic were pirated and passed from user to user. Gates and Allen eventually formed their own company, Micro Soft - originally spelled as two words - there in Albuquerque. Within months, they were modifying their Basic to run on other early microcomputers. They got into a law suit with Ed Roberts over the rights to Basic, and eventually won. Ed Roberts sold out and retired from the industry he had started himself within a year, and is now a country doctor in Georgia. Microsoft began doing business with other emerging companies,. You can probably look around Dartmouth's WEBSITE and find out if that version is still available in some archive. ----- Original Message ----- From: "Da Silva, Joe" To: Sent: Thursday, November 23, 2000 6:01 PM Subject: RE: M$ Basic (was [fd-dev] PKZIP 2.50 for DOS) > Hi, I'm back! (e-mail server down a few days, have I missed anything? > ;-) > > Is the original still available? It would be interesting to see who actually > wrote it, and under what terms it was released ... > > Joe. > > -----Original Message----- > > From: Patrick Moran [SMTP:pmoran22 AT yahoo DOT com] > > Sent: Wednesday, 22 November 2000 1:35 > > To: opendos AT delorie DOT com > > Subject: Re: [fd-dev] PKZIP 2.50 for DOS > > > > Why is that unbelieveable? > > > > Gates was hollering "piracy" Way back in 1975 when he took his BASIC that > > he > > wrote for the Altair, which was copied from public domain BASIC written in > > 1966, on a university computer owned by the USA governemnt, whe some of > > the > > hobbiest at the meeting copied his paper tape containing the BASIC which > > he > > stole. He has been hollering piracy ever since. > > > > Pat _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com