44 AnswersNew Answer
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/
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/
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. 😉
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
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
Alpha5and5 Fortran was pretty good compared to what was available at the time.
https://www.quora.com/Is-C-dying-2 It's interesting how some languages are called "undead" languages in this article.
Sonic but not now. C++ will be used always. Assembly will be used always.
to pass in their semester exams
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
You can program at a high or low level with it.
wave rider you can write web apps using modern c++ https://medium.com/@allistersanchez/web-app-development-with-modern-c-part-1-1874158ec449
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.
Because it is the main language if you know c++ you can understand ather language
For me I enjoy using C++ better for designing desktop application
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
Piyush Yadav this is a great news !
This is oldschoolers or students learning C++
It's very easy language as compare to other programming languages. Beginners should start with C++