A warning that the rate of change in underlying software development paradigms will require new mental approaches to the large software challenges lying ahead of us. The "algol-based" languages used by the vast majority of developers will yield to more scalable functional languages.
In the meantime, continue to grow you skills and constantly learn how to take advantage of tools to get more bang for the time you spend designing and coding.
A new look at software development - What will the next 10 years bring?
- You're doing it completely wrong.
- Software is hard
- Software construction is the most complex endeavor ever undertaken by mankind.
- The only software that's worth making is software that does something new.
- It's only getting (more)...
- more complex
- life critical
30 years of software
- popular languages
- flavors, blends, derivatives
- Fortran->Algol 54/58
- Lisp 58
- Ruby described as new-age lisp.
- Smalltalk from lisp from simula
- Prolog --> Erlang
- ML --> Haskel
Time for a change?
Let the computer do more work.
- What you want to do instead of how.
strong type systems
- language agda
Tools that cooperate
- real-time analysis of our codes.
Do more for the developer
- Giving some insight into the code you're writing.
- Static analysis
Generated test suites
- Identify boundary cases.
Will current ideas continue to server us?
Speaker says NO!
new way of programming
We need parallel strategies
- problem decomposition
- data structure design
- algorithmic organization
- better languages
- better tools
- tools that help us.
Google's "Go" language
- everything is parallelized.
parallel and distributed baked in
- that actively prevent bugs
closing quotes: (Guy Steele):
- The bag of programming tricks that has served us for 50 years is the wrong way to think going forward and must be thrown out.
- The great tricks of sequential programming don't work.
- It's a parallel world of parallel problems.
- Have strategies that assume imperfection. How do we write code that way?