Software's Next Wave
Robert Carr, Framework
Then: In the mid-1980s, the computing world was yearning for an integrated software suite, or at least all the magazines told us so. The two major choices were Ashton-Tate's Framework and Lotus Symphony. Robert Carr co-founded Forefront and developed Framework, which had a spreadsheet, word processing, database, telecommunications, and outlining, all on a floppy disk. Ashton-Tate bought Forefront in 1985, where Carr became chief scientist -- his role when he was interviewed for the Programmers at Work book. Borland acquired Ashton-Tate in 1991.
On programming in teams: "I've tried to surround myself with people who are better than I am. A lot of the people I've hired for Forefront are better programmers than I am, and I've learned a lot from them. [Xerox] ASD also showed me that great software development is largely composed of good initial design and, thereafter, a lot of very solid engineering."
On software design: "One piece of advice I had been given was to hold off programming for as long as possible. Once you get a corpus of code building up, it's hard to change direction. It sets like concrete. So I held off for as long as I could, but I couldn't hold the design in my head forever."
On managing developers: "My role is one of facilitator, drawing out the design ideas and helping the group towards a conclusion. Not my conclusion, but one evolved by the group. . . . Occasionally, there will be a situation where we just can't get a consensus, so we step back and examine the time constraints, money constraints, or space constraints, and then decide from there. The original Framework process was a very iterative and evolutionary one."
On user interfaces: "Users should be able to forget that there is a program between them and their information. In fact, as they get used to the software, their minds should be filled only with the task at hand; they shouldn't have to stop and think about what command they need."
On the future of computing: "I hope we can move toward component software. Then the user will be able to replace a piece of a program with a plug-in module from a software house that knows how to do floating-point arithmetic or word processing better. This will be a trend over the next ten years. But it's a tough goal because we're talking about the interfaces between separate modules of software, one of the least understood areas in software design."
Today: Carr has wandered in and out of the computer industry. He took breaks to participate in Ironman triathlons and, between Xerox and Context MBA and starting Forefront, to explore Mexico.
However, he's never gotten very far from the innovations we later took for granted. In 1987, Carr co-founded the high-profile mobile communications startup GO Corporation, where he led all software development, including the ground-breaking PenPoint operating system, earning two patents on pen-based computing and object-oriented operating systems. He was vice president of the AutoCAD Market Group at Autodesk. And he spent a few years as managing director at Sofinnova Ventures, where he invested and co-managed $550 million in early stage high-tech venture capital funds (though 1998-99 didn't turn out to be a good time to do that).
These days, he's CEO of KeepandShare which aims "to support your busy life by making group information sharing easy, secure and instantaneous." And he's back programming for the first time in 20 years.
Bill Gates, BASIC on the Altair
Then: In 1986, Bill Gates was already "considered one of the driving forces behind today's personal computing and office automation industry" (at least when being interviewed for Microsoft Press) and lamented that he didn't have time to write code personally anymore.
On programming: "We're no longer in the days where every program is super well crafted. But at the heart of the programs that make it to the top, you'll find that the key internal code was done by a few people who really knew what they were doing.
It's not quite as important now to squeeze things down into a 4K memory area. You're seeing a lot more cases where people can afford to use C, instead of using assembly language. Unfortunately, many programs are so big that there is no one individual who really knows all the pieces, and so the amount of code sharing you get isn't as great. Also, the opportunity to go back and really rewrite something isn't quite as great, because there's always a new set of features that you're adding on to the same program."
On software performance: "It's true that we're going to allow programs to be a little fatter than they have been. But in terms of speed, it's just laziness not to allow something to be as fast as possible, because users, even though they might not be able to say so explicitly, notice programs that are really, really fast. In the most successful programs, the speed of execution is just wonderful."
On the future of programming: "People still get great satisfaction out of the fact that a compiler, like the C compiler, still can't write code as well as a human being. But we may mechanize some parts of the process quite a bit over the next three or four years. People will still design algorithms, but a lot of the implementation could be done by machines. I think that within the next five years we'll have tools that will be able to do as good a job as a human programmer."
On Microsoft's future: "Even though there'll be more and more machines, our present thinking is that we won't have to increase the size of our development groups, because we'll simply be making programs that sell in larger quantities. We can get a very large amount of software revenue and still keep the company not dramatically larger than what we have today. That means we can know everybody and talk and share tools and maintain a high level of quality."
On the future of computing: "One of the new areas we're focusing on at Microsoft is compact-disk applications. CD ROM is the technology we're going to use to get personal computers into the home. . . . CD ROM is totally different. We hope with CD ROM you'll be able to look at a map of the United States, point somewhere, click, zoom in and say, "Hey, what hotels are around here?" And the program will tell you. And if you're in the encyclopedia and you point to one of Beethoven's symphonies, the computer will play the song. It's a new interface; it's got nothing to do with productivity tools like word processors or spreadsheets."
Charles Simonyi, Multiplan, Alto Bravo, and Hungarian Notation
Then: Hungarian-born Charles Simonyi already had an impressive background before he joined Microsoft in the 1980s.
Like so many other programmers of the early microcomputer era he was an alumnus of Xerox PARC, during which he created the Bravo and Bravo X programs, the first WYSIWYG (what you see is what you get) text editors, for the Alto personal computer.
At Microsoft, Simonyi organized the company's Application Software Group, which produced Multiplan, Microsoft Word, and Microsoft Excel. He's also well known in programming communities for instigating the Hungarian Notation: a formulaic way to name programming variables inside an application.
On code lifetime in software development: "Really good programs will live forever and take forever to write, at least as long as the hardware exists, and maybe even longer. Certainly, Bravo lived for as long as the Alto existed. . . . There were about fourteen releases over about a five-year period. . . . The same thing is going to be true for Multiplan. When you consider that Multiplan lives in Microsoft Excel, then Multiplan is going to be a continuing story. And Microsoft Excel on the Macintosh is not going to be the last application in the chain either. It's going to continue on Windows."
On computing future: "Who knows? Maybe computer science will help decode DNA, and not just by supplying tools. Disassembling DNA could be a hacker's ultimate dream."
Today: Simonyi stayed at Microsoft until 2002, and ended up as Director of Application Development, Chief Architect, and Distinguished Engineer.
Today, Simonyi is chairman, CTO, and founder of Intentional Software Corporation which, according to its website, "accelerates innovation by integrating business domain experts into the software production process." Simonyi has been a member of the National Academy of Engineering since 1997, a member of the American Academy of Arts and Sciences since 2008, and a Correspondent Member of the Hungarian Academy of Sciences. According to the corporate bio, he is an avid collector of modern art, enjoys classical music, and is an experienced pilot.