Non-CS Major Interested in Learning C/C++ Programming

corinthos

Golden Member
Mar 22, 2000
1,858
2
81
For years now I've been exposed to little bits of programming languages here and there, including BASIC, Turbo Pascal, and C/C++. I found that I enjoyed trying to design and write little programs, figuring out what's not working right and fixing it, improving the structure of the program and polishing it, and applying the new things I learn along the way that added functionality to my programs.

The thing is, I'm not a CS-major and am also not very knowledgeable about computers on a very technical level. But because I seemed to enjoy what little programming experience I've had, pursuing a career as a programmer has always been appealing to me. Then, the more I thought about it, I wasn't sure how I'd like reading and working through other people's code, or even being asked to work on projects I may not be that interested in. How fitting a career as a programmer would be aside, however, I'm still interested in learning C/C++ for personal enjoyment and would like to set aside some time to seriously try to learn how to program.

Would I be missing out on alot by not being a CS-major and lacking the preparation those majors have, and by trying to learn C/C++ on my own through books?




 

screw3d

Diamond Member
Nov 6, 2001
6,906
1
76
I think if you volunteer yourself to work on one of those open source projects, you'll probably find yourself having a lot more relevant experience than a random CS major :p
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
The only C/C++ I learned in a class was a few weeks in high school (I dropped the class), and now I know more C/C++, not to mention other programming stuff, than many CS majors. Ugh, I've known CS grad students who were complete retards.

class Foo
{
.....
Foo(); /// This is the constructor
.....
};

:roll: :roll:

(that said, it did take a lot of time and effort and lines of code read/written to get to this point)
 

replicator

Senior member
Oct 7, 2003
431
0
0
I'd say go for it..

Don't let formal training get in the way. Some of the best programmers are non-cs grads.

The road might be a bit steeper for you than others, but anything that is learned in university can be learned anywhere else. Ultimately it depends on you.
 

SirPsycho

Senior member
Jul 12, 2001
245
0
0
Any particular reason you want to learn C/C++? For a beginner programmer, other languages might be better choices for a "starter language". I'm a Pascal (Delphi) programmer by trade, so I'm a bit biased since Turbo Pascal was the first programming language I learned really well. That being said, yes, I do recommend Pascal as a good starter language, but if you want to learn C/C++, Java or C# might be better choices for you, since the basic syntax and control structures are either the same or very similar. Also, Java and C# are both very popular languages for commercial projects, so if you did learn it well and decided that you might like to take a shot at doing programming for a living, you'd already have a head start on it.

If you're serious about coming a great programmer, here are a few things I can recommend:

  • Learn test-driven programming right now. I've been programming for a living for about a decade, and if I had started out doing test-driven programming, I'd be so used to it by now that I wouldn't think twice about it, and I'd be much better off. It's much easier to not have to un-learn bad habits of just hacking code together willy-nilly and then not being able to figure out why your code only works 70% of the time.
  • Start learning design patterns now too. You won't understand them all at first, or why they help, but again, if you get into the habit early, your programming will go so much more smoothly when you really do need it. You'll also want to start learning UML (Unified Modeling Language -- kinda like flowcharts for programming), at least enough to be able to read a UML diagram, even if you never create any yourself.
  • Consider taking an object-oriented programming class of some kind at your local community college. You'll learn a lot more quickly when someone else is making up the requirements for the assignments, because you can't just decide to leave something out if it seems like it's going to be too hard.

Good luck!
 

Red and black

Member
Apr 14, 2005
152
0
0
There is no such language as "C/C++". Learn C first, then C++ if you really have to. C++ is very complex, and you won't be able to handle it unless you already know C.