How do I learn to program?

Inventor of Ruby on Rails – David Heinemeier Hansson :
“Programming because I needed to. Programming because I gave a damn about what I was writing and I wanted it done sooner rather than later.
That’s how I learned to program Ruby. By making it my mission to write Basecamp in it. When you’re learning on a mission, the order of things come really naturally. So what exactly do I have to do to get this messages section working in Ruby? Oh, I’ll need to do a loop here. Oh, I’ll need to get something from the database there.

Before you know it, you’re half-way done with your idea and you’ve accidentally learned how to do it too.

In short, you start with little bit of something real and make it tick. Then you make it tock.

Passion overstates the issue. You don’t have to have that all-flaming, insatiable desire to get going. You just have to want a concrete, real program to work. Starting to learn something without even a shred of a goal feels premature.”

Best Learning Approach:

1- Real Projects that you have to do.

2- Avoid tutorials and books, why? cos they create programs you don’t have the slightest interest in keeping.

Resource: How do I learn to program?

Advertisements

About Ahmed

Software craftsman, programmer, developer, system/business analyst, DBA and PM.
This entry was posted in Education, Learning, Programmers, Programming, Study, Super. Bookmark the permalink.

2 Responses to How do I learn to program?

  1. You last statement looks a bit controversial. I don’t think that avoiding tutorials or books is a good one. First of all it depends what kind of tuts and books are you reading, and after all, from where will you get the knowledge?

    However, I like the statement that you should start with little bit of something real and make it tick, and then you make it tock.

  2. Ahmed says:

    IMHO, if your goal is just to learn the language, then go for books and tutorials. But if your goal is to built something new, then dive directly to the project and use books as references whenever you encounter a problem.
    This is the fast-track approach for learning a new programming language.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s