|
|
|
|
|
by jimbokun
235 days ago
|
|
> However, don't you still need to understand the entire program as ultimately that's what you are trying to build. Of course not, that's impossible. Modern programs are way to large to keep in your head and reason about. So you need to be able to isolate certain parts of the program and just reason about those pieces while you debug or modify the code. Once you identify the part of the program that needs to change, you don't have to worry about all the other parts of the program while you're making that change as long as you keep the contracts of all the functions in place. |
|
And how do you do that without understanding how the program works at a high level?
I understand the value of clean interfaces and encapsulation - that's not unique to functional approaches - I'm just wondering in the world of pure immutability where the application state goes.
What happens if the change you need to make is at a level higher than a single function?