Fastest and easiest way to learn programming

Excellent advice. I almost take it for granted now. Some people I’ve worked with over the years who have been programmers longer than me and who are just as smart or smarter but I’m much more productive than them because I can touch type which means I can read & type at the same time. Take a keyboarding course as soon as you can. You’ll have plenty of problems to solve w/o having to figure out where the semicolon key is at… :wink:

Thanks to everyone for the help, I am currently using the Microsoft’s Channel 9.
:slight_smile:

I learned how to program back in the mid to late 70s. (yes computers existed then and yes I’m an old fart) I took an introductory computer class at a nearby college while still in high school. (Time share access to a IBM Mainframe) I was lost after the first class, but after talking to a teacher friend of mine who explained how to do a bubblesort the lightbulb went off and I understood the potential for this. I decided right then to pursue a Computer Science education instead of one in Electrical Engineering. Best decision I ever made.

Interesting side-story. My High School counselor tried very hard to talk me out of it, he said that the field was saturated and that there was no future in it. Boy was he wrong!

My best advice is to write code not just read about it. You have to do it to learn it. Plain and simple.

Good luck,
Eric

I’m with EricM in this one. Read a bit, write a bit, and try it!

I started learning programming in GWBASIC back in the old days (16MHz 8086). Reading through some BAS files, taking code parts, modify it, try running it… I’ve learned the most by making mistakes, and I still do!

Nowadays I have a great teacher, he listens to the name “Google” :wink:

Ah google, what would we do without you.

Hello,
I started programming around 14 in machine code (Assembler) back then, whatever you do, do not do this :). Have been a professional programmer/researcher/developer for 17 years after a degree in AI.

Here is my advice. Others may not agree.

Pick one language to start with, and stick to it. If you hop around a lot, it becomes very confusing. There may only be small differences, but hopping from one to the other makes it harder to learn.
Over the years you become language independent, easily learning new ones, but to start with focus on one.

If I was starting now I would learn C# all the way. Learn a skill you can use. Your interest in XNA is great, it puts some passion there which is needed.

Think of it like cooking. The core of programming is like learning how to use the oven, how to chop up ingredients, what order you prepare items in, and how to prepare. That is language independent (apart from declarative languages like LISP and Prolog, but avoid these).

Then there are styles of cooking, Indian, Italian, etc. They are the languages. Each is different, and each have specific details that are only used by them, some have shared concepts.

C# is a great language, it is close enough to Java that you can easily branch that way if you desire later. It can also be very object orientated, which many other languages are. It is a very friendly language, there is no need to play with pointers, memory allocation and freeing (Apart from graphics and fonts), and a myriad of other fiddly bits that older languages made you deal with.
You will learn these parts in time, but if you can avoid them to start with, then all the better.

We all learn differently, but I do recommend finding a course or book where you run programs, rather than just reading from the book. Also for the first few chapters at least, read through it and work through the exercises slowly, there are some basics that are worth picking up.

Once you understand some of the basics, then find programs to play with and play with them. Change them. Change the text on a button, make it bounce around, change in size.
Think of it a little like painting, you can read all you want about it, but you still need to put brush to paper.

Finally pick something you want to do, something you will really enjoy that you believe is in your grasp, or just out of it, then do it. If there is lots of learning to do, then again stick with one bit at a time. Otherwise you can feel lost. All the time the project appears fun, it is easier to learn.
Try to divide it into chunks, so you get a boost when one part get gets done.

When you are learning, learn what you need at first. If your aim is to produce a 3d game in the future. Then learning the fiddly bits of web page coding, or COM is pointless.

If it was me, and I wanted to write a 3d game, and I did not know programming. I would learn the basics of loops, data structures, procedures, events, etc. The basics of all languages.

I would decide to start with a very basic game like bat and ball in 2D, and break it down.

Would learn how to put a score on the screen, how to read keyboard input and move an item on the screen. Through this I would learn about threading, coordinates, object handling. Your early efforts are not about what you produce, but what you learn doing them.

Would then either extend the game, or start a new more ambitious project.

One last bit of advice, find a book or webpages that cover the style of programming. I could have written this all without any punctuation, all in capital letters and only using four letter words at most. You would have understood it, but it would not have been the ‘best way to write it.

There are some conventions when writing code. They have come into being over the years as people find that it helps.

You can write procedures 3000 lines long, with twenty levels of loops, and all using global variables. It will work, but it makes it hard to work with in the future.
Pick up some of the style/conventions as you go, as it makes it much easier.

Regards,
Molando.

Thanks,
Did anyone forget to metion good notes :smiley: