OneStopTesting.com - Testing EBooks, Tutorials, Articles, Jobs, Training Institutes etc.
OneStopGate.com - Gate EBooks, Tutorials, Articles, FAQs, Jobs, Training Institutes etc.
OneStopMBA.com - MBA EBooks, Tutorials, Articles, FAQs, Jobs, Training Institutes etc.
OneStopIAS.com - IAS EBooks, Tutorials, Articles, FAQs, Jobs, Training Institutes etc.
OneStopSAP.com - SAP EBooks, Tutorials, Articles, FAQs, Jobs, Training Institutes etc.
OneStopGRE.com - of GRE EBooks, Tutorials, Articles, FAQs, Jobs, Training Institutes etc.
Absent features of C | Articles | Recent Articles | News Article | Interesting Articles | Technology Articles | Articles On Education | Articles On Corporate | Company Articles | College Articles | Articles on Recession
Home » Articles » Absent features of C
Absent features of C
Article Posted On Date : Sunday, December 27, 2009
Absent features of C
Absent features of C The relatively low-level nature of the language affords the programmer close control over what the computer does, while allowing special tailoring and aggressive optimization for a particular platform. This allows the code to run efficiently on very limited hardware, such as embedded systems. C does not have some features that are available in some other programming languages: 1. No direct assignment of arrays or strings (copying can be done via standard functions; assignment of objects having struct or union type is supported) 2. No automatic garbage collection. 3. No requirement for bounds checking of arrays. 4. No operations on whole arrays. 5. No syntax for ranges, such as the A..B notation used in several languages. 6. Prior to C99, no separate Boolean type (zero/nonzero is used instead). 7. No formal closures or functions as parameters (only function and variable pointers). 8. No generators or coroutines; intra-thread control flow consists of nested function calls, except for the use of the longjmp or setcontext library functions. 9. No exception handling; standard library functions signify error conditions with the global errno variable and/or special return values. 10. Only rudimentary support for modular programming. 11. No compile-time polymorphism in the form of function or operator overloading. 12. Only rudimentary support for generic programming 13. Very limited support for object-oriented programming with regard to polymorphism and inheritance. 14. Limited support for encapsulation. 15. No native support for multithreading and networking. 16. No standard libraries for computer graphics and several other application programming needs. A number of these features are available as extensions in some compilers, or can be supplied by third-party libraries, or can be simulated by adopting certain coding disciplines.