The final ISO ballot on C++0x closed on Wednesday, and we just received the results: Unanimous approval. The next revision of C++ that we've been calling "C++0x" is now an International Standard! Geneva will take several months to publish it, but we hope it will be published well within the year, and then we'll be able to call it "C++11."

Because C++ is far more powerful than C or Objective-C and people who program for a living don't find C++ too complicated.

No. C++ has many more _features_. You can, and I have, implemented a complete OO system using raw C. C++ does that for you. C++ including STL and even Boost has a very large number of CompSci features.

C is completely inappropriate for large projects. And for small ones, C++ can do anything that C can do, and better.

Nonsense. To this day C still implements most OS kernels and large amounts of other code such as audio processing, jpeg, mpeg etc. C++ can do a lot and is a superset of C (mostly - there are a very small number of exceptions to this rule).

It is true that some programming languages suit certain problem areas better than others it is not accurate to say that "C is inappropriate for big projects".

What's required for a big project, more than anything else, are clear goals, good communications and good project leads and an easily accessible project structure.

Also - good code is good code whether LISP, C or Prolog... ok, maybe not Prolog!

Objective-C (and Objective-C++) are really just layers on top of C (and C++). Objective-C is cool, but it is not a low-level language like C++.

I'll half agree with you if you can explain why Objective-C isn't "low-level" (hint - dynamic binding and method invocation). It is difficult to make "rommable" code with Objective-C (it is quite hard to C++ - you may need RAM for virtual function tables)

Objective-C is ALSO a superset of C and therefore contains all the "low-levelness" that C offers.

C++ is a lower-level language than C and Object-C, but it has all of the high-level tools for building any sort of project. It is a truly general-purpose lange, where the other two are not.

C++ as a superset of C is NOT "lower level". You see at this point I realised you are just talking balderdash. If you are a CompSci student I hope I do not put you off but you clearly have some learning to do.

C is about as low-level as you'd ever want to get (there's asm but it is naturally unportable - even that's only 1/2 true as I wrote a Z80 assembler for a 68000 machine that assembled Z80 code into 68000 ops)

C++ is a strict superset of C. Everything that is in C is in C++ (except for a handful of idiomatic, slightly esoteric, syntax).

All are "general purpose programming languages" and technically only differ by syntax, although extrapolating that argument to it's illogical extreme would have us all attempting to code everything using SKI notation.

Objective-C is _NOT_ proprietary. You are _not_ restricted in your use of it in ANY way whatsoever. It also pre-dates Apple going back the NeXT days (but of course Apple bought that lock, stock and barrel).

Proprietary would mean that the owners restricted, via license, your use of Objective-C is some way. This is not the case - you can implement your own compiler if you so choose to and even extend the language.

And Objective-C is an Apple proprietary language that is only used to write MacOS X and iOS applications.

In addition to being inflammatory, this is misleading.

Objective-C is an adaptation of Smalltalk for people that like the Algol language family syntax (C like syntax).

Objective-C was not invented by Apple (and is not proprietary to them). It has been around longer than the Macintosh (the early 80's). Their has been a GNU version of Objective-C since 1993.

Objective-C can be compiled with GCC either Clang (the LLVM C/C++/Objective-C compiler). This means that you can code in Objective-C on Mac, Windows, or Linux. No proprietary tools are required (all Open Source).

Clang is about to become the primary compiler used by FreeBSD and other BSD flavours as well.

All that said, I agree that Objective-C is only really popular on Apple platforms (OS X and iOS). Objective-C was the language choice on NeXT machines. It became the main language on Mac when Apple bought NeXT in 1996.

I am not exactly a hard core programmer. But just looking through the changes C++ has gotten a lot more complex then.

I wonder why people haven't looked more into C and Objective C.

No one truly masters C++. But each one likes his own subset of it

There are still lots of people using C, huge projects even. Things like GLib, embedded software (the faction that have stopped using Asm directly, I mean) or the kernel of most Unices come to mind.

As for Objective C, well... Once again, Apple have been too much of control freaks and have pissed of the geek audience because of that, the problem being that in that case, it was their target audience. Besides, there's not much of a benefit in using Objective C over C++, and you lose a lot of language flexibility by doing so (C++ can be used at a lower level, be lighter on resource, it offers metaprogramming and operator overloading...).

To sum it up, the reason why Objective C has never taken off outside of the Apple world is that C++ is what its users want it to be, whereas Objective C is what Apple want it to be.

C provides relatively little opportunity for abstraction, and less safety. To give one example: the only manner to make a generic algorithm is by using macros (bad) or void pointers. In C++ you can just write a templated definition, which provides genericity and type safety.

and Objective C.

People use C++ because they want a fast low-level object-oriented language. Objective-C is the opposite, since it uses late binding and heterogeneous containers, it is far too slow for things that people typically use C++ for.

If you are proposing alternatives, D is probably the thing that comes closest. However, that language is plagues by having two widely used standard libraries, and having only a mature compiler for D2 that uses a non-FLOSS backend (dmd2).

However, if you want to compile to machine code, Haskell and OCaml may also be possibility. If used wisely, you can write fast programs in both languages.