loading...

re: Is C still a high level language? VIEW POST

FULL DISCUSSION
 

It's high level at least from compiler point of view. It's just not a garbage (collected) like most languages that could be described as frameworks.

 

Well the distinction is actually more than garbage collection as that only implies manual control of underlying RAM. With C you can also manipulate CPU registers, access CPU interrupts, call OS kernel functions to name a few. Because of this, you have access to all other underlying hardware (because they are all are connected to the same CPU) as much as the OS permits.

I always see it as a low level language in terms of how low it can access the underlying hardware.

My professor at my Uni would beg to differ though.

 

C has no concept of CPU registers, CPU interrupts, or OS kernel functions.
C has no access to the underlying hardware.

However, some C implementations provide extensions which do access these.

This is often in the form of inline assembly, and extensions to allow pointers to remain well defined when pointing outside of memory allocated within C.

Let us not confuse C with our preferred implementations of C.

code of conduct - report abuse