next up previous contents
Next: Memory Management Up: General, conceptual, differences Previous: Safty   Contents

Level of abstraction

Gont is much higher level. It generally operates at much higher level of abstraction.

<evangelisation> C is, in principle, assembly language, therefore it is almost as fast as real assembly, but is still easy to write and quite portable. It is great for programming things like kernels, libraries that need high speed operation (like MPEG decoding/encoding), generally most of things that need to be real time. However it is very easy to cut your finger with such a sharp knife. Typesystem provided by C isn't very powerful, most of people familiar with functional programming, would say that typesystem of C is no more then a toy. Similarly C doesn't provide much support for memory management, exceptions, functional and objective programming. Of course, lack of restriction from language about how you organize your memory management, objects, and error recovery, can be advantage, especially with respect to operating system programming and so on. However in most cases, writing xmalloc() 100th time, is annoying. I think that's the main reason why Java is so popular - it takes burden of thinking at the very low level away from the programmer, and also it is much harder to make a mistake (at the cost of more typing, and performance regression). </evangelisation>.


next up previous contents
Next: Memory Management Up: General, conceptual, differences Previous: Safty   Contents
Micha³ Moskal 2001-12-03