Академический Документы
Профессиональный Документы
Культура Документы
<a href="http://en.wikipedia.o
The birthplace of first very powerful early shared public spreadsheet in 1974
3 years before APPLE II launch (1977)
7 years before IBM PC launch (Aug 1981)
i.e. Spreadsheets were not an 'invention' in 1979, as fully interactive spreadsheets were already in use in 1974
sex
Copy of 1974 Manual PAGE 1 (of 8)
..."No computer experience or knowledge is needed to do this. An Application System can
be built and modified on-line, by the user on his own VDU terminal remote from the main
computer without involving computer staff at all"...
WRS Terminology
Application one or more functionally complete Input/Output displays
REPORT printed view of the data - designed by users online (WYSIWYG) and
not necessarily the same as on a "spreadsheet"/input/output view.
The Team:
Designer: Dr. Robert Mais, employee of ICI, retired
Analyst: Graham Johnson. employee of ICI, retired
Technical:
Architecture: IBM 370 (compatible with z/Architecture)
3270 "dumb" terminals
Operating System MVS
TP Monitor CICS Macro level (pre VS, XA, ESA)
Language: IBM 370 Assembler
Librarian manager Panvalet
Database: ADABAS
Techniques Just-in-time compilation (= dynamic "on-the-fly" compile)
Use of combinatorial, re-entrant machine-code "snippets"
Dynamically built, re-entrant executable code
Optimizing Incremental compiler
(Similar to Dynamic programming algorithmic technique
utilizing "memoization" but also - significantly - in conjunction with
"referentially transparent" (deterministic) self-modifying code
- eliminating both time & space penalties)
Compression
Heavily "Table driven" code (Assembler tables) including..
Branch Tables (super efficient Perfect Hash technique
Notes (sic)
*1 "...a porting of Lotus 1-2-3 to mainframes with 3279 [4 or 7 color 3270] screens did
because its programmers were not able to properly adapt the spreadsheet's user in
to a "screen at a time" rather than "character at a time" device" (Wikipedia).
Demo? sorry no, but this mockup on Editgrid gives the general idea
http://www.editgrid.com/user/ken/WORKS_RECORDS_SYSTEM_MOCKUP
Mond Division
ation / Input/output
(hour/day/week/month/Qtr/year)
(eg units attribute,consistency)
Extant?
yes
yes
yes
?
yes
?
yes
Links
e with z/Architecture) <a href="http://en.wikipedia.org/wiki/System/370"
<a href="http://en.wikipedia.org/wiki/Z/Architecture"
target="_blank">IBM 370/14
<a href="http://www.columbia.edu/acis/history/3270.html"
<a href="http://en.wikipedia.org/wiki/IBM_3270"
target="_blank">3270
targe
im
<a href="http://en.wikipedia.org/wiki/MVS" target="_blank">IBM MVS Operating S
<a href="http://en.wikipedia.org/wiki/CICS"
http://cicswiki.org/cicswiki1/index.php?title=Quasi-reent
target="_blank">IBM CICS</a>
<a href="http://en.wikipedia.org/wiki/IBM_Basic_assembly_language" target="_
<a href="http://ca.com/us/products/product.aspx?id=1431" target="_blank">P
<a href="http://en.wikipedia.org/wiki/Adabas" target="_blank">ADABAS Wikipe
= dynamic "on-the-fly" compile) <a href="http://en.wikipedia.org/wiki/Just-in-time_compilation" target="_blank">JI
entrant machine-code "snippets"
ant executable code http://en.wikipedia.org/wiki/Reentrant
<a href="http://en.wikipedia.org/wiki/Incremental_compiler" target="_blank">In
amming algorithmic technique http://en.wikibooks.org/wiki/Algorithms/Chapter_6
t also - significantly - in conjunction with <a href="http://en.wikipedia.org/wiki/Memoization" target="_blank">Memoizatio
(deterministic) self-modifying code http://en.wikipedia.org/wiki/Referential_transparency_%28computer_science%29
http://en.wikipedia.org/wiki/Self-modifying_code
segmented system messages
de (Assembler tables) including.. similar to "Threaded code" technique, using pre-assembled indexed sub-routine call
cient Perfect Hash technique <a href="http://en.wikipedia.org/wiki/Hash_function"
http://en.wikibooks.org/wiki/360_Assembly/Branch_Inst
target="_blank">Hash functio
http://en.wikipedia.org/wiki/Jump_table
t "direct threading" indexed "threaded-code" methodology)
http://en.wikipedia.org/wiki/Threaded_code_compiler
<a href="http://en.wikipedia.org/wiki/Binary_search" target="_blank">Binary searc
Code self re-organized according to options & usage (reflection)
<a href="http://en.wikipedia.org/wiki/Reflection_(computation)" target="_blank">R
<a href="http://en.wikipedia.org/wiki/Floating_point" target="_blank">Wikipedia F
3 to mainframes with 3279 [4 or 7 color 3270] screens did not meet success
were not able to properly adapt the spreadsheet's user interface
her than "character at a time" device" (Wikipedia).
viewtopic.php?pid=3679
" technique, using pre-assembled indexed sub-routine calls. Custom built, multi dimensional
http://en.wikibooks.org/wiki/360_Assembly/Branch_Instructions
ki/Threaded_code_compiler
edia.org/wiki/Binary_search" target="_blank">Binary search</a>
ccording to options & usage (reflection)
(corrected link 29/10/2008)
edia.org/wiki/Floating_point" target="_blank">Wikipedia Floating point</a>
(SBA/SF/RA etc)
`````Q
edia.org/wiki/Flat_file" target="_blank">Flat file</a> No keyed lookup
only for setup & "program code"
ki/Reverse_Polish_notation
ransaction processing - (Transient Data) Updating down the line DIR's
echnique up quickly"
cross application'
http://www.the-adam.com/adam/rantrave/computers.htm
http://www.the-adam.com/adam/rantrave/postmodern.htm
defined field attributes, text/numerics, (later 7 colors & reverse video, condtl. formatting)
imitation, graphic devices were not generally available in 1974)
ommodore PET 2001 in 1977 - calculator burnt to ROM chip <a href="http://en.wikipedia.org/wiki/Commodor
hardware feature
more optimized than compiled Fortran
exactly same cost as local
http://en.wikipedia.org/wiki/Commodore_PET" target="_blank">Commodore Pet</a>
model 1 12 x 40 columns
model 2 24 x 80 "" (illustrated)
model 2 24 x 80 "VID" graphic capability in part of screen