We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
A Racket Perspective on Research, Education, and Production - Matthew Flatt
Discover the importance of research, education, and production in programming languages, and why simplicity and ease of use are crucial for driving innovation and progress in Matt Flatt's thought-provoking conference talk.
- Research should be about exploring new ideas and solving problems, not just writing papers.
- Education is important for its own sake, and also because it drives innovation and progress in research.
- In academia, there is a natural tension between research, education, and service, but all three are important.
- A language should be designed to support both research and education, and should have a strong focus on simplicity and ease of use.
- Development of a language should involve iteration on both the curriculum design and the software design, and should be driven by a focus on solving real problems.
- A language should have a way to express domain-specific concepts, and should be designed to support the creation of new languages and abstractions.
- Research should be combined with education and production use to create a self-reinforcing cycle of innovation and improvement.
- A language should have a module system and a way to create new languages and abstractions, and should be designed to support the creation of new software systems.
- Education should be integrated with research and production use, and should involve teaching students to think about problems in a way that is useful for solving real-world problems.
- A language should have a way to express contracts and types, and should be designed to support the creation of new software systems that are type-safe and correct.
- Education should be about teaching students to think about problems in a way that is useful for solving real-world problems, and should involve training students to be proficient in a programming language.
- Research should be about exploring new ideas and solving problems, and should be driven by a focus on simplicity and ease of use.