Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

BASIC-8

From Wikipedia, the free encyclopedia
Dialect of the BASIC programming language for PDP-8 minicomputers
BASIC-8
Paradigmimperative
DeveloperDEC
First appeared1969; 57 years ago (1969)
OSTSS/8
Influenced by
Dartmouth BASIC
Influenced
BASIC-PLUS,Microsoft BASIC

BASIC-8, is aBASIC programming language for theDigital Equipment (DEC)PDP-8 seriesminicomputers. It was the first BASIC dialect released by the company, and its success led DEC to produce new BASICs for its future machines, notablyBASIC-PLUS for thePDP-11 series. DEC's adoption of BASIC cemented the use of the language as the standard educational and utilityprogramming language of its era, which combined with its small system requirements, made BASIC the major language during the launch ofmicrocomputers in the mid-1970s.

History

[edit]

David Ahl joinedDigital Equipment's (DEC's) expanding educational sales division in 1969. The division was mostly tasked with selling thePDP-8minicomputer tohigh schools andcolleges.[1] These were not yet widespread; a typical single-user machine of the late 1960s cost in the order of $10,000 (equivalent to $90,400 in 2024), not includingmass storage and otherperipherals.[2]

Around this time, bothHewlett-Packard (HP) andHoneywell had introduced new 16-bit minicomputers withtime sharing that were becoming popular in the educational markets. In particular, HP had introduced the16-bitHP 2100 in 1966 for the technical market and were surprised to find them selling into the business market as well. They decided to take advantage of this by packaging the machine withHP Time-Shared BASIC as the HP2000 for sales into the programming and educational markets.[3] Although the HP2000 was much more expensive than the PDP-8, by sharing access among many users, typically up to 16 at a time, sp the effective per-user cost was much lower than single-user machines.

At the time, DEC was heavily promoting their own language for educational uses,FOCAL, a cut-down version ofJOSS. The language had a number of features that allowed it to run in extremely limited memory, including the PDP-8's 4 KB ofcore memory. It was conceptually similar to BASIC, especially in the interactive method of typing in programs and the general layout of programs. Ahl collected FOCAL programs submitted from users and published them in the department's EDU newsletter.[1]

Ahl found that prospective customers were not interested in FOCAL, at least outside theBoston-area where DEC was located. BASIC was already widely used by this time, and a growing library of educational programs and games in BASIC were becoming available. These were being published innewsletter format, almost always in HP2000 dialect, and the sheer volume of BASIC programs was overwhelming FOCAL. Ahl found no interest on the part DEC management or software development department to produce a BASIC,[2] nor any interest in supporting FOCAL on the other machines in their lineup. He also noted an increasing hostility to the idea of allowing any other company to produce a version of the language.[1]

Concluding a BASIC was required for the PDP-8 to allow it to compete in the educational market, he hired aBrooklyn area programmer to develop one.[1] This became BASIC-8. To aid its uptake, Ahl personally ported over several popular FOCAL programs, notably the gamesLunar Lander andThe Sumerian Game, which he renamedHamurabi.[4] BASIC-8 was an immediate best-seller, and by the early 1970s the company was once again a popular choice in educational markets. The company began packaging systems in a fashion similar to the HP2000, with a line of "Edusystems" tailored to different needs.[5]

Although DEC continued to promote FOCAL, use evaporated almost instantly with the release of BASIC-8. DEC would ultimately offer five different BASICs for the PDP-8, each one making up for limitations of the original minimal implementation. With the release of thePDP-11 in 1970, an entirely new and greatly expanded dialect was offered,BASIC-PLUS.[1] Customers complained about the variations between dialects, but Ahl later claimed that if he had been a stickler for such details it would have taken another two years to get the products out.[2]

Ahl had also noticed another curious fact; when they began publishing the EDU newsletter, they expected perhaps 2000 to 3000 subscribers, about 10 each for DEC's 300 educational sites. Within 18 months, circulation had reached 20,000, significantly more than all of the computers in the educational field. When he inquired, he found that many subscribers didn't even have a computer, let alone a DEC one, and were reading it for ideas on how computers might be used in education. This led to early consideration of an independent educational-focused computer magazine.[2] Invariably the most popular section of EDU were the BASIC listings, especially games. This led to his decision to collect the most popular programs, notablyStar Trek, into book form as 1973's101 BASIC Games. This sold tens of thousands of copies over three print runs.[1][6]

