YoVDO

Exercises in Style

Offered By: Strange Loop Conference via YouTube

Tags

Strange Loop Conference Courses Aspect-oriented programming Courses Object-oriented programming Courses Software Design Courses Software Architecture Courses

Course Description

Overview

Explore diverse programming styles through a conference talk that reimagines a simple program in multiple paradigms. Dive into monolithic, object-oriented, continuations, relational, publish/subscribe, monadic, aspect-oriented, and map-reduce implementations, gaining insight into the richness of computational thought. Understand how these concepts influence large-scale systems design and why versatility in programming styles is crucial for software architects. Learn from Professor Crista Lopes, an accomplished computer scientist and software developer, as she demonstrates the importance of broadening one's programming perspective beyond familiar paradigms. Discover how programming language constructs evolve into large-scale distributed systems and why mastering various styles is essential for professional growth in software development.

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

Tags

Related Courses

Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera
The Caltech-JPL Summer School on Big Data Analytics
California Institute of Technology via Coursera
Automated Visual Software Analytics
openHPI
Software Architecture & Design
Georgia Institute of Technology via Udacity
Software Architecture for the Internet of Things
EIT Digital via Coursera