I asked this question: https://softwareengineering.stackexchange.com/questions/111530/is-c-harder-to-learn-use-than-other-languages and it was promptly closed as "not constructive".

Ok, that's fine. But judging from the comments, it was seen as being anti-C++, and basically a rant. That really wasn't what i was aiming for.

What I want to know is if C++ programmers find C++ harder to program in than, for example, Java. (If so, I can presume that there are benefits that make it worth the difficulty.) Alternatively, do the C++ idioms make C++ just as easy to program in as Java, once you get to know them.

Basically: Harder, or just Different?

How can I ask this in a way that makes it a useful question?


2 Answers 2


I'd suggest reading Gorilla vs. Shark, which goes into the problems of trying to compare two like things without any context or demonstrable problem:

The asker must contribute a bit more work beyond the title, too. We expect questions to do some basic research before even asking. Did you spend time with both features on both sites? Did you compare and contrast them yourself? What are others saying? Share your research! And most critically, give us context. Explain why you’re looking at this, and what you mean by “better” — clicks to share, discoverability, design, and so forth. Put yourself in the shoes of the people you hope will answer. Have you given them enough guidance and specifics so they know how to reasonably answer your question in, say, 15 minutes?

"Is C++ harder than Java?" is an incredibly broad and loaded topic: every answerer is going to interpret that differently unless you make sure you specify how, exactly, you want it answered and what problem is solved by answering it.

Basically, make the question less about the answerers' opinions and more about getting an answer to the underlying problem that has you comparing C++ to other languages. Why does knowing whether it's harder to learn matter for you? Ask about that.

  • Hmm... I don't want to compare C++ to Java, but in the original question, I tried saying "Here are some unique things about C++, do they make it harder to use than other languages", and got told that it was clear that I disliked C++. Very frustrating. Sep 30, 2011 at 20:08
  • 3
    @SeanMcMillan I can see why someone would say that: listing idiomatic C++ features and saying "Do these make C++ harder?" reads like you're trying to be rhetorical: something like, "This is why C++ sucks, right?" You need to provide context and guidance. What is your definition of "harder"? Why are you focusing on those features? What's your actual problem that's prompted you to ask the question about whether those features make C++ harder?
    – user8
    Sep 30, 2011 at 20:12

I think first and foremost, you need to supply enough context for it to be a question. As-is, it's an open-ended family of questions. Basically, you could think of every language to which you might compare C++ as a plane. That plane has tasks defining one dimension, and programmers with differing backgrounds (and, to some extent, comfort with various abstractions and such) in the other dimension.

As I mentioned in my comment, it also depends a great deal upon what you mean by "learn" (for one example) -- whether you mean learning enough to use the language reasonably productively, or language lawyer-level expertise (and believe me, in the case of C++ those aren't even remotely similar.

That leaves us with an essentially infinite volume, with each point in the volume defining a single question to which there's a reasonable-sized set of answers that stand a chance of being meaningful (even if they are, to a least some extent, still subjective).

I suspect, however, that you'll run into a bit of a problem: once you've really defined the parameters of the question, you'll run into one of two things: either you've defined a comparison that really does fit the Gorilla vs. Shark description @Mark Trapp gave, or else you'll have defined a comparison for which the answer is almost blindingly obvious. There may be a few for which a meaningful, thoughtful comparison is possible, but my initial guess is that they will be few and far between.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .