Kenneth Cutts Richard Cabot Arnold
13 June 1958
|Known for||Rogue, contributions to BSD UNIX|
Kenneth Cutts Richard Cabot Arnold (born 1958) is an American computer programmer well known as one of the developers of the 1980s dungeon-crawling video game Rogue, for his contributions to the original Berkeley (BSD) distribution of Unix, for his books and articles about C and C++ (e.g. his 1980s–1990s Unix Review column, "The C Advisor"), and his high-profile work on the Java platform.
Arnold attended the University of California, Berkeley, after having worked at Lawrence Berkeley National Laboratory computer labs for a year, receiving his A.B. in computer science in 1985. At Berkeley, he was president of the Berkeley Computer Club and of the Computer Science Undergraduates Association, and made many contributions to the 2BSD and 4BSD Berkeley Unix distributions, including:
- curses and termcap: a hardware-independent library for controlling cursor movement, screen editing, and window creation on ASCII display terminals, based on termcap (based on Bill Joy's vi screen control code). Curses was a landmark display library that made it possible for a vast number of new applications to create full-screen user interfaces that were portable between different brands of display terminal.
- Rogue: Arnold, Michael Toy, and Glenn Wichman co-wrote Rogue, a full-screen role-playing video game that presented a then-novel view of the "dungeon" from above (rather than via textual description as in the older Zork and Adventure). It spawned an entire genre of "roguelike" games.
- fortune: a fortune cookie program. Although Arnold's quote-displaying program was not the first in history, as the BSD standard it became by far the most widely used, and its database of quotes was voluminous. It also standardized a plain-text file format that was philosophically aligned with Unix and thus became widely used both for other fortune programs as well as non-fortune purposes.
- Other BSD Unix games: Cribbage, Hangman, Hunt, Mille Bornes, Monopoly, robots.
- Ctags: a very early special-purpose hypertext link generator that essentially turned the vi editor into an IDE. It indexed program objects (such as functions) so that a user of vi (or a clone such as vim) could navigate to an object or function definition from any instance of the object's name elsewhere in the source code.
Additionally, Arnold served as both a member of the student senate and as its president.
Arnold was part of the Hewlett-Packard team that designed CORBA. He also worked for Apollo Computer; as a molecular graphics programmer in the Computer Graphics Lab at U.C. San Francisco; and as a member of the UNIX Review Software Review Board.
At Sun Microsystems
Arnold worked as a senior engineer at Sun Microsystems Laboratories, in the areas of object-oriented design and implementation, C, C++, Java, and distributed computing. He was one of the architects of the Jini technology, the main implementer of Sun's JavaSpaces technology (which implemented tuple spaces on the Java platform), and worked with Jim Waldo on Remote Method Invocation and object serialization.
- JavaSpaces. Principles, Patterns, and Practice; Eric Freeman, Susanne Hupfer, Ken Arnold; ISBN 0-201-30955-6
- The Java Programming Language; 4th Edition; Ken Arnold, James Gosling, David Holmes; ISBN 0-321-34980-6
- The Jini(TM) Specification, 2nd Edition; Ken Arnold, Jim Waldo and the rest of the Jini technology team. Part of the official Jini Technology Series, published by Addison Wesley.
- A C User's Guide to ANSI C; Ken Arnold, John Peyton.
- "The C Advisor" column in Unix Review (authored by Ken Arnold 198? - 199?)
- "Fear and Loathing on the UNIX Trail -- Confessions of a Berkeley system mole."; Doug Merritt with Ken Arnold and Bob Toxen; Unix Review, Jan 1985
- "Rogue: Where It has Been, Why It Was There, And Why It Shouldn't Have Been There In The First Place"; USENIX Conference Proceedings; Boston, July 1982, p. 139 ff; Ken C.R.C. Arnold, Michael C. Toy
- A Brief History of "Rogue".
- Arnold, K. C. R. C. (1977). "Screen Updating and Cursor Movement Optimization: A Library Package". University of California, Berkeley. Cite journal requires
- Kenneth C. R. C. Arnold; Elan Amir (December 1992). "Screen Updating and Cursor Movement Optimization: A Library Package".
- Note: it was a different Ken Arnold ("Ken W. Arnold") who contributed' to the Ultima game series (see Ultima_I:_The_First_Age_of_Darkness#Development_and_release).
- "Data File Metaformats". Faqs.org. Retrieved 2010-08-22. CS1 maint: discouraged parameter (link)
- Nemeth, Alan G. (June 5, 1982). "Technical Program for Boston Meeting". archive-cr.com. Retrieved 2016-05-30.