Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
FOCAL (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== === JOSS === {{main|JOSS}} [[JOSS]] was released in May 1963 on the one-off [[JOHNNIAC]] computer at [[RAND Corporation]]. In RAND, use grew rapidly, and the machine, originally built in 1953, quickly ran out of capability. JOHNNIAC was decommissioned in 1966 and JOSS was reimplemented on a newly purchased [[PDP-6]], [[Digital Equipment Corporation]]'s (DEC) first "big" machine. Use continued to grow and by 1970, the system was being used by 500 to 600 users across the country and had spawned several innovations such as mobile [[computer terminal]]s that could be wheeled from room to room and plugged in for quick access.<ref name=rand>{{cite tech report |last=Marks |first=Shirley |date=December 1971 |url=https://www.rand.org/content/dam/rand/pubs/reports/2008/R918.pdf |title=The JOSS Years: Reflections on an experiment |publisher=Rand}}</ref> JOSS was highly influential. It emerged just as [[time-sharing]] was being introduced. There was significant interest in man-machine interaction and computers were seeing wider use. Whereas most [[time-sharing]] [[operating system]]s of the era concentrated on user account and file management, leaving the users to do their own programming, JOSS provided file editing and a programming language in one package. RAND showed the system to a parade of people in the industry.<ref name=rand/> ===FOCAL=== The PDP-6 was DEC's first [[mainframe]], and JOSS took full advantage of its power and memory capacity. The DEC programmers were familiar with the system and interested in JOSS, but most of the computers DEC sold had nowhere near the power needed to run it. Written by [[Richard Merrill (computer scientist)|Richard Merrill]], FOCAL removed features from JOSS as required in order to be able to run in the much more limited memory space of the [[PDP-8]] and other [[12-bit computing|12-bit]] machines in the DEC lineup. To achieve this, a major change was made to reduce the amount of temporary data, or ''[[State (computer science)|state]]'', needed to parse the statements. One noticeable effect of this decision was that [[Conditional (computer programming)|conditionals]] could only be used for [[Branch (computer science)|branches]], in contrast to JOSS, where conditionals can be applied to any statement. The other noticeable change was to rearrange the keywords so each started with a unique letter. This simplified the [[Parsing|parser]], which needed to read only the first letter of the command on a line of code, and could then skip forward to the next [[whitespace character]]. It would then compare that against an internal list of possible keywords, which was one character per entry. In contrast, JOSS had to continue reading until it had read the entire command word and then compared that against a list containing complete words. Not only did this change save memory in the parser, users could also save memory by typing in only that letter, reducing the size of the [[source code]]. [[File:DEC Programme auf Lochstreifen.jpg|thumb|PDP-8 [[punched tape]]s, including a FOCAL-69 tape dated 7/9/69]] The first version of FOCAL was released in 1968 for the [[PDP-8]]. An updated version followed the next year, which was later known as FOCAL-69. The system as a whole, regardless of version, was known as FOCAL-8 when it was ported to other machines in the 12-bit series, including the [[PDP-5]] and [[PDP-12]]. It was popular as it was highly efficient in memory use, which was often severely limited on these machines to a few [[kilobyte]]s (KB). The similar FOCAL-11 ran on the [[PDP-11]] under [[RT-11]]. [[Processor Technology]] also offered a version of 8k FOCAL, complete with Lunar Lander, for the [[Intel 8080]]-based [[Altair 8800]] system. This was provided for the copying charge of the tape, while the [[source code]] was provided for free with other purchases.<ref>{{cite magazine |url=https://archive.org/details/byte-magazine-1976-04 |title=Watch Your Altair Grow! |magazine=Byte |date=April 1976 |page=[https://archive.org/details/byte-magazine-1976-04/page/n49 48]}}</ref> ===BASIC=== While FOCAL was becoming popular on DEC machines, BASIC was becoming a more popular alternative on other platforms. By the late 1960s, several companies were making inroads in DEC's [[minicomputer]] stronghold, selling similar machines running time-sharing versions of BASIC. Notable among these was the [[HP 2100]] series, running [[HP Time-Shared BASIC]].{{sfn|Szczepaniak|2014}} [[David H. Ahl]] had recently joined DEC's PDP-8 Group, just as the company became interested in selling the machine into educational settings. Due to the popularity of BASIC in the education market, especially with the growing library of BASIC programs from the [[Minnesota Educational Computing Consortium]], Ahl found selling the machine with FOCAL was difficult despite its advantages.{{sfn|Szczepaniak|2014}} As he later noted: {{Blockquote|text=DEC's FOCAL language was equal to BASIC in most aspects and even better in some, but it had one huge drawback: DEC was unwilling to license it to other computer manufacturers. FOCAL was fighting an uphill battle against BASIC, which was available on GE, Honeywell, HP, and other computers.<br />I think it wound up with a situation like Sony and Betamax. Sony saying, "Betamax is ours and it is a better format than VHS," which it was. But then, JVC saying, "We have VHS and Toshiba. Hey, do you want to use it? Fine, we'll license it to you for next to nothing."{{sfn|Szczepaniak|2014}}}} Ahl took it upon himself to produce a BASIC system for the platform, hiring a company he later learned was a single programmer in Brooklyn to produce a version for the 4 kWord PDP-8. DEC began selling packaged versions of the PDP-8 with terminals and the BASIC as the "EduSystem" lineup, with larger systems in the series having expanded versions of BASIC, and in some cases, also FOCAL and [[FORTRAN]]. Some PDP-11 based EduSystems were also created.<ref name=edu>{{cite book |url=http://bitsavers.trailing-edge.com/pdf/dec/pdp8/tss8/EduSystemHandbookJan73.pdf |title=EduSystem Handbook |page=V |publisher=Digital |date=1973}}</ref> Ahl then began porting programs from FOCAL to BASIC, notably [[Hamurabi (video game)|''The Sumer Game'']] (which he renamed ''Hamurabi''), a version of [[Lunar Lander (video game genre)|''Lunar Lander'']], and many smaller FOCAL demos. Combining his ports with submissions from outside programmers, he managed to collect enough material to have DEC publish ''101 BASIC Computer Games'' in 1973. The book was an immediate success and ultimately ran through three printings to 1975.{{sfn|Savetz|2013}}{{sfn|Szczepaniak|2014}} By the mid-1970s BASIC was a standard feature of all DEC machines and FOCAL use evaporated.{{sfn|Savetz|2013}} ===Rebirth in the Soviet Union=== The PDP-11 had been cloned in the [[Soviet Union]] in the 1970s for military purposes. In the 1980s, single-chip variations similar to the [[LSI-11]] were produced that gave rise to a series of PDP-11 compatible [[home computer]]s. Most notable among several models were the [[Electronika BK]] series, released in 1985. These were initially supplied with FOCAL on a [[ROM cartridge]],<ref>{{cite tech report|url=https://www.ucis.pitt.edu/nceeer/1988-802-8-Stapleton.pdf |title=The Soviet Union and the Personal Computer "Revolution" |page=8 |first1=R.A. |last1=Stapleton |first2=S.E. |last2=Goodman |date=June 1988 |publisher=University of Arizona}}</ref> while a BASIC cartridge was an optional add-on. Later models supplied BASIC by default.<ref>{{cite web |url=https://oldcomputermuseum.com/elektronika_bk0010.html |title=Elektronika BK-0010 |website=Old Computer Museum}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)