Only I think that C++ popularity.. Has gone down?

Pages: 123
closed account (1vD3vCM9)
At the last month, I searched for resources for programming C++, but when I search it, I find old stuff.
And why C# is more pupolar than C++? Looks like people learn it more then C++.
People say C# is easier than C++, I think that is incorrect (at least for me).
People apparently don't see C++'s power.
Than again, only I think such thing?
I think C# is easier than C++: you don't have to think about performance issues, pointers or whatever, most of things are already done for you. Therefore its often faster and easier to work with.
Last edited on
oren drobitsky wrote:
At the last month, I searched for resources for programming C++, but when I search it, I find old stuff.

You might want to update your searching methods. What exactly were you searching for so someone can link to an updated, modern resource

And why C# is more pupolar than C++? Looks like people learn it more then C++.

I wouldn't say that. Sure, you can go to a site that may say that, but I've never generally put much faith into those.

People say C# is easier than C++, I think that is incorrect (at least for me).

it is a matter of preference. It might be easier for you to learn c++ and for someone else to learn c#. it is just an opinion, not able to be proven.

People apparently don't see C++'s power.

they both have plenty of power. true c++ *can* be used in lower level programs like kernels and bootloaders, since implementations typically compile it, but so can c#. I wouldn't say one is more powerful than the other.

sleicreider wrote:
C# is easier than C++:
see above
you don't have to think about performance issues
I'm not sure who told you that. performance issues don't go away with c#.

pointers or whatever
there aren't many cases where you can't use a smart pointer in c++ which takes away the pain of pointers.

most of things are already done for you.
thats not neccesarily a good thing

Therefore its often faster and easier to work with.
easier to work with is an opinion, as stated above. faster in what sense? in terms of speed? well considering they are languages and not implementations, its hard^Wimpossible to determine speed in that sense. in terms of finishing a project? thats not neccesarily a good thing.
Well a lot of applications don't need the performance gain you get from C++, ofc C++ provide better performance. C# does a lot for you and still does a good job with performance.
C# might be also more popular, because a lot of people use it for web development ASP.NET etc. and this is a big sector.

Even with performance ciritcal applications e.g Games, people tend more to use easier languages like C# or scripts (Unity Engine which uses c++ in the background).
Well a lot of applications don't need the performance gain you get from C++, ofc C++ provide better performance. C# does a lot for you and still does a good job with performance.
that statement is completely wrong. using c++ does not give you a performance gain. using c++ under certain conditions correctly gives you a performance gain. same with c#. I cannot stress this enough. They are languages. Learn the difference between a language (standard) and an implementation of the language.

C# might be also more popular, because a lot of people use it for web development ASP.NET etc. and this is a big sector.

wat? a lot of people use python and php too. what is your point? and things like game design and compiler writing are big sectors too, so I don't see the point of that.

Even with performance ciritcal applications e.g Games, people tend more to use easier languages like C# or scripts (Unity Engine which uses c++ in the background).

once again, wat? as I said before, easier is an opinion. a matter of preference. and scripts is far to generic a term to use there. and what does that last sentence with the parens even have to do with anything? you just kind of threw something irrelevant in there.
Last edited on
I think C++ gets a bad reputation, mostly because so many people don't know how to use it properly.

Also, many people get carried away with advanced techniques like template meta programming, and the result is that very few people can make sense of the code. I'm not saying that template meta-programming doesn't have it's place it can actually result in some very efficient and general code, but unless it's well documented, good luck trying to figure out how it works, and debugging it.

Last, people's style of programming in c++ is highly varied. One persons C++ may be better than another, and it's a reflection of the programmers skill and wisdom, rather than just the language. The language is made to look bad by the large number of people who use it poorly. Most of the criticism I hear about it refers to things good C++ programmers generally don't do.

While other languages like Java and C# seam more popular in general now days, I don't see many people using these languages for things like high performance computing or computer graphics, and audio processing.

Tons of excellent libraries are based on C or C++ as well.

I think one of the issues is that so many colleges are prescribing to the idea that they want to teach programming concepts and not the language, so they think it's better to teach their students only what they consider the "easier" languages. Doesn't matter, in the end, most of them are still beginners in programming all together, and some companies who hire them can't afford to risk having a C++ code base that can be easily messed up by people who don't know any better.

The good thing, if you get hired for C++ development, chances are it's a good job.
Last edited on
using c++ under certain conditions correctly gives you a performance gain

and still is a performance gain

wat? a lot of people use python and php too. what is your point? and things like game design and compiler writing are big sectors too, so I don't see the point of that.

its a additional popular(big) sector, which increases the popularity of C# compared to C++.

once again, wat? as I said before, easier is an opinion. a matter of preference. and scripts is far to generic a term to use there. and what does that last sentence with the parens even have to do with anything? you just kind of threw something irrelevant in there.

As the titles says "Only I think that C++ popularity.. Has gone down?" my sentence is just a example, even for performance critical apps like games, where C++ is "the main language", programmers nowadays using easier languages and combine it with C++ instead of write everything in C++.
and still is a performance gain
yes but that doesn't mean using c++ gives you a performance gain, as you previously stated. using any language under certain conditions correctly gives you a performance gain.

its a additional popular(big) sector, which increases the popularity of C# compared to C++.[/quote As the titles says "Only I think that C++ popularity.. Has gone down?" my sentence is just a example, even for performance critical apps like games, where C++ is "the main language", programmers nowadays using easier languages and combine it with C++ instead of write everything in C++. ]
not really...

