Agile Developer Practices for Dynamic Languages
Developer practices for traditional and agile Java development are well understood and documented. But dynamic languages (Groovy, Ruby, and others) change the ground rules. Many of the common practices, refactoring techniques, and design patterns we have been taught either no longer apply or should be applied differently and some new techniques also come into play. In this talk, we'll relearn how to do agile development with dynamic languages.
- What Java practices should you "unlearn"!
- Myths and truths about dynamic typing
- Interface-oriented style versus duck-typing vs chicken-typing
- Better patterns: Adapter, Builder, Delegation, Visitor, Strategy, Singleton, Immutable, Factories, Proxies and more
- Refactoring your Refactoring and Closure refactoring
- Applying functional style with closures and currying
- Pondering the relevance of the open-closed principle
- Do you need dependency injection when you have a MOP?
- Examining the need for mocking and testing frameworks
- Dealing with Feature Interaction
- Practices to consider when writing DSLs
About Paul King
Paul King leads ASERT, an organization based in Brisbane, Australia which provides software development, training and mentoring services to customers wanting to embrace new technologies, harness best practices and innovate. He has been contributing to open source projects for nearly 20 years and is an active committer on numerous projects including Groovy. Paul speaks at international conferences, publishes in software magazines and journals, and is a co-author of Manning's best-seller: Groovy in Action.
More About Paul »