u/seanseefriedin r/haskell • Recommends
The Joy of Refactoring with Strong, Static Types
#statictyping#dynamictyping#refactoring
2.9K subscribers • 30 videos on Hallway
Intermediate. Assumes working knowledge.
2.4K views10 years ago1 recommendation
Programming languagesTools and practiceHaskellRefactoring and legacy codeRuby
Sean Seefried compares refactoring in Haskell and Ruby to demonstrate how strong static types make code maintenance easier.
Sean Seefried's talk at Compose :: Conference in Melbourne, 2016. -- Fans of strongly statically typed languages will tout the benefits of their type system such as: mistakes are detected earlier, types serve as a form of machine-checked documentation, increased run-time efficiency, and so on. But a point that is sometimes missed is that types make refactoring your code much easier. This is important since maintaining a program is a huge part of its life cycle! In this talk I will refactor two small programs live. One will be written in Haskell, which has a strong static type system, and the other in Ruby, which has a dynamic type system and somewhat 'loose'. The programs will be written to be as close in functionality and structure as possible. I will then propose a change to the API of the programs for which a refactor will be required. I will then demonstrate the markedly different experience that a somewhat error prone developer will have when refactoring the two programs. -- composeconference.org/2016-melbourne/day-one-program/u/seanseefriedin r/haskell • Recommends