Alan Kay (VPRI Co-founder) – Turing Lecture with Dynamic Content (2004)


Chapters

00:00:30 Concepts for a First Computing Course
00:04:36 Computer Science and Software Engineering: The Journey from Ancient Times to Modern Engineering
00:14:22 Ideas and Motivation in the Acceptance of Computing Innovations
00:22:35 Simplicity as a Guiding Principle in Computing
00:27:43 Teaching Computer Science as a Literacy
00:31:47 Introducing New Concepts to Students
00:37:40 Origins and Evolution of Object-Oriented Programming
00:45:24 Key Concepts in Alan Kay's Computing Philosophy
00:49:02 Concepts of Computing Education for Beginners
00:53:23 New Ways of Composing Objects in Software
00:59:16 Future Innovations in Constructible Virtual Environments
01:04:58 Importance of Inspiring Children in Computing

Abstract

The Evolution of Computing: Reflecting on the Turing Award and Alan Kay’s Vision

In the field of computing, the Turing Award stands as a beacon of recognition for seminal contributions, with laureates like Alan Kay greatly influencing the field. Kay’s reflections, rooted in his Turing Award citation, emphasize a transformative approach to computing education, the development of object-oriented programming, and the essence of simplicity in design. His insights, ranging from the critique of traditional computing paradigms to the advocacy for a more immersive and exploratory educational system, illuminate the path forward in a field that is as complex as it is evolving.

Alan Kay’s Turing Lecture:

Alan Kay’s Turing lecture delves into his groundbreaking work in object-oriented programming languages and the development of Smalltalk. He draws parallels with Tony Hoare’s Algol observations, suggesting a continuum of improvement in programming languages. He envisions a different approach to teaching a first course in computer science, one that resonates with high school and college students. Inspired by Tony Hoare’s Turing lecture, which highlighted the improvements brought by Algol, particularly in comparison to its successors, Kay emphasizes the need for a new mathematics to describe the field of computer science, suggesting that classical mathematics may not be sufficient.

Teaching Computing:

Kay argues for a radical shift in teaching computing at high schools and colleges. His vision extends beyond conventional methods, advocating for courses that are more engaging and relevant, resonating with students’ lives. Inspired by Tony Hoare’s Turing lecture, Kay shares his early experiences in computing, primarily targeting high school and first-year college students. Recognizing that complaints are often met with resistance, Kay decided to take a different approach by envisioning what a first course in high school or college would look like if he were to teach it. He opens his lecture with a quote from Don Knuth, highlighting the importance of practicality over theoretical correctness in the field of computer science.

Don Knuth’s Perspective:

Citing Don Knuth, Kay warns against an overreliance on classical mathematics in computing, hinting at the need for a new mathematical framework more suited to the digital age.

The Nascence of Computer Science and Software Engineering:

Kay reflects on the early terminologies of ‘computer science’ and ‘software engineering,’ terms born in the infancy of the field, and how they have yet to fully capture the essence of their respective disciplines. The terms “computer science” and “software engineering” were coined to aspire to a higher level of rigor and organization. However, these fields are still in their infancy and lack a well-defined foundation. There are no instances in the field of computer science or software engineering where a large team has successfully completed a significant project in a short timeframe.

Engineering in Computing:

In comparing computing projects to historic engineering feats like the pyramids, Kay highlights the unique challenges of computing projects, notably their extended duration and the ongoing development of the field. The best practices in the field are comparable to Gothic cathedrals, which take a long time to complete but can be constructed using less material compared to ancient Egyptian or Babylonian structures. Educators should be honest with students about the nascent state of computer science and software engineering. Students should be taught to understand the scope of computing and help invent the future of the field. PhDs in the early days of ARPA were granted for genuine advancements, not just minor contributions.

Embracing Simplicity in Computing:

The joy of simplicity in computing should be pursued. Many people take delight in complexity, even when simpler solutions exist. Successful projects often emphasize simplicity. The ARPA and Xerox PARC communities excelled at simplicity. Chuck Thacker’s Alto computer was developed in just three months due to its simplicity. Dan Engel and Metcalf and Boggs also embraced simplicity in their work. Gary Starkweather’s first laser printer utilized readily available parts from a scientific hobby catalog. The Ethernet, despite its perceived inefficiency, has proven to be reliable and widely used. Maxwell’s equations, while complex to understand, simplify our understanding of electromagnetism.

User Interface and Education Motivations:

Kay emphasizes the importance of human motivations in shaping user interface design and educational approaches, underscoring the need for systems that cater to diverse learning styles and interests. There is a significant disparity between people who are instrumental reasoners and those who are primarily interested in ideas. This disparity affects various aspects of computing, including user interface design and education. Most people, about 95%, are instrumental reasoners who assess new tools or ideas based on their contribution to their current goals. They are practical and pragmatic, prioritizing immediate objectives over abstract concepts. About 5% of people are primarily motivated by ideas and readily adapt their goals and actions when presented with new concepts. They are easier to teach, especially when it comes to abstract and innovative subjects like science. Approximately 85% of people are motivated by external rewards, while

15% are driven by intrinsic factors. The outer-motivated group is more practical and less likely to embrace new ideas unless they align with their current goals. The outer-motivated majority tends to adopt new ideas and behaviors gradually, through a consensus-building process. This process resembles a forest fire, where a small spark of an idea spreads slowly until it reaches a tipping point, leading to widespread acceptance. In contagion models, about two-thirds of the outer-motivated group needs to agree with an idea before it becomes widely accepted. This phenomenon is evident in social trends, such as fashion and cultural norms, where a gradual shift occurs before sudden widespread adoption.

The Future of Computing and Teaching:

