I like the shell programming with oop: Analysing first the problem and finding the basic-basic problem. This is the kernal function. It's embedded in the center or nearby. This is the function which needs a lot of brain-work. It is, you can say, the engin of the problem. It has to be very fast and very stable! The next step is to write the functions which are using this kernal-function(s). The next step is to write function which are using the functions which are using the kernal-functions and so on.
No way is the best way. You have to find out or decide which way is the best for you and push up your skills in to a level near the stars in heaven...
@james1402
That's not a question. It's not even bragging, because most people on this forum know multiple programming languages as well.
Also: HTML, CSS, XML aren't programming languages per se.
A piece of advice:
You should care more for your knowledge in libraries. Programming is not about the language, it's about knowing your libraries.
Especially in the case of C/C++, there's so many libs. Microsoft alone offers dozens of different libs (MFC, COM, DirectX, .NET, GDI, GDI+, ...). Not to mention 3rd party libs. (Qt, OpenGL, wxWidgets, SFML, libavcodec, ...)
And of course, you should know the standard lib for the language at hand inside out.