Charles Simonyi: From Bravo to Word
Abstract
Charles Simonyi (born 1948) learned to program as a teenage night watchman on a Soviet computer in Budapest, left Hungary at seventeen and never went back. At Xerox PARC in 1974 he and Butler Lampson wrote Bravo, the first editor that showed text on screen as it would print. In 1981 he joined Microsoft and built its applications group, which produced Multiplan, Word and Excel, and he brought with him the naming convention known as Hungarian notation. He spent his last decade at Microsoft and the fifteen years after it on intentional programming, an attempt to let programmers write down what they meant instead of code, which never reached ordinary programmers. In 2007 and 2009 he paid to fly to the International Space Station, the only space tourist to go twice.
Budapest
Charles Simonyi (Simonyi Károly) was born in Budapest on 10 September 1948, the son of Károly Simonyi, a professor of electrical engineering. As a teenager he took a job as a night watchman in a computer laboratory that had a Soviet Ural II, and learned to program it at night. In 1966, at seventeen, he left Hungary on a short-term visa for a job at Regnecentralen in Copenhagen, working on the RC 4000, and did not return (see Hungary’s Computing Industry and Regnecentralen and GIER).
In 1968 he moved to the University of California, Berkeley, where he took his BS in 1972, and became a US citizen in 1982.
Bravo
From Berkeley Simonyi went to the new Xerox PARC, where the Alto was being built (see Chuck Thacker and the Alto). Butler Lampson had sketched a text editor for it; Simonyi wrote it with Tom Malloy, hired as a summer student. Bravo, working in 1974, showed text on the Alto’s bitmap screen in the fonts, sizes and layout in which it would come out of the laser printer, the property later called WYSIWYG. It was the first such editor (see The History of Word Processing).
Simonyi also used Bravo as the experiment for his Stanford doctoral thesis, Meta-Programming: A Software Production Method (1977). It described a way of running a programming team in which a lead programmer, the “meta-programmer”, specified the program and its names precisely and the others filled in the code. In 2008 he told the Computer History Museum that he did not think it “a very good thesis” and that people should not read it “except, for example, for the Hungarian part”. That part was the naming convention known as Hungarian notation. He had started it at Berkeley, writing a fault simulator for the ILLIAC IV in PDP-10 machine code, where putting types into the names was the only way to get a type system into assembly code; the thesis made it a rule for whole teams. Every variable name begins with a short prefix stating what kind of thing it holds, so that usName, in the convention’s own logic, marks an unsafe string that has not yet been checked. Andy Hertzfeld said it made programs look like “some inscrutable foreign language”, and the name, after Simonyi’s origin, stuck.
Microsoft
“I recall the time in February of 1981 when I first joined Microsoft,” Simonyi wrote in 2017 (see Bill Gates and Microsoft). Microsoft then sold programming languages; Simonyi built its applications group. Its first product was the spreadsheet Multiplan, released in August 1982 and ported to about a hundred different systems; it sold over a million copies but lost the IBM PC market to Lotus 1-2-3. With Richard Brodie he wrote Multi-Tool Word, sold as Word from October 1983. Excel followed on the Macintosh in 1985 and on Windows in 1987. Word and Excel became the core of Microsoft Office, and through them Bravo’s model of editing reached most of the world’s office workers.
Hungarian notation spread with the applications group and then, in a different form, through the Windows API. In Simonyi’s original, later called Apps Hungarian, the prefix recorded the purpose of a variable: a count, an index, an unsafe string. The Windows team’s version, Systems Hungarian, recorded only the data type, l for long or sz for zero-terminated string, which the compiler already knew. That version drew the criticism. Linus Torvalds called it “brain damaged”; Bjarne Stroustrup called it unsuitable for a language with generic programming; Joel Spolsky, defending the original in 2005, called the Windows form “a subtle but complete misunderstanding” of Simonyi’s intent. Microsoft’s .NET design guidelines discourage it.
Intentional Programming
In the 1990s Simonyi moved to Microsoft Research to work on what he called intentional programming. Programs would be stored as trees of the programmer’s intentions rather than as text in a particular language, and could be displayed and edited in whatever notation suited the domain: a formula, a table, a diagram, or a familiar syntax. He had a demonstration environment by March 1995. Microsoft did not turn it into a product, and in 2002 Simonyi left to pursue it himself.
In September 2002 he co-founded Intentional Software in Bellevue, Washington, with Gregor Kiczales, the inventor of aspect-oriented programming, who left the next year. Its Domain Workbench stored programs in a tree-structured language and projected them into views such as circuit diagrams or a C#-like syntax; the company designed custom languages for clients. On 18 April 2017 Microsoft bought it, and many of its employees joined the Office team.
Dead End
Intentional programming was the work of Simonyi’s second career, and it stayed a research system with a handful of corporate customers. The reasons were practical. Every tool programmers used, from editors to version control to search, worked on text, and a tree-structured program store needed its own versions of all of them. Projectional editing, in which the editor shows a view of an underlying structure instead of the characters themselves, also asked programmers to give up the plain-text habits of decades. Mainstream programming stayed in text files. When Microsoft acquired Intentional Software, it presented the purchase as an addition to Office’s productivity work, not as a new way to program.
Space and Money
Simonyi paid the company Space Adventures for a seat on a Russian Soyuz. He launched on Soyuz TMA-10 on 7 April 2007, at a reported price of $20 to $25 million, and visited the International Space Station. On 26 March 2009 he flew again on Soyuz TMA-14, Space Adventures’ first repeat customer; he did not disclose the price. Nobody else has paid for two trips to the station.
He endowed the Simonyi Professorship for the Public Understanding of Science at Oxford in 1995, whose first holder was Richard Dawkins (1995–2008), followed by Marcus du Sautoy, and funded professorships at Stanford and the Institute for Advanced Study. In 2008 he married Lisa Persdotter. His net worth was estimated at $7.5 billion in January 2025.
📚 Sources
- Wikipedia: Charles Simonyi (born 10 September 1948 in Budapest; left at 17 on a short-term visa; Regnecentralen 1966; Berkeley BS 1972; Stanford PhD 1977 on meta-programming; Bravo at PARC; Microsoft 1981–2002, Multiplan, Word, Excel, Hungarian notation; Intentional Software and the 2017 acquisition; US citizen 1982; married Lisa Persdotter 2008; Soyuz TMA-10 and TMA-14; only repeat paying visitor; $7.5 billion in January 2025; professorships)
- Computer History Museum: Oral history of Charles Simonyi, interviewed by Grady Booch, 6 February 2008 · transcript PDF (left Hungary 17 July 1966; Regnecentralen and the RC 4000 with Per Brinch Hansen; Hungarian naming born on the ILLIAC IV simulator in PDP-10 code; Lampson’s notes for an Alto editor; Bravo as the second experiment of the thesis; Tom Malloy a summer student; “not a very good thesis” except “the Hungarian part”)
- Computer History Museum: Oral history of Tom Malloy, part 1, interviewed by David C. Brock, 8 November 2018 (Malloy working under Simonyi on Bravo, part of Simonyi’s research into programming methodology, with Lampson)
- EBSCO Research Starters: Charles Simonyi (night watchman at the Central Statistical Office’s Ural II; meta-programming in the 1977 Stanford PhD; Bravo operational in 1974)
- Wikipedia: Hungarian notation (invented at PARC; Hertzfeld’s “inscrutable foreign language”; Apps and Systems Hungarian; the Windows API and Petzold; Torvalds, Stroustrup, Spolsky 2005; .NET guidelines)
- Joel Spolsky, “Making Wrong Code Look Wrong”, Joel on Software, 11 May 2005
- The Register, “Microsoft buys Charles Simonyi’s Intentional Software”, 18 April 2017 (Simonyi’s own words on joining Microsoft in February 1981; the acquisition)
- Wikipedia: Intentional Software (founded September 2002 with Kiczales, who left in 2003; Bellevue; Domain Workbench and its projections; custom languages for clients; intentional programming at Microsoft Research with a demonstration by March 1995; acquisition 18 April 2017 and staff to Office)
- Wikipedia: Multiplan (August 1982; about 100 versions; over a million copies; no effective challenge to Lotus 1-2-3; Excel on the Mac 1985 and Windows 1987)
- Microsoft Word, Wikipedia (Simonyi and Brodie; Multi-Tool Word, October 1983)
- “Software billionaire blasts into orbit as space tourist”, InfoWorld, April 2007 (the 2007 flight and its reported price)
- “U.S. Billionaire to Make Second Private Spaceflight”, Space.com (Space Adventures’ first repeat customer, spring 2009)
- Wikipedia: Simonyi Professor for the Public Understanding of Science (founded 1995; Dawkins 1995–2008, du Sautoy from 2008)