[quote] As the titles says "Only I think that C++ popularity.. Has gone down?" my sentence is just a example, even for performance critical apps like games, where C++ is "the main language", programmers nowadays using easier languages and combine it with C++ instead of write everything in C++.

I'm not even going to respond to this. it makes no sense
I'm not even going to respond to this. it makes no sense

if you are not happy with my initial answer you shouldn't respond at all.
I'm just trying to help the guy who made this post
Last edited on
if you are not happy with my initial answer you shouldn't respond at all.

why would it bring me joy or not? its an incorrect statement.
this discussion won't help @oren drobitsky at all
please use private messages for such comments
closed account (1vD3vCM9)
Yeah guys wtf xD
I don't have problems with people posting all those other messages, this conversation has gone interesting fast.
But the first couple answered helped me.
closed account (1vD3vCM9)
But, From MY opinion, C++ is easier then C# in some things.
For an example:
To request input from user in C++, you do:
cin >> name;
At C#:
string = Console.Readline(name);
(If I'm not mistaking)



To print something on screen, in C++
cout << "string";
or string say = " string";
cout << say << endl;


In C#, its
Console.Write("string");
Or string say = "string";
Console.Write(say);

For me, C++ is easier to understand
this discussion won't help @oren drobitsky at all
please use private messages for such comments

actually yes it will. its comments you've made like "c# is easier because it doesn't have to deal with performance gains", which are incorrect, won't help the conversation.

For me, C++ is easier to understand

thank you. exactly!
But, From MY opinion, C++ is easier then C# in some things.
For an example:
To request input from user in C++, you do:
This is mostly irrelevant. In real world applications, user interaction through the console represents a teeny tiny fraction of the codebase, even in console-based programs.

I would argue that the C# code is clearer. s = Console.ReadLine() Reads a Line from the Console into s, and Console.WriteLine(s) Writes s to the Console as a Line. That's pretty explicit to me. std::cout << "hello" << std::endl? Shift std::cout by "hello" bits and then by std::endl bits? What's that supposed to mean?
The operator<<() overloads in iostream are a bit of a linguistic hack, meant to overcome the problem of variadic functions (how do know how many parameters were passed? And the types?). C# sidesteps that problem because everything is an object, and so everything has a ToString() method. C#'s solution is actually more elegant, but C++'s fits better philosophically in a static language, because it doesn't necessarily involve dynamic types; everything is resolved at compile time.
Last edited on
At the last month, I searched for resources for programming C++, but when I search it, I find old stuff.

In the past 30 days, there were 832 updates made to http://cppreference.com. Just because a website is old, doesn't mean its content is.
closed account (1vD3vCM9)
Mate I don't search resources only in cpprefrence.com*
Last edited on
But, From MY opinion, C++ is easier then C# in some things.
For an example:
To request input from user in C++, you do:
cin >> name;
At C#:
string = Console.Readline(name);
(If I'm not mistaking)


Edit ninjaed by Helios on this point.
I think this is a bad example. In this case, the C# code is objectively much easier to understand.

First, from a high level perspective, the C++ code is not self documenting. The C# code can be understood by someone with no prior knowledge of the language just by reading it, because it says what it does. This cannot be said of the C++ code in this example.

Second, the C# code uses a simple unambiguous function call, while the C++ code uses the ">>" operator, which brings in a whole lot of issues related to understanding it. For example it brings in the issue of streams which are complicated. It also is an operator used in different contexts, which could cause some confusion. In addition, it can be overloaded so that it doesn't do at all what you would suspect. In some legacy code, I had to work with, I found an instance where the << operator was overloaded for a struct, to do nothing but modify the state of the struct in some strange way, it's use was for pure side effect.

It might be easier for you to learn c++ and for someone else to learn c#. it is just an opinion, not able to be proven.


Sure, a robust logical proof that C++ is more difficult to learn may not be possible, but the same could be said about a whole lot of things. It certainly might be possible to objectively compare their difficulties in some ways, or to do some study about how easy they are to learn in general. Sure it may depend on the person, but that is just a speculation.


I'm not even going to respond to this. it makes no sense

I think that what Sleicreider said in that paragraph did make sense.
Last edited on
actually yes it will. its comments you've made like "c# is easier because it doesn't have to deal with performance gains", which are incorrect, won't help the conversation.


its not incorrect at all, if you would write code in C++ like you would in any other language(lets take java,c# since they are "similar") and don't care about pointers, references, inlines (which are handled in java and c# in the background) , your code probably will be "slow", of course compiler will optimize a lot, 80% of the code will run with good performance most of the time, and as c++ programming its the task to find the 20% to make things faster.
if you would write code in C++ like you would in any other language(lets take java,c# since they are "similar") and don't care about pointers, references
If you write code assuming the wrong parameter-passing mode you not only will write badly-performing code, but also probably incorrect code. If the code is incorrect then it doesn't make sense to talk about its performance.

inlines (which are handled in java and c# in the background)
"inline" instructs the compiler on how to produce symbols for the linker. It has nothing to do with function inlining.
C++ compilers are probably the most aggressive when it comes to function inlining, and they're most certainly more aggressive than JITs, which have soft real-time deadlines to meet.
Last edited on
Pages: 123