Overview
Syllabus
Intro
Programming Styles Ways of expressing tasks Exist at all scales Recur in multiple scales Codified in PLS
Why Are Styles Important? Many Common vocabularies Basic frames of reference Some better than others Depending on many things!
Why Are Styles Important? Many Common vocabularies Basic frames of reference Some better than others - Depending on many things!
Main Characteristics No abstractions Heavy control flow
Main Characteristics No [named] abstractions Very few [long] lines of code Advanced libraries / constructs
Main Characteristics Procedural abstractions maybe input, no output Shared state Commands
Main Characteristics Function abstractions f: Input → Output No shared state Function composition fºg
Main Characteristics Functions take one additional parameter, f called at the end * given what would normally be the return value plus the next function
Main Characteristics Things, things and more things! Capsules of data and procedures Data is never accessed directly Capsules say "I do the same things as that one, and more!"
Main Characteristics (Similar to #6) Capsules receive messages via single receiving procedure
Main Characteristics Two key abstractions: map(f, chunks) and reduce(g, results)
Taught by
Strange Loop Conference