QUESTION!
Should I have chosen C++ instead of C? I'm going to be creating small, non-commercial application for personal use, I figured C was the better choice here since it's been around a lot longer and frankly C++ looks really unnecessary complex. Also I hear that C is better for small applications.
Pure C makes you think more in line of procedures and can be very linear. Object oriented C++ encourages you to create the data model first by design. You can have the procedures attached to the data (objects) and that way describe what you want to do with the data. In my opinion it's much easier to design bigger applications through data, than structuring detached procedures here and there. For me, ANSI C, is a pure pain in the butt and I haven't done that since early 90's.. Then again, a "class" is nothing more than a glorified C struct with inheritance. There are differences but the languages are not too different. Too much a like, in my opinion, in fact.
C# takes that a bit further btw, by renaming things, improving IDE, and libraries, simplifying and shortening some stuff (get/set, COM), configuration etc and making you write the implementation within the class definition more or less.
Cobol and Fortran have been around a lot longer than any of these, but not many people really like or know how to code in that..
If your applications are small, it's really one and the same, either C or C++ will do, but good design always makes modifications easier. You are still going to want to improve some things and develop new stuff over time.