I was the last class in my CS/CompEng college to go through the program learning C as a core language for teaching. I had to tutor operating systems to classes a year after me that had learn mostly java. There was a definite loss of understanding of what was going on under the hood. Blank stares on questions on calling conventions and where variables are stored, let alone virtual memory.
I still wonder how those students can write efficient higher level code if they don't at least have a general understand what happens in lower levels.
A good example of this is choosing a web framework in python. In a previous job I had co-workers that wanted to combine an async framework with a synchronous DB API, in a single thread, and expected high performance.
Comments
I was the last class in my CS/CompEng college to go through the program learning C as a core language for teaching. I had to tutor operating systems to classes a year after me that had learn mostly java. There was a definite loss of understanding of what was going on under the hood. Blank stares on questions on calling conventions and where variables are stored, let alone virtual memory. I still wonder how those students can write efficient higher level code if they don't at least have a general understand what happens in lower levels. A good example of this is choosing a web framework in python. In a previous job I had co-workers that wanted to combine an async framework with a synchronous DB API, in a single thread, and expected high performance.