Or abstracts away a tricky problem of synchronisation, it's all a matter of 
perspective. Just the same way automatic memory management obfuscates the logic 
behind memory allocations and freeing, channels obfuscate the logic behind 
passing data between threads. But when the end goal is to do the 
allocations/freeing or data passing correctly I don't need to know those 
details, I just need it to work. And much the same way as Nim can switch the 
garbage collector it would be possible to switch the channel implementation. 
That's the beauty of abstraction.

Reply via email to