Overview
Explore the intricacies of programming language design and evolution in this keynote presentation from GOTO Copenhagen 2015. Delve into the challenges of adding new capabilities to mature languages like Java while maintaining compatibility with existing code and developer expectations. Learn about the importance of moving deliberately in language design, balancing innovation with stability. Discover insights on the human aspects of programming, the misconceptions developers often have about code importance, and strategies for evolving a language effectively. Examine real-world examples and evolutionary tracks in language development, and gain perspective from quotes by influential figures. Cover topics such as engineering principles, compatibility concerns, embracing and extending language features, and the role of hardware in language evolution. Gain a deeper understanding of arrays, values, and generics in the context of Java's development.
Syllabus
Intro
Move fast and break things
Engineering closer to the bottom
The people part
The hard work
Compatibility
Developers overestimate the importance of code
How to evolve
Example
Evolutionary Track
Embrace and Extend
Steve Jobs Quote
Ralph Waldo Emerson Quote
Hardware
Arrays
Values
Generics
Taught by
GOTO Conferences