BBS水木清华站∶精华区
发信人: vertex (lancelord), 信区: Linux
标 题: 1999年最佳程序员奖
发信站: BBS 水木清华站 (Thu May 6 10:37:08 1999)
Dr. Dobb's Web Site
[ Home | Articles | Source Code | Book Reviews | CD-ROMs | Careers | Op-Ed |
About DDJ ]
Dr. Dobb's Journal 1999 Excellence in
Programming Awards
By Jonathan Erickson
Jonathan is editor-in-chief of DDJ and can be contacted at jerickson@ddj.com.
Dr. Dobb's Excellence in Programming Awards are presented annually to
individuals who, in the spirit of innovation and cooperation, have made significant
contributions to the advancement of software development. Recipients of previous
Dr. Dobb's Excellence in Programming Awards include:
Alexander Stepanov, developer of the C++ Standard Template Library.
Linus Torvalds, the force behind the Linux operating system.
Larry Wall, the author of the Perl programming language.
James Gosling, chief architect of Java.
Ronald Rivest, an educator, author, and cryptographer.
Gary Kildall, a computer pioneer in the areas of operating systems,
programming languages, and user interfaces.
Erich Gamma, Richard Helm, John Vlissides, and Ralph Johnson, authors
of the seminal Design Patterns: Elements of Reusable Object-Oriented
Software.
The recipients of the 1999 Dr.
Dobb's Excellence in
Programming Awards are no
less outstanding when it comes
to technical innovation and
support of open communication
in the programming
community. As creator of the
Python programming language,
Guido van Rossum has given
software developers a tool that
addresses many of the
shortcomings of more
well-known and mainstream
languages. On the systems
side, Donald Becker has
contributed extensively to
Linux's networking code and
played a pivotal role in
advancing low-cost, high-performance parallel computing as the chief
investigator of the Beowulf Project.
Python, an interpreted, interactive, object-oriented programming language, has
its roots in a language called "ABC." (For the curious, the moniker "Python"
derives from "Monty Python.") ABC, which Van Rossum helped develop in the
1980s, was originally created to teach novices how to program and as an effective
tool for occasional programmers. Although it was freely available and elegant,
ABC never caught on, in part, Van Rossum speculates, because of the difficulty in
adding new primitive operations. Consequently, when Van Rossum decided to
build an interpreter for a new scripting language in 1989, his first design decision
was to avoid this kind of mistake.
Still, Python inherits many of ABC's features that make it an approachable
language for programmers of all levels. In short, Python's major features include
its support for object-oriented development and powerful programming
constructs, extendible and embeddable architecture, and clear syntax. Python
makes it extremely easy to build complex data structures out of objects, lists,
dictionaries, and the like. It is particularly useful for system administration, building
GUIs, scripting, database programming, and rapid prototyping. Python is portable,
running on UNIX, Windows, Macintosh, Amiga, BeOS, and other systems. And it
is freely available.
Van Rossum started developing Python while working at CWI, the National
Research Institute for Mathematics and Computer Science in the Netherlands.
While there, he worked on the Amoeba project, a distributed operating system
that was the brainchild of Andrew Tanenbaum and jointly developed by CWI and
the Computer Systems Group of the Department of Computer Science of the Free
University of Amsterdam. It was at this time that Van Rossum started Python
development.
Van Rossum is currently a group leader and system architect for the Corporation
for National Research Initiatives (CNRI), a nonprofit organization in the U.S. that
undertakes research and development for the National Information Infrastructure.
At CNRI, he is working on a system for mobile agents called "Knowbots"
(http://www.cnri.reston.va.us/home/koe/) that uses Python as its main
programming language. CNRI currently supports Python development, including
coordinating the Python Software Association (http://www.psa.org/) and Python
Consortium (http://www.python.org/). Van Rossum is also the coauthor (with
Aaron Watters and Jim Ahlstrom) of Internet Programming With Python (IDG
Boooks, 1996). Much of his recent interest involves JPython, a complete Python
implementation written in 100 percent pure Java which compiles Python source
code directly to Java bytecode. The resulting class files can be run in any browser
that is JDK 1.1 compliant.
One of the challenges in the
realm of scientific computing
is to efficiently and affordably
handle large data sets. This is
precisely the problem faced
by researchers participating
in the Earth and Space
Sciences Project at the
Goddard Space Flight
Center. To tackle the
problem, Donald Becker and
Thomas Sterling launched
the Beowulf Project
(http://beowulf.gsfc.nasa.gov/beowulf.html),
a cluster computer consisting
of high-performance PCs
built from off-the-shelf
components, connected via
Ethernet, and running under
Linux. Ultimately, the goal of
the Beowulf approach was to achieve supercomputer (gigaflop) performance at
PC prices.
To implement such a system, however, Becker, who is a staff scientist with the
Center of Excellence in Space Data and Information Sciences (or CESDIS, part
of the University Space Research Association, a nonprofit consortium of
universities that sponsors space-related research), had to come to grips with
Linux's unstable networking capabilities, and the lack of Linux support for
off-the-shelf network cards. Consequently, Becker ended up writing
enhancements to the kernel network subsystem to support faster I/O on
high-speed networks, device drivers for countless Ethernet cards (see
http://cesdis.gsfc.nasa.gov/linux/drivers/ index.html), and a distributed shared
memory package.
Becker wasn't a stranger to Linux, networking, or parallel computing when he
launched into Beowulf, however. After receiving a degree in electronical
engineering and computer science from the Massachusetts Institute of
Technology, he worked for Harris Corp. as an engineer performing parallel
computing research. From there he moved to the Institute for Defense Analysis's
Supercomputer Research Center where he first encountered Linux and its lack of
network support. Then in 1994, Becker joined CESDIS where he began his
Beowulf work.
Although much of his initial work was in support of Beowulf, the entire computing
community ultimately benefited from Becker's efforts. Linux would not have
achieved the level of success and acceptance it has today had it not been for
Becker's work, which resulted in a Linux with robust, stable networking and
support for "every shipping Fast Ethernet chipset." As for Beowulf, dozens of
university and research groups have now built their own Beowulf clusters, ranging
from the original 16-node cluster running on Intel DX4 processors connected by
channel-bonded 10-Mbits/sec Ethernet, to Avalon, a 19-gigaflop cluster of 140
Alpha processors that was built by the Los Alamos National Laboratory and that
cost only $150,000.
Along with other members of his team at Excellence in Space Data and
Information Sciences, Becker was the recipient of the IEEE Computer Society
1997 Gordon Bell Prize for Price/Performance "in recognition of their superior
effort in practical parallel-processing research." Becker is the coauthor, along
with Thomas L. Sterling, John Salmon, and Daniel F. Savarese of the recently
published How to Build a Beowulf: A Guide to the Implementation and
Application of PC Clusters (MIT Press, 1999).
Please join us in honoring Guido van Rossum and Donald Becker. Once again,
they remind us that a mix of technology, innovation, vision, and cooperative spirit
continue to be fundamental to advancement in software development.
DDJ
Locate DDJ articles:
Copyright (C) 1999, Dr. Dobb's Journal
Dr. Dobb's Web Site Home Page -- Top of This Page
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.196.11]
BBS水木清华站∶精华区