Uwe Keim posted the following comment to my “Dumber” post.
But if I think about the future, I fear that we (the developers) are slightly loosing bit for bit of our knowledge to the "big framework author" (like e.g. Microsoft) and some day we suddenly see, that we must take whatever the "big framework author" gives us, because we moved step-by-step into a deep dependency on the "big framework author".
What do you consider to be the framework, the .NET runtime components, MFC runtime DLL’s, the operating system itself ? – at all levels you are calling functions or interfaces which are abstracted from the ‘core’ functionality of the operating system, for example in a Win32 application calling LocalAlloc will allocate some memory for the application, this in turn calls down into the o/s which at some level will allocate some memory, what is the actual mechanism the o/s uses ? – do you care ? – in managed applications you ‘new up’ a new object, do you really need to know the mechanism used by the .NET runtime to make this happen ? – let’s go one step deeper, in a Win32 application calling CreateFile( ); on “COM1:“ returns a file handle to the hardware serial port “COM1”, do you need to know how this really happens ?
At some level we, as developers rely on abstraction to the underlying hardware or to object creation – where do you draw the line on your level of dependency on the operating system or programming framework ?