Page 1 of 1 [ 7 posts ] 

FearOfMusic
Veteran
Veteran

User avatar

Joined: 3 Jun 2011
Age: 37
Gender: Male
Posts: 638

21 Jul 2011, 11:15 am

At first I was very wary of it, I pretty much always liked C++ the way it has been. I am starting to warm up to it though and am thinking about adopting pieces of the standard into code I write now. I think somethings were kind of obvious to change, the right angle bracket template problem, the nullptr constant, changes to object construction (so you can call other constructors in the initialization list), variadic templates.

I am also starting to like the idea of lambda in C++, I've done quite a bit of Scheme and Javascript programming so I am familiar with lambdas and I guess I can see why they might be useful in C++. Also nullptr seems like it will be useful.

I am not a big fan of the range-based for loop though, honestly I just don't see the point, it doesn't add much to the language. It is just nice shorthand for a really simple concept. Initialization lists seem useful but they also appear to be tied to the standard library (which I don't really like using all that much), so I am not sure I will be using them even though it seems like a reasonable feature.

Any other thoughts?


_________________
((12+144+20+3*(4^(1/2)))/7)+5*11 = (9^2) + 0


MDM
Snowy Owl
Snowy Owl

User avatar

Joined: 30 May 2010
Age: 31
Gender: Male
Posts: 126
Location: Montana, USA

21 Jul 2011, 2:00 pm

I dislike C++ personally. I think its ugly, overcomplicated, mediocre designed, and a pain to use. In 0x, I don't like their lambda use, I think they should have gone with the clang lambda syntax instead of going for their own thing. For the range based loops, imo they should have used either in or foreach syntax. List initializers is a cool feature at least. Uniform initialization is good, but should have occurred earlier. Type inference is another one that I have a hard time being impressed with due to the lateness of its arrival, and I think it will make C++ even more ugly to read. Alternative function syntax is another one that I think will make C++ more ugly to read. Nullptr... its addressing a foundational flaw by making the language more complex. Enum class is another example of them just making the language more complex.

A number of the other changes are simply fixes to design flaws, which although progress, it is not revolutionary.

Overall, this standard just adds to the complexity of C++. The language was already overly complex and losing sight of its initial goals. This just furthers it.



mcg
Veteran
Veteran

User avatar

Joined: 26 Jan 2010
Age: 34
Gender: Male
Posts: 538
Location: Sacramento

21 Jul 2011, 2:47 pm

Well it's definitely an improvement over C++98. The only thing I use C++ for anymore is embedded stuff, and it looks like most embedded compiler's are still a long way from fully supporting C++0x, but rvalue references in particular could be extremely useful in embedded development where memory is a commodity.



Burzum
Veteran
Veteran

User avatar

Joined: 26 Apr 2011
Age: 33
Gender: Male
Posts: 1,205

22 Jul 2011, 5:35 am

I don't get the "overly complex" argument. If you want you can write pure C code and ignore everything else. You aren't forced to use template meta-programming, etc.



MDM
Snowy Owl
Snowy Owl

User avatar

Joined: 30 May 2010
Age: 31
Gender: Male
Posts: 126
Location: Montana, USA

22 Jul 2011, 5:52 am

If it is there it will undoubtedly be used. If it is used on a project I'm on then it effects me regardless if I use the features. I find little more tedious and painful than debugging a large C++ project (50-250k lines of code). Adding to the complexity of the language I fear will only make it worse.



mcg
Veteran
Veteran

User avatar

Joined: 26 Jan 2010
Age: 34
Gender: Male
Posts: 538
Location: Sacramento

22 Jul 2011, 12:18 pm

MDM wrote:
If it is there it will undoubtedly be used. If it is used on a project I'm on then it effects me regardless if I use the features. I find little more tedious and painful than debugging a large C++ project (50-250k lines of code). Adding to the complexity of the language I fear will only make it worse.
Sounds like the problem is with your project. With a properly encapsulated object model and test-driven development, your debugging should be minimal to non-existent.



MDM
Snowy Owl
Snowy Owl

User avatar

Joined: 30 May 2010
Age: 31
Gender: Male
Posts: 126
Location: Montana, USA

22 Jul 2011, 4:59 pm

Unfortunately, debugging gets harry when networking and heisenbugs start getting involved. In any case, just editing and reading through C++ is nearly as annoying as debugging it.