(05-05-2013, 11:37 AM)noize Wrote: Well, you're talking about C, C++ as low-level languages, I see.
As far as I can see I only stated that C was a low-level language. So I am not sure why the discussion arises.
Despite that low- and high-levelness is nothing that has a fixed or strict definition (you see the use of soft terms like "more suitable", "generally", "almost always", "focuses more"). What people see as low- or high-level changed over time when new languages occured that provided even a higher abstraction level than before.
When C came out first, no one would have called it low-level. Now most people do, because from their standpoint it has a lower abstraction than they see as normal. But for an assembly programmer or even someone who designs circuits, C is high-level up to now.
Quote:It is infact not restricted by the machine components, it is portable
I disagree with the portable part. It is a cross-platform language, but not a portable one. You have to compile the code for every platform separately.
For the FAQ I am only interested in the capabilities for hardware access and that's where C and C++ are equally good at. Once you write anything that needs that hardware access (drivers, or something GPU specific with CUDA) you are bound to the platform you wrote it for--no matter how widespread the compiler is.
To sum it up: The low- or high-levelness depends on your personal middle-level. That can be different for everyone.