Kay envisions a future where students are encouraged to contribute to the evolving field of computing, moving beyond mere commentary to actual innovation. Kay suggests a “Model T” approach to programming education, focusing on simplicity, creativity, and engagement, and introduces the concept of “flow state” in learning. He presents a novel approach to teaching programming to children, using a system that emphasizes experimentation and understanding through a single type of object with a consistent user interface.

Ivan Sutherland’s Sketchpad and the Evolution of Object-Oriented Programming:

Sketchpad’s groundbreaking capabilities allowed users to create and modify dynamic simulations by simply drawing and defining relationships, revolutionizing computer-aided design. The discovery of Simula, a programming language from Norway, introduced the concept of procedures for manipulating complex data structures, leading to the early understanding of object-oriented programming. Kay’s background in molecular biology and mathematics influenced his view of Sketchpad as a kernel for a more abstract approach to computing. The development of practical OOP at Xerox PARC focused on software engineering and optimization, similar to the earlier efforts in LISP.

Key Principles and Preferences:

Alan Kay emphasizes the significance of messages as abstractions, urging a shift from focusing solely on objects to understanding the underlying communication mechanisms. He expresses his love for parallelism, influenced by his early experiences with plug boards. He praises the hardware of the B5000 for its parallel capabilities and considers it the inspiration for today’s virtual machines.

The Essence of Exceptional Systems:

Kay highlights the remarkable achievements of Engelbart, spreadsheets, and HyperCard. He envisions amalgamating these concepts into a simple system accessible to non-experts.

Beginner-Friendly Programming Languages:

Alan Kay believes programming languages should be capable of performing interesting tasks without relying on libraries. He compares this to the Model T, which had a limited number of parts and could be disassembled and reassembled over a weekend.

Valuable Computing Literature:

Kay acknowledges that there are a few worthwhile books about computing that explore important ideas and concepts. He emphasizes that less than 1% of computing books are worth reading, but there are dozens of valuable ones available.

The Complexity of Computing:

Kay concludes that computing is a complex, ever-evolving field, with engineering practices still in development and students playing a pivotal role in shaping its future. Doug Engelbart’s pioneering concepts, introduced over 40 years ago, are still not fully understood by most people. This highlights the challenge in disseminating and gaining acceptance for transformative ideas, especially when they are ahead of their time.



Alan Kay’s insights offer a profound understanding of the evolution and future of computing. His emphasis on simplicity, user interface design, and a transformative approach to education highlights the pivotal role of innovative thinking in shaping a field that continues to redefine itself.

Supplemental Updates:

Teaching Concepts Through Real-World Examples:

Use relatable examples to engage children’s interest, such as learning to drive their parents’ car, to teach programming concepts.

Designing a Car:

When designing a car, children tend to add large off-road tires, reflecting their desire for power and control.

Video Game Violence and Empowerment:

Video game violence often appeals to the desire for empowerment and feeling in control.

Introduction to Variables:

It’s important for children to understand the concept of variables early on and to learn about their role in programming.

Uniformity of Objects:

In Kay’s system, there is only one kind of object, allowing for a simplified and cohesive understanding of programming.

Scripter and the Viewer:

The Scripter and Viewer concepts allow for a deeper understanding of meta-programming and the ability to manipulate objects within the system.

Sideways Composition:

Kay introduces the concept of sideways composition, which involves combining objects horizontally rather than vertically through inheritance.

Object as an Object:

Kay demonstrates the idea of viewing an object as an object, allowing for introspection and meta-programming capabilities.

Meta-Programming Demonstration:

Kay suppresses all costumes on all objects to illustrate the underlying similarities and abstract nature of the system.

Building Safe Meta-Systems:

Meta-systems, or systems that control other systems, are safe when they allow for multiple layers of protection and control. This can be achieved through fences or barriers that prevent unauthorized access or unintended consequences.

Croquet: A Free and Constructible 3D Environment:

Croquet is a free and open-source 3D environment that allows users to build and interact with 3D worlds. Each 3D world in Croquet is like a web page, and portals serve as hyperlinks to connect these worlds.

Bridge Building and Simulation:

The presentation includes a demonstration of a bridge-building environment where users can create and simulate bridges using a scripting language. The script controls the forces acting on the bridge, such as gravity and wind, and allows users to adjust parameters like mass, velocity, and acceleration.

Tacoma Narrows Bridge Simulation:

The demonstration also includes a simulation of the Tacoma Narrows Bridge, which famously collapsed due to wind-induced resonance. The simulation uses a script to control the wind’s behavior and allows users to observe the bridge’s response under varying wind conditions.

Meta-Systems and the Tacoma Narrows Bridge:

The Tacoma Narrows Bridge collapse highlights the importance of meta-systems in controlling complex systems. By allowing users to manipulate the bridge’s parameters and observe its behavior, the simulation provides a meta-level of control that enables experimentation and learning.

Final Words:

Alan Kay emphasizes the importance of captivating children’s interest in computer science by highlighting the beauty and allure of the field.

Duty to Enjoy and Share:

Kay stresses the responsibility of computer scientists to revel in the wonders of their discipline and actively share that enthusiasm with the younger generation.

Looking Back and Moving Forward:

He reminds the audience that the true potential of computer science has yet to be fully realized, emphasizing the importance of continual progress and innovation.

Encouraging Children:

Kay encourages computer scientists to inspire children at an early age, nurturing their curiosity and potential in the field.

Gratitude and Farewell:

The speaker expresses gratitude to Alan Kay for his inspiring talk and presents a token of appreciation. The Turing Award lecture concludes, and attendees are invited to dinner followed by the 10th-anniversary reunion of the golf event.


Notes by: ChannelCapacity999