adapter pattern barriers to entry brad cox c preprocessor c standard library c string c syntax c variable types and declarations comparison of pascal and c comparison of programming languages debugging dietlibc duck typing enterprise objects framework first-class object fragile base class free and open source software gnu c library gnu compiler collection gnustep generic programming itt corporation integer interface builder linux distribution list of c functions mac os x message passing metaprogramming method signature multiple inheritance named parameter next newlib object-oriented programming observer pattern openstep operator overloading pointer swizzling pragma once programming language programming language implementation programming paradigm prototype-based programming proxy pattern reference counting remote procedure call runtime serialization simula smalltalk software developer software distribution software engineering spell checker stepstone steve jobs structured programming type conversion type introspection type system uclibc virtual machine weak typing wikibooks xcode