Live data from Hacker News

Surviving C++

c0de517e.blogspot.com

21–25 of 25 posts

Re: Surviving C++

#21
post #7

"...Otherwise, the class has to have some data associated with it. Are we sure we want to link Foo both to the interface of Bar and to its in memory layout? No, you are not. Don't do it, use composition instead. [More Effective C++, 33 Make non-leaf classes abstract]" Sigh. Dude either didn't read the book, or didn't think about what it's saying; he's just quoting the chapter headings and drawing a silly conclusion.…

This is the issue with C++. This level of knowledge of any other language you'd be fine to let the guy do some code. You have to have considerably better developers.

With C++ you have this huge dearth of people who know enough about the language to convince someone else of it, then you get them on your project and they blow stuff up by doing it subtly wrong.

C++ has uses, but it's the sulfuric acid of programming languages: you have to have good personnel control and fire those who screw around outside the boundaries of the right style. A programming group with one guy programming like C with classes and another guy programming like it's Ocaml without garbage collection, and you're in for a mighty piece of hell.

Re: Surviving C++

#22
post #21
post #7

"...Otherwise, the class has to have some data associated with it. Are we sure we want to link Foo both to the interface of Bar and to its in memory layout? No, you are not. Don't do it, use composition instead. [More Effective C++, 33 Make non-leaf classes abstract]" Sigh. Dude either didn't read the book, or didn't think about what it's saying; he's just quoting the chapter headings and drawing a silly conclusion.…

This is the issue with C++. This level of knowledge of any other language you'd be fine to let the guy do some code. You have to have considerably better developers. With C++ you have this huge dearth of people who know enough about the language to convince someone else of it, then you get them on your project and they blow stuff up by doing it subtly wrong. C++ has uses, but it's the sulfuric acid of programming lan…

"This level of knowledge of any other language you'd be fine to let the guy do some code. You have to have considerably better developers."

Don't tell that to every Ruby and Python startup that's hiring "rock star" developers. You might hurt their feelings.

At the end of the day, you want the best programmers you can afford on any project, so I don't think it's a particularly compelling argument to say that Blub is a better language because it lets less-qualified people get work done faster.

That said, this guy gives the impression of being competent at C++, but most of his advice is really quite bad. It's fairly easy to write and informed-sounding rant about Python or Ruby, too. The difference is that more people in this forum know those languages, so they're more willing to call bullshit on the poseurs. The level of C++ (and C) competency in the web world is, frankly, disturbingly low.

Re: Surviving C++

#23

Should we consider using PIMPL No. Just don't. I'll say this about C++: the worst thing about it is that each new job requires you to learn what is 'good' and what is 'taboo' at the new company. One man's natural and elegant is another man's obtuse and illegible.

Your thoughts are exactly what I have encountered in the last 10 years.

The author of the article really gives me the impression that he should just really stick to ruby and have his lolz.

C++ is a language, it has slowly evolved over 15+ years, it isn't the prettiest thing. Different people use different parts. Deal with it. If you don't want to work with c++ find a job doing something else.

Re: Surviving C++

#24
post #22
post #21

Earlier quoted context omitted.

This is the issue with C++. This level of knowledge of any other language you'd be fine to let the guy do some code. You have to have considerably better developers. With C++ you have this huge dearth of people who know enough about the language to convince someone else of it, then you get them on your project and they blow stuff up by doing it subtly wrong. C++ has uses, but it's the sulfuric acid of programming lan…

"This level of knowledge of any other language you'd be fine to let the guy do some code. You have to have considerably better developers." Don't tell that to every Ruby and Python startup that's hiring "rock star" developers. You might hurt their feelings. At the end of the day, you want the best programmers you can afford on any project, so I don't think it's a particularly compelling argument to say that Blub is a…

>At the end of the day, you want the best programmers you can afford on any project, so I don't think it's a particularly compelling argument to say that Blub is a better language because it lets less-qualified people get work done faster.

That's complete pap. Of COURSE you want less capable people to get things done. That's the entire point of junior and midlevel developers. Less expensive is sometimes (not always) more useful than being super great. You act like only very good dev's with 8-13 year of industry experience are any use at all with that attitude. Some things really shouldn't require geniuses to do.

Re: Surviving C++

#25
post #24
post #22

Earlier quoted context omitted.

"This level of knowledge of any other language you'd be fine to let the guy do some code. You have to have considerably better developers." Don't tell that to every Ruby and Python startup that's hiring "rock star" developers. You might hurt their feelings. At the end of the day, you want the best programmers you can afford on any project, so I don't think it's a particularly compelling argument to say that Blub is a…

>At the end of the day, you want the best programmers you can afford on any project, so I don't think it's a particularly compelling argument to say that Blub is a better language because it lets less-qualified people get work done faster. That's complete pap. Of COURSE you want less capable people to get things done. That's the entire point of junior and midlevel developers. Less expensive is sometimes (not always)…

"You act like only very good dev's with 8-13 year of industry experience are any use at all with that attitude. Some things really shouldn't require geniuses to do."

You're overstating the claim. You don't need to be a "genius" to be productive in C++. Yes, there's a learning curve. It may even be a little steeper than in other languages, but it's entirely possible for a smart new grad to contribute meaningfully to a large C++ project. It happens at Microsoft and Google and thousands of other companies every single year.

This line of argument against C++ is entirely overblown.

Post reply on HN