While creating a command line tool (Mac OS X) project in XCode, one has to select "type" of project out of these options :-
1.Foundation 2.Core Services 3.Core Foundation 4.C 5.C++
Question is : WHY such selection and how it influences? Can't I create a normal objective C program just like we create a cpp or c file.
The answer is that you can create an Objective-C program like a normal C or C++ program, it's just that, with Objective-C there are extra libraries you might want to link with and extra header files.
Each of those options uses a different project template with different compiler settings, different linked frameworks and libraries and different header files. If you want to build a straight no frills Objective-C program but that still uses things like NSObject, use "Foundation" and you will automatically get a main.m file and compiler and linker settings for the Foundation framework.