+ 15
Why do people use C++?
Quite often I hear a negative opinions about C++ from different people. Why is that? Please share your thoughts. What do you like or hate in c++?
38 Answers
+ 19
Ace The challenge with C++ is with all its great power and capabilities, it's a tough language to master for both novice and experienced developers. While the benefits for mastering C/C++ are high, it's a much steeper learning curve for avoiding major issues that simply don't exist in other languages.
With easier alternatives available, the masses are gravitating to simpler languages.
Sadly, in our industry, where the majority of professional developers are mediocre at best, it's harder to find strong, experienced C++ devs who can keep up with the productivity of these higher level languages.
As demand goes up for tech solutions with limited supply of C++ developers, companies will continue making hard decisions like DropBox did in abandoning C++ on some projects. While this was for an ambitious goal of a common native codebase for their mobile app, it's not an uncommon decision in general.
https://www.theregister.co.uk/2019/08/16/dropbox_gives_up_on_sharing_c_code_between_ios_and_android/
+ 7
David Carroll Thank you for the info about Dropbox.
I disagree that C++ is harder to master, the thing that scares people is pointers and memory management. But why do you need to use them if there are smart pointers and references that will do heavy lifting for you? I am learning modern C++ and it is not C++ that I used to know 10 years ago.
The old C++ features are still there and we can use them, However, modern C++ 11 and higher is much simpler and more intuitive to use. It might be not a language to write web apps, but it shouldn't stop people from learning it.
I think there is no way to do a systems programming and not to touch c++ at some point.
Smart pointers
"In modern C++ programming, the Standard Library includes smart pointers, which are used to help ensure that programs are free of memory and resource leaks and are exception-safe."
https://www.reddit.com/r/cpp_questions/comments/8d5ory/when_to_use_a_smart_pointer_a_raw_pointer_or_a/
+ 6
wave rider I suppose the relative difficulty of mastering one language over another is going to be different from person to person. 😉
For clarification, C++ can be mastered like any other language. However, even beyond pointers, there are many more nuances with C++ that simply don't exist in other languages. This is what makes C++ __relatively__ more difficult to master than similar alternatives.
Rather than blow this thread up with a breakdown of these nuances, I'll provide some handpicked links that make this point clearer:
https://softwareengineering.stackexchange.com/a/44975
https://adamtcroft.com/why-c-is-so-hard-to-learn/
https://www.quora.com/What-makes-C++-really-difficult-to-learn
https://www.perforce.com/blog/qac/7-common-errors-c-cpp-programming
https://www.toptal.com/c-plus-plus/top-10-common-c-plus-plus-developer-mistakes
http://www.cplusplus.com/forum/general/43614/
Again, many will disagree. But the arguments presented otherwise are still very real to many, many people. 😉
+ 5
wave rider In simple word
C++ is very fast programing language
That's why it is used to make operating system games and embaded system and other fast software
+ 4
I use it C++ because, I can do what I need to do with it.
Aymane Boukrouh
You know Bjarne Stroustrup is known as the founder of C++, right?
https://en.m.wikipedia.org/wiki/Bjarne_Stroustrup
+ 4
Alpha5and5 Fortran was pretty good compared to what was available at the time.
+ 4
https://www.quora.com/Is-C-dying-2
It's interesting how some languages are called "undead" languages in this article.
+ 4
Sonic but not now. C++ will be used always. Assembly will be used always.
+ 4
to pass in their semester exams
+ 3
Very powerful, very fast. Mostly used for desktop applications or games because of it's speed. Some people might not like it because it's harder than some other languages
+ 3
You can program at a high or low level with it.
+ 3
wave rider you can write web apps using modern c++
https://medium.com/@allistersanchez/web-app-development-with-modern-c-part-1-1874158ec449
+ 3
It's a very open question. But important
As a programmer you should be a pro at a certain programming language. To be so you have to choose a proper language.
There should be these reasons why C++ is important apart from other languages.
1. It is a Object Oriented Programming Language
2. It is a easy to learn and easy to code(it's my point of view)
3. It has a good OS support
4. Easy syntax
These are the main reasons.
+ 3
Because it is the main language if you know c++ you can understand ather language
+ 3
For me I enjoy using C++ better for designing desktop application
+ 2
This is the opinion of a manager that B. Stroustrup mentioned in his talk
"We don't really like C++,
we only use it because it only thing that works"
(from CppCon 2019: Bjarne Stroustrup “C++20: C++ at 40”)
https://www.youtube.com/watch?v=u_ij0YNkFUs&feature=youtu.be&t=668
+ 2
Piyush Yadav this is a great news !
+ 2
This is oldschoolers or students learning C++
+ 2
It's very easy language as compare to other programming languages. Beginners should start with C++
+ 2
farah faissal hassan thank you for sharing. The link is very good. I think you can reproduce a part of the article in your post to make it easier to read here. Cheers.