Each year,
the pilgrims from UC San Diego arrived at Disneyland on the day
after Labor Day, precisely at noon. They made their way past Main
Street, U.S.A., to the drawbridge at Sleeping Beauty’s Castle.
The trip started as a way to mark one man’s birthday, but
the group grew to love the tradition and so it stuck. As the participants
in this annual ritual grew older, changes in appearance marked the
passage of time. T-shirts emblazoned with the names of various technology
companies announced new career paths. Gradually, the group expanded
to include spouses and babies in strollers, and paunchy stomachs
began to replace lean youthful figures.
At the
high point of this gathering, in the early 1980s, as many as 150
alumni, friends and family met in the Magic Kingdom. An observer
might have guessed they were friends from a sorority or fraternity
or old dorm mates. But this group actually bonded in a lab, where
they programmed computers, copied code onto floppy disks and shared
their product with users around the world. Their endeavor, the UCSD
Pascal project, is part of history now. But its influence continues
to ripple across the technology landscape, touching—at least
in a tangential way—nearly every computer user alive today.
“You couldn’t point to many things that we were first
at, but . . . it kind of added up to a nice tasteful package,”
says Richard Kaufmann, ’78, now technical director of Compaq’s
High Performance Technical Computing Group.
To understand
why UCSD Pascal was important, you have to transport yourself back
to the time before computers were on every desk, before tiny, powerful
chips and cheap memory existed. The computers that existed in 1974
were mammoth—the smallest were as large as several file cabinets.
Programming required using a keypunch that punched patterns of holes
into cards resembling those notorious Florida ballots with the hanging
chads. Stacks of the cards were then dropped into a card reader.
The card reader was connected to the mainframe computer and it sent
electric signals to the computer. The computer was able to translate
those signals into the language of zeros and ones and thus run the
program. The whole process was called batch programming because
the mainframe read things one batch at a time. “In the past,
basic programming all the way through advanced computer science
education was all based on large batch systems. Virtually no one
worked on his own computer,” Kaufmann says. “It was
as if you threw a sack of paper over the wall and then waited overnight
and the results were thrown back at you over the wall.”
One huge hurdle facing these early computer scientists was how much
work it required to get a piece of software to run on a new computer.
Each computer required translators to allow each piece of software
to run. That meant that programmers had to spend lots of time on
these translators, which meant less time working on actual applications.
The logistics of this system also meant that those who were clinging
to the lower rungs of the computing ladder, such as undergrads,
rarely had hands-on computer time. They often spent their time working
on punch cards, waiting for their assigned period on a big mainframe
and then going back to do revisions later. “Batch” processing
of these cards could take hours. Instant feedback simply wasn’t
an option.
By 1974, Professor Kenneth Bowles could see a very different future.
Bowles, who was then head of the University’s computing center,
wondered if it would be possible to get Pascal— a relatively
new language that had a bunch of technically attractive features—onto
new microcomputers, rather than simply having it run on a big mainframe
computer. The microcomputers were the first personal computers that
allowed programmers to skip the mainframe entirely. Bowles envisioned
a truly interactive teaching environment where students in large,
introductory programming classes would get a chance to work on a
program, run it, edit it and then try again. He envisioned portable
software that would change the way people interacted with computers.
His idea was to create an intermediate language—in computer
jargon known as “pseudo-code” or “p-code”—to
run on each machine and serve as a uniform translator. That would
save programmers a ton of work. It would allow programmers to write
something once and have it run anywhere.
Bowles’ concept was radical in more ways than one. Computer
programming was in its infancy and microcomputers, like the PDP-11,
were just starting to come onto the scene. UCSD in particular had
attracted a group of faculty and graduate students who were focused
on more esoteric, conceptual questions. Solving a very practical
problem that would give a bunch of 18-year-olds easier access to
computers just wasn’t on their radar screen.
Bowles recruited graduate student, Mark Overgaard, ’78, and
a handful of undergraduates, including Kaufmann, Roger Sumner, ’77,
and John Van Zandt, ’86, to help with the first stage of the
project—simply getting Pascal to run on these small computers.
Now, three decades later, the men can’t remember any “ah-ha”
moment when they knew they had achieved their goal. The progress
was incremental. But gradually they became less dependent on the
computer center’s machines and more able to program entirely
on the microcomputers. Students enrolled in Bowles’s programming
class began to learn to code hands-on for the first time ever.
Word began to leak out about UCSD Pascal. Bowles added more students
to his crew. The project, which began with just a computer language,
expanded until “UCSD Pascal” referred both to a language
and to an operating system. In the end more than 70 students participated
in the project in some way. Other universities called, asking for
copies of the program for their own computers. By 1978, the tiny
original cadre had grown to dozens and dozens of students. They
packed printed manuals and floppy disks into boxes and began shipping
hundreds of copies of UCSD Pascal around the world. Each new user
paid a $15 royalty fee to defray the cost of paying the small student
stipends.
There is a sweet innocence to the work that Bowles and these students
were doing. They created simply to create. “I still don’t
quite have a handle on Ken’s precise motivations—academic
utility, industry contribution, instruction—it certainly wasn’t
money,” wrote Barry Demchak, ’79, in a remembrance sent
to the engineering school. “UCSD Pascal may have been the
last commercial success that wasn’t about money (for a long
time).”
Gradually, however, the issue of money raised its head. The University
of California’s administration feared that the burgeoning
project might catch the attention of the Internal Revenue Service.
The chance that the whole multi-campus system might have to file
a tax return or might lose its tax-exempt status was simply too
much to deal with. UCSD Pascal had to go.
The University began looking for companies to take over the technology.
By the early 1980s, SofTech Microsystems, a subsidiary of Boston-based
SofTech, inherited both UCSD Pascal and a chunk of the staff—now
graduates and ready for the real world.
This is where the story turns sour for some of the UCSD Pascal alumni.
When IBM was considering operating systems for its original personal
computers, the company considered three possibilities: one was UCSD
Pascal. SofTech’s execs bargained hard. Another one of the
competitors saw that getting his software onto the PC was more important
than how much he made on this deal. His name: Bill Gates. Some in
the UCSD crowd remain convinced that their software was technologically
superior to Gates’s MS-DOS, and still mourn that outcome.
Overgaard refers to it as “the brass ring that was missed.”
Whether UCSD Pascal was actually better is a matter of some debate.
Kaufmann argues that some of the project’s key feature, its
portability, made it slower, a liability when fast machines became
king. MS-DOS was simply faster. Demchak agrees: “IBM wanted
there to be one and only one system. Why would you choose a system
whose strength is portability? UCSD Pascal’s strength was
a mismatch for IBM’s strategy.”
One option that might have allowed the project to continue was the
open source movement, which encourages programmers to put their
work into the free domain. The idea is that you can put your work
out there and others can improve upon it, but their improvements,
too, would be available free to the public. No one could tangentially
improve on someone else’s work and then make money from that.
They would have to add real value. But open source came well after
UCSD Pascal was gone. “I can’t blame the players,”
Kaufmann says. “They were just using old rules for a new business.”
UCSD Pascal may not be running on computers all over the world,
but its influence remains. A generation of computer programmers
made their way to UCSD in part because they were influenced by UCSD
Pascal. But they arrived to find no acknowledgement of the project
anywhere at the University. Now administrators are hoping to change
that. The School of Engineering is organizing a reunion in October
to honor Bowles and his students. As UCSD prepares to open a new
computer science and engineering building next spring, administrators
want to remember the project and its contribution to today’s
technology.
Which of UCSD Pascal’s contributions are deemed the most important
depends on who you talk to. Technologically speaking, there are
clearly UCSD Pascal-like touches in everything from modern PCs and
Macintoshes to Sun Microsystem’s JAVA language. Pull-down
menus, made ubiquitous by Apple and later Windows, were first created
at Xerox Parc, but they were more widely disseminated by UCSD Pascal.
Java incorporates an intermediate “p-code,” just like
UCSD Pascal did more than 20 years earlier.
Of modern companies, Apple has the most direct link to UCSD Pascal.
Barry Demchak can remember one day seeing a rangy-looking fellow
sleeping on a piece of foam in the lab. The next day the guy asked
him for a disk with the material Demchak was working on. Bowles
told Demchak to do it. The man was Bill Atkinson, one of Apple’s
earliest employees. Apple’s Lisa project bore many UCSD Pascal-like
similarities. Stefan Savage, a professor at UCSD who was still in
grade school at the time, can remember his first programming efforts.
As a 10-year-old in New York City, he worked on an Apple II that
included UCSD Pascal.
Others say the most important contributions are less technological
and more the example that Bowles and his students set for future
generations. Professor Ramamohan Paturi, now chair of the department
of computer science and engineering, says Bowles made a breakthrough
by conducting such an entrepreneurial, risky project in academia.
He also lauds the extensive student involvement. Certainly few major
research projects at any university have involved as many undergraduates
in such a substantive way. (Mark Overgaard was one of the only graduate
student involved.) “That kind of pioneering spirit provides
a living model for our current students to follow,” Paturi
says.
For the students who worked on UCSD Pascal, the project provided
both a social network while they were in college and a springboard
for their careers afterwards. Some practically lived in “the
lab”—room 1138 of the Applied Physics and Mathematics
building. The group bonded over sticky cinnamon rolls and eclairs
from V.G.’s donuts in Cardiff and ordered the Hawaiian special
from Square Pan Pizza to tide them through the long nights in the
lab. At least two marriages emerged from the project’s ranks.
The students spent so much time together that they even created
a rule to limit shoptalk. The “Chung King Loh Convention”
was named after their favorite Chinese restaurant in Solano Beach.
If someone invoked the convention, then the next person to talk
about work had to buy dinner for the whole table. “When you
are sitting at a table of 15 people, that’s a notable thing,”
says Shillington.
UCSD Pascal may not have made it commercially, but many participants
have used their experience to launch careers in technology. In keeping
with their entrepreneurial roots, Roger Sumner, Barry Demchak, and
John Van Zandt all head small technology companies. Many of those
who joined the project later, like Lucia Yandell Bennett, ’78,
have gone on to mid-level and senior positions in bigger companies.
Shillington has recently taken his career in a different direction:
he is running a cybercafé in Encinitas called E Street Café.
The central figure in all of this, of course, is Ken Bowles, affectionately
called “KB” by his students. Bowles started his career
in the 1950s and 1960s in applied physics, working on radar systems,
but gradually got interested in the fledging field of computer software.
Bowles had the big-picture vision and the charisma to engage students
who had the skills to make it happen. “I’m not sure
KB had all this in mind when he started the project,” says
Richard Gleaves, ’79, recalling his work in the lab and the
social network it provided in a written remembrance, “but
without his leadership it would never have happened. For this I
am eternally grateful.”
Bowles’s students remember most how he encouraged them. Because
of him, they believed that they could write industry-changing software—and
they did. They talk about how he taught them to think “outside
the box” before industry made it a cliché. And they
remember how much he actually cared. He even took the time to counsel
a young man on the periphery of the project who was struggling with
a drug problem. “Ken is the most intelligent person I have
ever met in my life, and one of the kindest. He is truly a great
human being,” says Shillington.
Bowles himself, now 75, can remember vividly the height of UCSD
Pascal’s success. He was in high demand, speaking by phone
with Bill Gates, meeting with Apple’s Steve Jobs, and sending
his students’ work around the world. At one point he spoke
at a large conference at the convention center in San Jose. On a
projector he showed what his kids down in San Diego had accomplished.
“People just gasped in amazement at what could be done.”
And to think this was created by a group of crazy young adults who
took over the canoes and raced each other at Disneyland every September.
Christine
Foster is a freelance writer living in the Bay Area. |
|
RELATED
LINKS
DISCUSS
THIS ARTICLE
Discussion Board
icon
What is/was the
p-System?
VIEW
UCSD's Department of Computer Science
& Engineering
VIEW |
Ken Bowles
"Some in the UCSD crowd remain convinced
that their software was technologically superior to Bill Gates's
MS-DOS, and still mourn that outcome." |
|
From
Zurich to
La
Jolla
The Swiss computer scientist Niklaus
Wirth developed Pascal in Zurich, Switzerland, in 1969. The
first version was implemented on the CDC 6000 in 1970. By
1983, it was an ISO standard language.
But Wirth attributed the success of the language to Bowles
and his team. " Pascal gained truly widespread recognition
only after Ken Bowles in San Diego recognized that the P-system
could well be implemented on the novel microcomputers,”
Wirth said in his 1985 Turing Award Lecture. “His efforts
to develop a suitable environment with integrated compiler,
filer, editor, and debugger caused a breakthrough: Pascal
became available to thousands of new computer users who were
not burdened with acquired habits or stifled by the urge to
stay compatible with software of the past."
Raymond Hardie
Editor
UCSD Alumni Magazine
|
|