What Programing language do you use for IB ? They say C++ has limited functionality over Java ... C# ... But from their guide it looks fine. Isn't it ?
C++ is "my" programming language of choice & preference, so I use the IB C++ API. But am not finished yet with the connection.
Like stevegee58 has mentioned, I think there is nothing missing in the IB C++ API compared to the IB Java and C# API, but I must admit I haven't studied the Java and C# APIs; they all look similar in functionality and capability.
C++ is IMO the most powerful language, and is also very fast.
If you intend to use it professionally or for high speed things then you can't do anything wrong by choosing C++.
But, be aware that you will need much time to be perfect, so you should make a good decision for many years to come.
Here's an overview of what makes up C++:
http://www.learncpp.com/
Regarding complexity: it is similar with Java, as well with C#. So, my advice go with the industry standard, which is C++.
Don't be fooled by graphical stuff for example MS propagates, ie. the "visual" stuff.
Professionals work at the commandline of their terminals, with such text editors like vi/vim, emacs, or joe etc...
Of course there are also comfortable frameworks like the said Visual Studio, Eclipse, CodeBlocks or something that, and some more...
I tried most of them and in the end decided that I don't need such gigantic dev environments.
A simple text editor, commandline, man pages, the web, makefile usage, version control system, and some other handy small tools are fully sufficient...
Everyone has his own style, methods, environment and tools, and such individuality and plurality is IMO good as not all people are equal in their tastes, efforts, skills, needs and requirements etc.
I like and prefer especially the GNU C++ compiler called g++, which is freely available under Linux.
As said I'm working under Linux, but if necessary I can also use the Microsoft C++ compiler (the latest I have is vs2008, yes it's very old ;-).
I'm also a so called "Microsoft Certified Solution Developer" (MCSD) with speciality in C++ and SQL DB programming.