filmov
tv
CppCon 2019: Tony Van Eerd Objects vs Values: Value Oriented Programming in an Object Oriented World
Показать описание
—
—
—
There is a battle going on inside your code. At least there is if it is anything like every other codebase I've ever worked on, seen, or heard about.
Your UI wants to show the user the *state* of the *objects* of the program, and allow the user to change the state of those objects, typically with direct interaction and feedback.
But hiding beneath that hustle and bustle, sometimes hiding too well, are simple, maybe even pure, math-like functions that take *values*, and return *values*. (Sometimes these functions camouflage themselves as methods that modify objects.) These functions can be complicated, but are simple in that you can understand them without understanding the entire system.
Unfortunately it is not usually clear how to make these Objects and these functional Values get along.
And in addition to that battle, there is the related battle of minimizing entanglement while managing real-world interrelationships.
How do we manage all these forces pulling us in these different directions?
(And how do we test it?)
—
Tony Van Eerd
Christie Digital
Ninja/Jedi/Tony
Waterloo
Tony has been coding for well over 25 years, and maybe coding well for some of that. Lots of pixel++, UX, threading, etc. Previously at Inscriber, Adobe, BlackBerry, he now enables Painting with Light at Christie. He is on the C++ Committee. He is a Ninja and a Jedi.Follow @tvaneerd if you dare.
—
*-----*
*-----*
—
—
There is a battle going on inside your code. At least there is if it is anything like every other codebase I've ever worked on, seen, or heard about.
Your UI wants to show the user the *state* of the *objects* of the program, and allow the user to change the state of those objects, typically with direct interaction and feedback.
But hiding beneath that hustle and bustle, sometimes hiding too well, are simple, maybe even pure, math-like functions that take *values*, and return *values*. (Sometimes these functions camouflage themselves as methods that modify objects.) These functions can be complicated, but are simple in that you can understand them without understanding the entire system.
Unfortunately it is not usually clear how to make these Objects and these functional Values get along.
And in addition to that battle, there is the related battle of minimizing entanglement while managing real-world interrelationships.
How do we manage all these forces pulling us in these different directions?
(And how do we test it?)
—
Tony Van Eerd
Christie Digital
Ninja/Jedi/Tony
Waterloo
Tony has been coding for well over 25 years, and maybe coding well for some of that. Lots of pixel++, UX, threading, etc. Previously at Inscriber, Adobe, BlackBerry, he now enables Painting with Light at Christie. He is on the C++ Committee. He is a Ninja and a Jedi.Follow @tvaneerd if you dare.
—
*-----*
*-----*