General Question

iAManEXPERT's avatar

Why should i learn to computer program?

Asked by iAManEXPERT (87points) August 27th, 2010

i am a licensed apple developer, and i would like to learn how to actually computer program! but im not sure if i want to spend the money!

Observing members: 0 Composing members: 0

6 Answers

Arp's avatar

Do you mean learning a programming language? If so, you first have to decide which language you would like to learn! Luckily, there are lots of free resources on learning programming languages, and I might be able to help you find them if you can tell me a language you want to learn :)

gorillapaws's avatar

Are you in the ADC because your’re in the server/network admin track? Or did you just sign up on a whim?

Learning to program is basically free (if you use your local library to check-out the books). If you just want to learn a good all-purpose language then Python might be a good choice. There’s a great intro to programming course from MIT on iTunes U: OCW 6.00 Introduction to Computer Science and Programming which is taught in Python.

One of the biggest benefits to learning to program with Python is that it’s a very clean language that handles some of the uglier details from you. You can eventually move on to other languages where you can really drill down into the knitty-gritty after you master the basic concepts of how to solve problems using variables, operations, conditionals and control structures.

The other approach is to start with a language like C which is harder to learn, but doesn’t hide things from you and gives you a much better sense of what is going where in the machine. Some people learn better that way. Masters of the Void is a great tutorial for getting started learning C on the Mac. You will still want to work through a real book on C though.

If your goal is to write native Cocoa, or iOS apps, then you’re going to need to learn Objective-C. Objective-C is a strict superset of C which means that any valid C code is also valid Objective-C code, but there are extensions to the C language that allows you to program using objects. The book to get for learning Objective-C is Steven Kochan’s Programming in Objective-C 2.0. It’s the book I used to get started programming. The Kochan book will be focused on command-line apps (you have to walk before you can run). For GUI apps, you’ll want to move on to Aaron Hillegass’ Cocoa® Programming for Mac® OS X.

lilikoi's avatar

Why not? It’s fun, especially if you type really fast and are obsessed with logic like Spock. Like other people said, there are tons of resources on the internet or at libraries. You could also spend a couple of hundred bucks (probably less in a lot of places) and take ONE programming course. C is a natural place to start. That won’t set you back much and you’ll be able to gauge your interest.

actuallery's avatar

If it’s what you really want to do Then
do it well
Else
Don’t do it at all
End If

Fred931's avatar

You could make thousands of times more money from learning programming than what it cost to become educated on the topic.

Dan337's avatar

In the novel Dirk Gently’s Holistic Detective Agency by Douglas Adams (in life, Apple’s “most eloquent apologistaccording to Richard Dawkins), a character says the following:

. . . [i]f you really want to understand something, the best way is to try and explain it to someone else. That forces you to sort it out in your mind. And the more slow and dim-witted your pupil, the more you have to break things down into more and more simple ideas. And that’s really the essence of programming. By the time you’ve sorted out a complicated idea into little steps that even a stupid machine can deal with, you’ve learned something about it yourself.

It’s a secondary benefit, perhaps, but worth mentioning.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther