YoVDO

Refactoring to Immutability

Offered By: NDC Conferences via YouTube

Tags

NDC Conferences Courses Programming Languages Courses Functional Programming Courses Software Architecture Courses Immutability Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the concept of immutability and its practical application in software development through this insightful conference talk. Delve into the challenges of refactoring existing code to embrace immutability, and discover approaches to reduce state mutability. Learn about the importance of reasoning in code, the significance of architectural decisions, and the balance between functional and imperative programming styles. Gain valuable insights on implementing immutable value objects and understand the principles behind the Anti-IF Campaign. Enhance your programming skills by mastering the art of refactoring towards immutability and its potential to revolutionize your coding practices.

Syllabus

Refactoring to Immutability
Functional programming typically avoids using mutable state.
your code should be reasonable
you should be able to reason about code
Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change. Grady Booch
Many programming languages support programming in both functional and imperative style but the syntax and facilities of a language are typically optimised for only one of these styles, and social factors like coding conventions and libraries often force the programmer towards one of the styles.
Immutable Value Define a value object type whose instances are immutable. The internal state of a value object is set at construction and no subsequent modifications are allowed.
Anti-IF Campaign


Taught by

NDC Conferences

Related Courses

Programming Languages
University of Virginia via Udacity
Compilers
Stanford University via Coursera
Programming Languages, Part A
University of Washington via Coursera
CSCI 1730 - Introduction to Programming Languages
Brown University via Independent
Intro to Java Programming
San Jose State University via Udacity