The Durability of Programming: What Will Remain True in 100 Years?

TLDRThis presentation explores the durable aspects of programming that are likely to remain true in 100 years. It examines the limitations of programming languages, frameworks, and paradigms in bringing about significant improvements in productivity. The speaker predicts that programming will still be a mix of procedural, object-oriented, and functional programming, as these approaches complement each other.

Key insights

💡Progress in programming languages and frameworks may not lead to significant improvements in productivity beyond what is achievable now.

🔍The level of detail required to specify code remains difficult to abstract, making it hard to raise the level of abstraction.

😮Functional programming is unlikely to replace object-oriented programming, as both approaches have their strengths and complement each other.

🌍Programming will still rely on human intervention and decision-making, as future technologies will change but humans will remain the ones writing software.

📚Past attempts to raise the level of abstraction in programming have not resulted in significant leaps in productivity, suggesting that the current level of detail required is fundamental.

Q&A

Will programming languages and frameworks evolve significantly in the next 100 years?

While programming languages and frameworks will continue to evolve, the speaker argues that significant leaps in productivity are unlikely. They believe that the current level of detail required in programming is fundamental and difficult to surpass.

Is functional programming superior to object-oriented programming?

The speaker does not believe that functional programming will replace object-oriented programming. Both approaches have their strengths and complement each other in solving different kinds of problems.

Can we raise the level of abstraction in programming further?

Past attempts to raise the level of abstraction in programming have not led to significant improvements in productivity. The speaker suggests that the level of detail required to specify code is difficult to abstract, making it hard to achieve higher levels of abstraction.

Will artificial intelligence replace human programmers?

The speaker predicts that human programmers will still be writing software in 100 years. While technology may change, human intervention and decision-making will remain crucial in the programming process.

Are there fundamental aspects of programming that won't change in the future?

The speaker believes that certain aspects of programming, such as the need for human intervention and the level of detail required, will remain durable in the future. While technologies may evolve, these fundamental aspects will persist.

Timestamped Summary

00:00The presentation explores the durable aspects of programming that are likely to remain true in 100 years.

07:07Frameworks and programming languages may not lead to significant leaps in productivity beyond what is achievable now.

09:59There is a fundamental difficulty in raising the level of abstraction in programming, hindering significant progress.

12:30Programming will still be a mix of procedural, object-oriented, and functional programming.

10:33Functional programming is unlikely to replace object-oriented programming, as both approaches have their strengths.