No
Yes
View More
View Less
Working...
Close
OK
Cancel
Confirm
System Message
Delete
My Schedule
An unknown error has occurred and your request could not be completed. Please contact support.
Scheduled
Wait Listed
Personal Calendar
Speaking
Conference Event
Meeting
Interest
There aren't any available sessions at this time.
Conflict Found
This session is already scheduled at another time. Would you like to...
Loading...
Please enter a maximum of {0} characters.
{0} remaining of {1} character maximum.
Please enter a maximum of {0} words.
{0} remaining of {1} word maximum.
must be 50 characters or less.
must be 40 characters or less.
Session Summary
We were unable to load the map image.
This has not yet been assigned to a map.
Search Catalog
Reply
Replies ()
Search
New Post
Microblog
Microblog Thread
Post Reply
Post
Your session timed out.
This web page is not optimized for viewing on a mobile device. Visit this site in a desktop browser to access the full set of features.
RootsTech 2016

IS1468-W - A Case for Immutable Data (W)

Session Description

Developers raised on imperative object-oriented programming are often surprised to learn that large systems can be written without the use of assignment statements or SQL UPDATEs: all variables and database entries can be immutable, write-once data. Immutable data simplifies concurrency, distributed system design, replication, caching, program verification, and many data-processing algorithms. This talk will discuss how to modify the communication mechanism between tools or between different users' copies of the same tool to incorporate immutability, focusing on three benefits: an efficient, intrinsic handling of versioning and conflict resolution; a trivial way to let users chose not to share some details without impacting anything else; and a natural merging of the "my data" and "shared data" models of family history software. Time permitting, we'll also discuss its potential use in future partial-implementation- and extension-friendly data standards.


Session Speakers
Additional Information
Developer
Intermediate
Traditional Class Session
30 minutes