Despite some success on the part of the educational division, at the start of the1973–1975 recession, DEC decided to reduce the size of the group. When Ahl complained that the division should be left alone, his boss put him on the list of people to belaid off. Even before he received his last paycheck, he was re-hired into a newly-formed hardware group in DEC.[6] They produced two small prototype computers, one all-in-one design based on the PDP-8, and a slightly larger system based on the newerPDP-11. Other divisions in the company became concerned these might cut into their own sales and began to agitate against the systems. This ultimately reached the desk ofKen Olsen, who finally stated that he could not understand why anyone might want a computer for their private use.[6] The project was killed.[1]

Ahl left the company and joinedAT&T's educational sales department. Ahl had continued publishing EDU before leaving DEC, but with his departure, only one or two more editions were published before the company abandoned it. This left the market to HP, who had by this time had widespread distribution of their BASIC programs in thePeople's Computer Company newsletter and the rapidly growingMinnesota Educational Computing Consortium (MECC) collection. Noting a lack of a newsletter like EDU aimed specifically at the education market, Ahl soon startedCreative Computing magazine and later left AT&T to produce it full-time.[1] In 1975 he purchased the rights to101 BASIC Games from DEC and re-launched it asBASIC Computer Games. This went on to become the first million-selling computer book.[1][6]

HP's dialect formed the basis for many earlypersonal computer BASIC implementations, includingInteger BASIC andAtari BASIC among others.Bill Gates had used BASIC-PLUS in high school, and this formed the basis for what becameAltair BASIC in 1975. Continued development and sales of varieties ofMicrosoft BASIC for multiple platforms led to DEC's dialect ultimately becoming thede facto standard on home computers rather than HP's version.[1]

Description

[edit]

Like most versions of BASIC, BASIC-8 could be operated in "immediate mode" where users type in commands and immediately receive a response (like a hand-held calculator), or in "deferred mode", where entries were stored for later execution using the commandRUN. Deferred mode is triggered by typing a line number at the start of a line of text. In BASIC-8 the line numbers could range from 1 to 2046;[7] the PDP-8 was a12-bit machine and normally held a value from −2048 to +2047 in a singleword.[8]

As was common in many minimal BASIC implementations of the era,IF statements could only be used to perform a branch;THEN had to be followed by a line number to jump to, it could not contain arbitrary statements as was common in later BASICs.[9] ThusIF X=10 THEN 150 was valid,IF X=10 THEN X=X+1 was not. An alternate form wasIF X=10 GO TO 150. The space in GO TO is not optional as it was in some dialects, either in anIF or as a stand-alone statement.[10] Subroutines were supported usingGOSUB...RETURN,[11] but could not be called fromIF statements.[a] Loops could be performed withIF...THEN or usingFOR...TO...STEP...NEXT.[10]

In contrast to most BASICs,LET was not optional, and had to be used on all assignments.[12] Variable names could be a single letter or a letter and a single digit.[13]DIM can be used to define one and two dimensional arrays.[14] The floating point number format had 8 significant digits and exponents from −38 to +38.[15] Standard math symbols were used for arithmetic,+,-,*,/ and^ (represented on aTeletype Model 33 as an up-arrow),[16] and it included the standard functionsSIN,COS,TAN,ATN,EXP,LOG,ABS,SQR,INT,RND andSGN.[17] There was no support for string variables or functions. Boolean comparisons inIF statements included=,<,>,>=,<= and<>.[13]DEF FN was supported for user-defined functions.[18]

PRINT supported both commas and semicolons could be used to space out multiple outputs in tabular format or with no space, respectively.[19]INPUT was supported and could read multiple inputs in a single statement, but prompts were not supported.[20] Lacking file-operating commands, any data within a program could only be entered usingDATA statements and read usingREAD.[21]RESTORE returned theREAD back to the start of theDATA list; there was no optional line number as seen in some dialects.[22]

REM,STOP andEND round out the command list.[13]

