Low-level programming

databoks used Ask the Experts™
I would like to ask if it is worth learning c++/C. I have a basic understanding of it.

Most of my programs are written in C#/Java but I find C++ very effective and hardcore.

Is it waste of time to learn this language?
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Leon TealeSenior Penetration Tester

no its a good language to learn as you said alot of programs use it.

however if it is a first language i do not advise jumping in at this as you might get overwhelmed and then even put off from learning another language. i advise for a beginner (if you are) you start with Java or php or maybe even perl tbh.
It will not hurt leaning something :-).
Having C++ in your resume will also good and give you more options in job search.  
In terms of usage - check this discussion. In addition to telecom, "wall street quants"  also use it.
Leon TealeSenior Penetration Tester
if you start using c++ like i did i recommend this site:


yu will also need a compiler to compile your code once you have made it:

its really good.

you can get it here:


i started my first language with C++

tbh i gave up on it after a while learnt others now im familiar with other languages i can make sense of C++ more understanding *WHY* to code it  a certain way. its not too dis-similar to java actually.

anyway, enjoy.

oohh actually. VisualBasic is a realllly easy one to start with including the visual basic suite to build it all in and its free. lots of youtube videos showing you how to makie little programs and stuff, i craeted an ABC program for my little boy and then some more advanced RDP things all the way to a funky OS using Visual Basic
Exploring SharePoint 2016

Explore SharePoint 2016, the web-based, collaborative platform that integrates with Microsoft Office to provide intranets, secure document management, and collaboration so you can develop your online and offline capabilities.


Thanks everyone.

As I said I have 3-4 years experience with C#/Java on a high level.

Therefor I still find it somewhat hard to learn C++. Even though I get the basics.
ǩa̹̼͍̓̂ͪͤͭ̓u͈̳̟͕̬ͩ͂̌͌̾̀ͪf̭̤͉̅̋͛͂̓͛̈m̩̘̱̃e͙̳͊̑̂ͦ̌ͯ̚d͋̋ͧ̑ͯ͛̉Glanced up at my screen and thought I had coded the Matrix...  Turns out, I just fell asleep on the keyboard.
Most Valuable Expert 2011
Top Expert 2015

If you ever want/need to write a device driver, then you will have to do it in C/C++.
Leon TealeSenior Penetration Tester

then i guess its down to you if you want to continue at it in the hopes that it will all come together for you.

it will take a lot of work to get but once you've got it there are many benefits:

create programs
addition to your CV
troubleshoot fix other c++ code
create apps

Albeit C++ is good programming language which I would recommend to all developers to learn but I don't see much use of it going forward as processors are becoming faster and cheaper so performance is not the reason.
Many time-critical or near real-time programs are written in C/C++, especially in embedded systems. It is as you are finding very hard to learn everything in C++. Here's a little tutorial http://www.cplusplus.com/doc/tutorial/ .

Since you know Java/C#, one area that you should examine are containers (like vectors, maps, etc.) ( http://www.cplusplus.com/reference/stl/ ) and algorithm functions that can be used with these containers ( http://www.cplusplus.com/reference/algorithm/  ). These links have a nice set of simple programs to illustrate many of the points. Some of these may be a bit harder to grasp: functional ( http://www.cplusplus.com/reference/functional/ ).

I recommend that you get Microsoft Visual Studio Express C++ since it provides an excellent debugging environment. Here is the download link:
If it's worth it depends a lot on what you want to do with your life.  What do you want to do?

If you want to work on the Linux kernel or the device drivers, you'll need C.  If you want to work on GNU utilities, C.  If you want to join the Mozilla project and work on Firefox, C++.

I was recruited for a financial sector job in NYC that required the ability to write highly optimized C code and also required a deep knowledge of C++.   If you like money, the financial sector is a good place to work.  If you really like money, learn how to (you'll have to get an advanced degree) write algorithmic trading software.  In addition to using advanced computer science concepts, such software has to make very fast decisions, which is spelled "C."

So, what do you want to do?
Oh, a lot of embedded device programming is in C as well because it's possible to write compact code.  This is needed in an environment where resources are limited.
Post deleted.
There is an interesting discussion continuing here http://simpleprogrammer.com/2012/12/01/why-c-is-not-back/

The comments are especially interesting.

I would only like to add that people coming from managed programming background often get thwarted by the lack of say BCL (base class library) or equivalent. Sadly, in C++ you only have STL or a few other frameworks that are not as comprehensive as BCL and that means often you have to create foundations/toolkits/libraries before you get the same rapid development fun.

Going forward C++ will gain substantial focus with Microsoft shifting focus on C++ in Windows 8 applications. I personally think C++/CLI would gain more attention as it ties together two worlds in a manner no other language does. Developers learning c++ would tend to continue that route while embracing WPF, WCF and the rest of the .NET.

In short, not only is it worth learning C++, this happens to be an interesting time for doing so.


Thank you everybody.
no, thank you for the B grade
I think that ambience's point is that when a grade less than A is given, the typical thing to do is explain what was wrong with the answer(s).

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial