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水木清华站∶精华区