You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
917 B

  1. \begin{itemizep}
  2. \item forget about imperative, procedural, OOP; forget about any programming language
  3. \item think in types!
  4. \begin{itemizep}
  5. \item don't be afraid of type errors
  6. \item let the type-checker do the work for you (does this function do what I think it does?)
  7. \item understand functions just by looking at their type signature?
  8. \end{itemizep}
  9. \item think abstract!
  10. \begin{itemizep}
  11. \item don't repeat yourself!
  12. \item "develop a solution space, rather than an individual solution" -- Ralf Hinze
  13. \item "imagine a graph, rather than a single path" -- Ralf Hinze
  14. \item "first solve a more general problem, then extract the interesting bits and pieces by transforming the general program into more specialised ones" -- Ralf Hinze
  15. \end{itemizep}
  16. \item solve atomic parts of general problems and combine them into greater solutions
  17. \item don't be afraid of recursion!
  18. \item write less, think more!
  19. \end{itemizep}