dogman_1234

Distinguished
Oct 31, 2009
171
0
18,630
Hello Tom's Hardware Guide Community,

I am here to ask any newbies or veterans to C++ a question of two. here is the deal. I would like to learn coding. Coding the essentials and most basic first of of the C++ language program/software. Now, I am not much of a software guru, I am more of a hardware guru instead,( If your know what I mean.) I would like to know where to start first. i know learning is the start of all big project5s in the future. Here is my goal:

1) Learn a computer language,( in what I said C++)
2) Learn to code, encode, manipulate and transcode software.( hopefully firmware LATER down the road)
3) Learn how to program a basic utility software,( like a basic add/sub calculator to the 100's.)
4) Program a basic utility software to operate directly with the OS( this will help me plan to go to one of my big projects)
5) Code and Program( Big projects):

-Basic 16 bit 3D game.
-Moderate firmware override system
-Very basic OS,( this will be possibly years later after I do much work)

These are just the ideas I have. If I have anything missing or you have a question, post or PM me @ dogman_1234.

Thank You.

Dogman_1234
 

Ijack

Distinguished
I'd suggest that, for what you have in mind, C would be better than C++ and would be easier to learn.For your final aim you're going to need a little Assembly Language as well (and an intimate understanding of your hardware).
 

Zenthar

Distinguished
Dec 31, 2007
250
0
18,960
I second the more low-level C option as well; for firmwares and OS/kernel development it might be best. Learning some Assembler on-the-side could also be useful, at least to understand how "unmagical" a computer really is :p
 

mindless728

Distinguished
Jul 15, 2008
130
0
18,660
I would say C as well as it interfaces with low level development better, like others have said you need to know the hardware very well for low level programming.

Also for the OS level programming you are looking at interrupt driven programming which is a bit different than jst i need to make a calculator and requires that you know all of the hardware extremely well not to mention needing the programming manuals for hardware you need to interface with