I bought B+ just last week and I am planning to use it in a semi-professional indie game project. I see no reason why B+ wouldn't be perfectly suitable for professional 2D projects. In my opinion it is close to optimal, save the lack of real time rotation, hardware accelerated alpha blending and Mac support.
Professional 2D C++ projects tend to use simple libraries (SDL, Allegro etc) that are almost as easy as B+ in syntax and about as fast. Going for low level stuff is not a professional choise in itself, in my opinion, as you end up wasting a lot of time tweaking "secondary" stuff like opening files and making simple drawing routines work on most gfx drivers. Though with C++ you get access to numerous libraries and practically unlimited amounts of ready source code.
I would have gone for BlitzMax, but it seems to still be in beta phase. OpenGL is an issue as well, and going for BlitzMax would have required me to write a wrapper for SDL or similar library, which at this point (BlitzMax is so new) felt like a bit too risky route.
Professional 2D C++ projects tend to use simple libraries (SDL, Allegro etc) that are almost as easy as B+ in syntax and about as fast. Going for low level stuff is not a professional choise in itself, in my opinion, as you end up wasting a lot of time tweaking "secondary" stuff like opening files and making simple drawing routines work on most gfx drivers. Though with C++ you get access to numerous libraries and practically unlimited amounts of ready source code.
I would have gone for BlitzMax, but it seems to still be in beta phase. OpenGL is an issue as well, and going for BlitzMax would have required me to write a wrapper for SDL or similar library, which at this point (BlitzMax is so new) felt like a bit too risky route.