Implementation

[edit]

In contrast to most competing minicomputer-based systems and earlyhome computers, where BASIC was the entire environment seen by the user, BASIC-8 was one of a number of programs that could be run at thecommand line of the underlyingTSS/8operating system.[23] As such, commands that would normally be associated with BASIC itself, likeRUN orLIST, are not part of the language proper, but part of the shell, and thus cannot be used within programs. This was typical of many early BASIC environments, where the editor and runtime were completely different programs.[24]

BASIC programs could be entered by starting BASIC-8 at the command line and typing, or by starting atext editor like EDIT-8 and typing in the code as a text file. In both cases, the BASIC code was stored as pure text, and retained any extra characters the user typed – one could type in code without spaces to make the file more compact,[7] or add additional spaces to indent loops.[25]

When BASIC was started one could typeNEW to clear any existing program, orOLD to load an existing file. At any time, one couldSAVE the working file orUNSAVE to delete an existing saved file.CATALOG produced a list of saved program files.[24]LIST printed the source code, and could be limited using two comma-separated values for start and end line numbers, likeLIST 10,200.[26][b]DELETE deleted a range of lines from the program,RUN started execution, andBYE exited BASIC and returned to the TSS/8 command line.[27]

Internally, the system consisted of five separate sub-programs that were loaded as required in order to minimize memory use. These wereEDITOR,COMPILER,LOADER,INTERPRETER andERROR. COMPILER was not acompiler in the modern sense of the word, as it did not generatelower-level language; in modern terms it would be referred to as a "tokenizer" or front-end. Its purpose was to parse the BASICsource code and convert it into a series of "tokens", one-word numbers representing various keywords and commands. The result was then left in memory while INTERPRETER was instructed to begin running the resulting tokenized code. ERROR mapped error numbers in BASIC to textual output. A table in memory, SYPTBA, held pointers to the locations of the programs on disk.[28]

Notes

[edit]
  1. ^Nor was the alternate form "GO SUB" allowed.
  2. ^The comma-separated syntax was used by a few other dialects likeAtari BASIC, but most used the MS BASIC version using a minus sign;LIST 10–200.

References

[edit]

Citations

[edit]
  1. ^abcdefghijAhl 2013.
  2. ^abcdAnderson 1984, p. 70.
  3. ^"Hewlett/Packard Computers".The 2000A was the first HP 2000 time share system on the market ca. 1969
  4. ^McCracken, Harry (29 April 2014)."Fifty Years of BASIC, the Programming Language That Made Computers Personal".Time.
  5. ^edusystem handbook(PDF). DEC. January 1973.
  6. ^abcdAnderson 1984, p. 72.
  7. ^abManual 1969, p. 2.2.
  8. ^"DEC's Blockbuster: The PDP-8".Computer History Museum.
  9. ^Manual 1969, p. 2.15.
  10. ^abManual 1969, p. 2.16.
  11. ^Manual 1969, p. 3.6.
  12. ^Manual 1969, p. 2.13.
  13. ^abcManual 1969, p. 2.8.
  14. ^Manual 1969, pp. 2.11, 2.17.
  15. ^Manual 1969, p. 2.7.
  16. ^Manual 1969, p. 2.5.
  17. ^Manual 1969, p. 2.6.
  18. ^Manual 1969, p. 3.5.
  19. ^Manual 1969, p. 3.1.
  20. ^Manual 1969, p. 3.7.
  21. ^Manual 1969, p. 2.4.
  22. ^Manual 1969, p. 3.9.
  23. ^Manual 1969, p. 1.1.
  24. ^abManual 1969, p. 4.1.
  25. ^Manual 1969, p. 2.12.
  26. ^Manual 1969, p. 4.2.
  27. ^Manual 1969, p. B.1.
  28. ^Manual 1969, p. D.1.

Bibliography

[edit]
Key people
Instruction set
architectures
,
processors
PDP-11
VAX
Alpha
Other
Computer
terminals
Operating
systems
Programming
languages
Character sets
Bus standards
Otherhardware
Related topics
Retrieved from "https://en.wikipedia.org/w/index.php?title=BASIC-8&oldid=1321081416"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp