How can I teach myself to program?
Asked by
eambos (
8909)
March 11th, 2009
I’ve never coded a thing in my life, and I want to learn how. I’d like to know what language I should learn first, and any resources that would help me learn. It would also be helpful if someone could give me a list of what languages I should learn in what order.
Any other personal tips, tricks or recommendations will be happily accepted, too.
I almost forgot – This is for programming in Windows (Vista x64 specifically). I can acquire any programs needed, so just include recommendations for that too.
Just another thing, I can’t really spend too much money on this, seeing as I don’t have much money to spend in the first place. But thank you, Bri_L. That service looks great for when I have a little more money.
Observing members:
0
Composing members:
0
15 Answers
www.lynda.com is really great. And you get TONS of other things along with it. best bang for your buck.
1. I LOVE YOUR TOPICS (lolololol) hahahha :P
2. I’m not really sure where you should start. I’m not sure if you should just dive into it!
I am thinking, HTML is the easiest thing to learn. You could go to www.w3.org, they have nice courses on teaching html.
But the way I learned it, was by surrounding myself in it. I guess one way you can do it is create a webpage, very basic, with something like bravenet.com. use the template builder. then goto your page, and view the source, try to guess what each piece of code corresponds to which element on the actual finished page.
@Bri_L brings up a good idea about lynda.com I never really used their courses for any coding. I thought they were concentrated on teaching applications
HTML is not a programming language, it’s a markup language. There is no actual programming or logic rules involved. It’s just interpreted and displayed.
I would just get a good introduction to programming book, there are hundreds available, if you don’t have any money try your local library. Or search online for “programming tutorials” and start reading.
C, C++ is a popular choice if you are going to be programming actual applications, or Visual Basic if you want to just do Windows programming.
If by “acquire” any programs you mean pirate, just keep in mind that you are pirating from programmers, and think about how you’d feel if you spend years learning to program, develop an application, and then people pirate it.
If I ever use an application for profit, I will certainly buy it. I am merely trying to learn, as a hobby, you could say. I admit, I pirated photoshop before I knew what I was doing, but then bought a real copy when I began to seriously use it.
Do you have any suggestions on what a good book to start out with would be? I can buy a couple of books, as long as they aren’t overpriced, so if you have any personal experience with one, it would be a justifiable purchase.
@StellarAirman
I understand. But I’m thinking it a good starrting point
Isn’t HTML mainly used in webpage design? I’m more interested in creating small desktop applications than creating a website. I do plan on learning HTML sooner or later, but right now I have other focuses.
Basic, it’s fast to learn and it will give you a good feel for logic and looping, two fundamentals of all programming languages.
How about learning Processing .
It’s a language written to allow for a shallow learning curve for non-programmers. It’s very visually oriented so it’s lots of fun, but it’s also very powerful.
Also it’s free and all you need is one download to get started.
The quickest and easiest way for you to learn programming is for you to take classes in it. This will cover all the important things you need to know, and the teacher, if he or she is halfway competent, will guide you away from bad programming habits and towards good ones.
It will also take you four to six years from beginning to program to becoming professionally competent in it, so you’re better off not targeting a specific language or platform. What’s popular now won’t be popular in six years, so you’re far better off getting a solid foundation before you specialize.
To that end, if you insist on going it alone, I’d recommend getting your hands on MIT Scheme and working your way through The Structure and Interpretation of Computer Programs, which I think may be available for free on the web at this point. No introduction is going to be better at giving you a solid introduction to programming than that one; it’s the one they use at MIT. Once you’ve worked your way through that book, you’ll have enough of a foundation that you can do anything you want.
I might be late to this party, but JohnPowell gave an amazing answer to this somewhere once. He mentioned the How to Think Like a Computer Scientists books which are AMAZING.
I was trying to teach myself Python and honestly it would have been impossible without this book. It is free and online. And really easy to read and understand.
There is also a Java version and a C++ version.
Anyway, I highly recommend these books. I was also teaching myself to program so that I could do Project Euler problems. I think having a goal in mind like that was really helpful. PE is good because when you get the correct answer, you can go to the forums and see how everyone else did it. And at least 20 people have done the easier problems in every computer language imaginable.
So: My recommendation in short is to learn Python because it has been a great beginning language for me and is completely free (download the shell and stuff at Python.org).
So I suck—I said JohnPowell, but I meant RichardHenry.
Great recomendation, and thank for the resources, @EmpressPixie!
DynamicDuo also suggested python, through pm.
I will go through the resouces everyone provided, then choose. Seeing as the only language suggested by more than one person was python, it seems like a good place to start.
Don’t bother there is enough of them around.
The greatest website which all newbies to programming should visit is w3schools. They have 100s of tutorials on getting started for most web languages. This is a great starting point! :)
Answer this question
This question is in the General Section. Responses must be helpful and on-topic.