Einstein said, God is in the details.

Well, i agree – folks who have been coding for some time know that good programmers are the ones who are closest to God-mode when it comes to software.

I would expect someone who opens files and reads them to know (at least) what are the default buffer sizes or if there is no buffering going on and such.

And the same applies to me.

So when i shift to a new abstraction for file manipulation, suddenly i find that i cannot find god anymore. The where’s & why’s of the abstraction being used are suddenly not available and i am not comfortable anymore.

This, i believe is the reason why programmers acquire religion – some people use only fopen, some people use only ifstream and some folks use home spun code.

ps: It probably also helps control complexity to some extend.