Gregor Kiczales | |
---|---|
Born | Gregor Jean Kiczales 1961 (age 62–63) |
Citizenship | United States, Canada |
Alma mater | Massachusetts Institute of Technology (dropped out) |
Occupation | Computer Scientist |
Employer | University of British Columbia |
Known for | aspect-oriented programming, AspectJ |
Website | www |
Gregor Kiczales is an American Canadian computer scientist. He is currently a professor of computer science at the University of British Columbia in Vancouver, British Columbia, Canada. [1] He is best known for developing the concept of aspect-oriented programming, [2] and the AspectJ extension to the Java programming language, both of which he designed while working at Xerox PARC. [3] He is also one of the co-authors of the specification for the Common Lisp Object System, [4] and is the author of the book The Art of the Metaobject Protocol , along with Jim Des Rivières and Daniel G. Bobrow. [5]
Most of Kiczales' work throughout the years has been focused on allowing software engineers to create programs that look as much as possible like their design, to reduce complexity and make code maintenance easier, ultimately improving software quality.
After pursuing undergraduate studies at MIT, Kiczales started his research career in 1980 at the MIT Lab for Computer Science, where he stayed until 1983. In 1984, he joined the Xerox Palo Alto Research Center software research lab as Member of Research Staff, becoming Principal Scientist in 1996. Throughout his time at PARC, Kiczales developed some of his most important research works, including aspect-oriented programming and AspectJ. He left PARC in 1999 to focus on computer science education. [6]
In 2000, he moved to Canada and joined the Department of Computer Science at the University of British Columbia as a tenured professor. [7] At UBC, Kiczales started the Software Practices Lab [8] and designed a number of courses related to software engineering and programming languages. Most importantly, he designed CPSC 110, the introductory programming course in the UBC curriculum, which students take in their first year of undergraduate studies. The course focuses on systematic program design by means of design recipes . [9]
In 2002, he co-founded Intentional Software with Charles Simonyi, but then left the company in 2003 in order to return to UBC. [10]
In 2012, he won the Senior AITO Dahl-Nygaard Prize for his work on the Common Lisp Object System, [11] and was named an ACM Fellow for his contributions to aspect-oriented programming. [12]
In July 2017, he was appointed executive director of UBC Extended Learning. [13]
Alan Curtis Kay is an American computer scientist best known for his pioneering work on object-oriented programming and windowing graphical user interface (GUI) design. At Xerox PARC he led the design and development of the first modern windowed computer desktop interface. There he also led the development of the influential object-oriented programming language Smalltalk, both personally designing most of the early versions of the language and coining the term "object-oriented." He has been elected a Fellow of the American Academy of Arts and Sciences, the National Academy of Engineering, and the Royal Society of Arts. He received the Turing award in 2003.
SRI Future Concepts Division is a research and development company in Palo Alto, California. It was founded in 1969 by Jacob E. "Jack" Goldman, chief scientist of Xerox Corporation, as a division of Xerox, tasked with creating computer technology-related products and hardware systems.
Gauche is an R7RS Scheme implementation. It is designed for scripting in a production environment. It is intended to allow programmers and system administrators to write scripts in support of daily operations. Quick startup, built-in system interface, native multilingual support are some of its key design goals.
The Common Lisp Object System (CLOS) is the facility for object-oriented programming in ANSI Common Lisp. CLOS is a powerful dynamic object system which differs radically from the OOP facilities found in more static languages such as C++ or Java. CLOS was inspired by earlier Lisp object systems such as MIT Flavors and CommonLoops, although it is more general than either. Originally proposed as an add-on, CLOS was adopted as part of the ANSI standard for Common Lisp and has been adapted into other Lisp dialects such as EuLisp or Emacs Lisp.
Interlisp is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman in Cambridge, Massachusetts with Lisp implemented for the Digital Equipment Corporation (DEC) PDP-1 computer by Danny Bobrow and D. L. Murphy. In 1970, Alice K. Hartley implemented BBN LISP, which ran on PDP-10 machines running the operating system TENEX. In 1973, when Danny Bobrow, Warren Teitelman and Ronald Kaplan moved from BBN to the Xerox Palo Alto Research Center (PARC), it was renamed Interlisp. Interlisp became a popular Lisp development tool for artificial intelligence (AI) researchers at Stanford University and elsewhere in the community of the Defense Advanced Research Projects Agency (DARPA). Interlisp was notable for integrating interactive development tools into an integrated development environment (IDE), such as a debugger, an automatic correction tool for simple errors, and analysis tools.
In computer science, a metaobject is an object that manipulates, creates, describes, or implements objects. The object that the metaobject pertains to is called the base object. Some information that a metaobject might define includes the base object's type, interface, class, methods, attributes, parse tree, etc. Metaobjects are examples of the computer science concept of reflection, where a system has access to its own internal structure. Reflection enables a system to essentially rewrite itself on the fly, to alter its own implementation as it executes.
Daniel Henry Holmes Ingalls Jr. is a pioneer of object-oriented computer programming and the principal architect, designer and implementer of five generations of Smalltalk environments. He designed the bytecoded virtual machine that made Smalltalk practical in 1976. He also invented bit blit, the general-purpose graphical operation that underlies most bitmap computer graphics systems today, and pop-up menus. He designed the generalizations of BitBlt to arbitrary color depth, with built-in scaling, rotation, and anti-aliasing. He made major contributions to the Squeak version of Smalltalk, including the original concept of a Smalltalk written in itself and made portable and efficient by a Smalltalk-to-C translator.
Ralph E. Johnson is a Research Associate Professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign. He is a co-author of the influential computer science textbook Design Patterns: Elements of Reusable Object-Oriented Software, for which he won the 2010 ACM SIGSOFT Outstanding Research Award. In 2006 he was awarded the Dahl–Nygaard Prize for his contributions to the state of the art embodied in that book as well.
Richard P. Gabriel is an American computer scientist known for his work in computing related to the programming language Lisp, and especially Common Lisp. His best known work was a 1990 essay "Lisp: Good News, Bad News, How to Win Big", which introduced the phrase Worse is Better, and his set of benchmarks for Lisp, termed Gabriel Benchmarks, published in 1985 as Performance and evaluation of Lisp systems. These became a standard way to benchmark Lisp implementations.
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is closely related to other fields including mathematics, software engineering, and linguistics. There are a number of academic conferences and journals in the area.
CommonLoops is an early programming language which extended Common Lisp to include Object-oriented programming functionality and is a dynamic object system which differs from the OOP facilities found in static languages such as C++ or Java. Like New Flavors, CommonLoops supported multiple inheritance, generic functions and method combination. CommonLoops also supported multi-methods and made use of metaobjects. CommonLoops and New Flavors were the primary ancestors of CLOS. CommonLoops was supported by a portable implementation known as Portable CommonLoops (PCL) which ran on all Common Lisp implementations of the day.
The Art of the Metaobject Protocol (AMOP) is a 1991 book by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow on the subject of metaobject protocol.
Akinori Yonezawa(born June 17, 1947) is a Japanese computer scientist. Professor Emeritus of the University of Tokyo. Received Ph.D. from the Massachusetts Institute of Technology (MIT). Currently, a senior fellow at the Chiba Institute of Technology, Software Technology and Artificial Intelligence Research Center. Former member of the Science Council of Japan. Specializes in object-oriented programming languages, distributed computing and information security. From its beginning, he contributed to the promotion and development of object-oriented programming, which is the basis of programming languages most commonly used today, and served as a program committee member and chairman of the main international conferences OOPSLA and ECOOP. At the same time, he is internationally known as a pioneer of the concepts and models of “concurrent/parallel objects". In software systems constructed based on concurrent/parallel objects, information processing and computation proceed by concurrent/parallel message passing among a large number of objects. Yonezawa's concurrent (parallel) objects are influenced by Actors, the concept of which was proposed by Carl Hewitt at MIT's AI Lab in the early 1970s and later rigorously formulated by Gul Agha. However, concurrent objects and actors are fundamentally different. An actor is an object that does not have a "state," whereas Yonezawa's concurrent (parallel) object can have a persistent state. For this reason, concurrent (parallel) objects are often used in implementing large parallel processing software systems. Large-scale software systems built and put into practical use based on concurrent (parallel) objects include an online virtual world system Second Life, social networking services such as Facebook and X (Twitter), and large-scale molecular dynamics simulation systems such as NAMD.
The Dahl–Nygaard Prize is awarded annually to a senior researcher with outstanding career contributions and a younger researcher who has demonstrated great potential. The senior prize is recognized as one of the most prestigious prizes in the area of software engineering, though it is a relatively new prize.
The Department of Computer Science at the University of British Columbia was established in May 1968. UBC CS is located at the UBC Point Grey campus in Vancouver, British Columbia, Canada. As of November 2023, it has 66 faculty, 64 staff, 259 graduate students, and 2,774 undergraduates.
An aspect weaver is a metaprogramming utility for aspect-oriented languages designed to take instructions specified by aspects and generate the final implementation code. The weaver integrates aspects into the locations specified by the software as a pre-compilation step. By merging aspects and classes, the weaver generates a woven class.
Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields, and code in the form of procedures. In OOP, computer programs are designed by making them out of objects that interact with one another.
James Noble was the 2016 winner of the Dahl-Nygaard Prize. He was Professor of Computer Science at the Victoria University of Wellington, in Wellington, New Zealand until February 2022.