What about changing the optimisation of the compiler?
1. Project > Edit Project Settings (or just double click on the project name)
2. Click on "Build Tab"
3. Change the "Optimization Level" drop down to one of the 4 available gcc -O levels.
If you want detail level control (for example if you just want loops unrolled) most options are also right there on the build tab in a nice searchable list. If you need more control, just add your arguments as a user-defined setting.
Changing the path of a library that your program links too?
Project > "Add to Project"
And many other things that are 100x harder to do in Xcode than on the command line for a beginner.
You seem to be asserting that
for a beginner the following things are all 100x easier:
1. Learning vim is easier than a gui code editor with both native and readline key bindings, code sense, live indexing, jump-to function drop-downs, header/source toggle buttons, split panes, etc.
2. Using GDB's terminal interface is easier than using Xcode's GDB interface and typing out things like "info func main", "info locals", "bt", "info frame", "info threads", "break main", and "disass" is easier than having it done automatically or via point-and-click.
3. Hunting through various poorly indexed man pages with a pager and whatis is easier than apple's ever improving "Help" > "Documentation" tool.
4. Editing make files every time you add or rename something is better and easier than letting it get done on it's own or via point-and-click. (Remember that everything you do in a make file can be done in XCode too.)
If any of these things are true, then apple has failed the developer community.
Plus it is bad form to rely on an IDE. Best to learn how to code with a text editor and the command line because if you ever get a job that does not have or use an IDE you will be up the proverbial creek.
You are no longer talking about what's easiest for a beginner.
Although I personally first learned coding via command line and terminal tools, I think your blanket dismissal of IDEs is wrong. Add together just the users of XCode, eclipse, java studio, and visual studio then divide that sum but the number of active developers in the world. You clearly get a very large percentage.
An IDE just brings all the tools to the table right up front so you can focus more on the project and less on the process. How often do you really get a job that can't be imported/exported through an IDE? How often do you get a job that MUST be developed remotely? How many of those jobs CANNOT be done via something like sshfs or nfs?
I'm not saying that an IDE is right is all circumstances (for example I prefer Smultron to IDLE when I'm writing python) but I am arguing that nothing about the IDE concept is "bad form."