14

I wanted to know the future of C++. Now a days more languages are coming like D Language. I am curious to know the future of C++. Whether it will play the same role as it has been since from its inception. Does it play big role in parallel programming.

Please share your thoughts. Would be much glad to know.

See also

What is the future of C++?

C, C++, Java, what is next and what will it look like?

Will .net take over c/c++ any time?

Lasting influence of C++

What do you think about c++ after c++ox standard?

21 accepted

C++ is still being actively updated. Check out the Wikipedia page for the next standard of C++.

Whether it will play the same role as it has been since from its inception. Does it play big role in parallel programming.

Well, it does play a great role in parallel programming. Often the reason to parallel program is to run code more quickly. Well, that's often why people use C++. So C++ fits in well here. IBM produces a library (which name I forgot right now) specifically to make this easy. Also, there is a highly regarded open source library called OpenMP that helps make parallel programming in C++ easier.

Will C++ play the same role it has since its inception? Not entirely. Many other languages have been developed that are better designed for certain situations. But C++ will still be a great multi-paradigm language -- greater in fact with the new additions. Some things will hopefully be even easier -- like using the keyword 'auto' to let the compiler figure out the data type of a variable.

I hope this helps a little bit.

16

No matter what the anti-C++ camp says, C++ is a language that is going to last at least as long as C. In fact, it might even outlast C, mostly due to the fact that C++ is still being actively updated and developed.

If you're one of the people who think new software is not being developed in C++, check out the KDE project, the Haiku OS and Mozilla Gecko (for a start). Then check out the various C++ libraries and toolkits that are thriving.

Nope. Love it or hate it, C++ is here to stay. What developers need to do to stay sane is to pick and choose only those language features that suit their project and leave out the rest.

11

Welcome to the World of Tomorrow!

C++ 0x FAQ

9

Did you look at the Linux-community? How about operating systems? Large software for office/gaming/design?

C/C++ is a very current technology to create fast and comprehensive software. There are so many libraries for any work to to, which are tweaked (memory and speed) and safe...

But the roles, the languages are playing in our huge world of development, are varying the whole time. You should learn and do whatever you think it is worth of.

7

well, no matter how good, java, .net, ruby, phython etc get..

somebody will have to write the jvms/runtimes/interpreters/operating systems for that, and most likely this will still take place in c/c++/asm.

it would be a shame if we look back in 20 years and decide, no we can no longer invent any new programming paradigm, because noone knows how to code without an interpreter.

6

In my view, C++ is a dead end. There is no way of getting rid of it because too much software has been written in it (or C, which is accessible easily from C++) and the alternatives are not wide-spread or have other disadvantages, but there also aren't many possibilities left to repair C++'s deficits.

C++ never had a clean design, but was originally designed to be a object-oriented extension of C. Therefore it always had to be a real superset of C and couldn't repair any C design faults.
And whenever Stroustrup discovered that he had made another mistake and reached another dead end, he hardly ever repaired something that was broken by design, but added another, new feature to the language that wasn't a full replacement for the broken features, worked in some cases where the first solution didn't, but had different disadvantages.

The result is a language that has got a complexity that overburdens most programmers using it, with some of them being aware of that fact and most beliving that so many errors are "normal" in computer programming. Therefore there can't be much more to come because it is difficult to build larger systems in C++ than done today.

Most tries to improve C++, like boost (a possible future C++ standard library) keep repeating the mistakes already made in the current library (fragility, missing naming conventions, ...), adding more complexity to the language. It is also impossible to repair current deficits because it would break backwards compatibility.

Don't get me wrong, I do programming for a living, most of it being C and C++, but I've also worked with loads of other languages and environments, e.g. Delphi (Object Pascal), for years and can compare. I make good money with C and C++ programming, more than I would get for most Delphi or Java jobs, and I believe that this is the case because not many people are able to write software in these C languages that works reliably (well, at least most of the time ;-)).

If it is desired to extend C in an object-oriented way (which doesn't answer the question if this is desirable at all because C already has enough disadvantages), it should be done like NeXt (now Apple) did with Objective C.

5

Check out Bjarne Stroustrup's (creator of C++) CPSC 689 ? C++0X ? Spring 2009 course outline for the new C++ standard at Texas A&M.

5

The answer comes from Danny Kalev himself in his Predictions for 2018, Part II article.

With respect to C++, the impact of certain C++09 revolutionary features such as concepts, concurrency and rvalue-references will make C++ an ideal language for generic programming. The term "generic programming" will have become old-fashioned by 2018, since software in the next 5 years or so will be mostly generic anyway. However, the growing complexity of C++ will create pressure towards splitting the language into quasi-official dialects. We can already see this trend today; it will probably intensify in the future. No doubt, the next decade is going to be interesting!

4

As C is a subset of C++ and pratically everything you use day to day is written in C.

Then the answer is for at least the next 20 years.

Linux, The core Windows OS, your TCP/IP stack, your Java compiler and virtual machine, your php, python, perl, TCL etc. interpreter are all written in plain C.

C++ is used extensively for building newer components (mono, Gnome, most of the Windows api.) which will be around for a long long time.

If speed or the size of your executable are important C or C++ is the only viable choice. On some platforms assembly language is still an option, but, C has been so succesful at replacing assembly code that many platforms dont have a well supported assembler environment.

2

I wouldn't worry that much. There is still a large C/C++ code base. Besides, languages never really disappear. (For example Cobol is still around, and with a reason).

But it is still wise to learn another language.

2

Check this out for C++ love: http://code.msdn.microsoft.com/Hilo

1

It is all about what problem must be solved. Depending on the problem, you choose the language you choose. C++ will be around for many many more years as basically all major operating systems were written in C and C++.

With the new standard C++0x, C++ has a great future!

0

Ultimately, of course, death. The language will eventually die, so will the developers.

Now, when - that is the question. In quite some areas C++ (or C) is still pretty much the only sane choice.

0

The future C++ will be what COBOL is now. Still tons of it around, but not exactly preferred for new development (except in very specific cases).

0

D language should be the future.

-1

I'd never compare any of todays high level languages like Java, C#...to C. Saying that C has problem in design is just nonesense. C is by far more closer to assembly then to C# or Java. Like they say "C is portable assembly"...and that's it. Expect no more or less.