PDA

View Full Version : Can Someone help me get started with Programming?




maxtoncollins1
Feb 16, 2012, 07:54 PM
So basically i have no expierence whatsoever. The only thing i've really used is AppleScript to display dialog or make a simple program to do meaningless tasks (Open a new finder window, close programs, etc) in an attempt to learn. I'd like to learn java and some other languages but i don't know where to start. Any help at all is appreciated.
Thanks.



balamw
Feb 16, 2012, 07:57 PM
What do you ultimately hope to accomplish? Why Java? ...

The fact that you found AppleScript meaningless seems to imply that you don't have a clear objective.

We have some FAQs for Objective-C http://guides.macrumors.com/Cocoa_FAQ and http://forums.macrumors.com/showthread.php?t=518968, but there are folks here that are well versed in many languages and environments...

B

Drask
Feb 16, 2012, 08:01 PM
If you're really knew to Java and want to learn that I'd recommend the iTunes U Stanford free course, it requires no previous experience and it teaches you some good programming style, plus the teacher is hilarious.

maxtoncollins1
Feb 16, 2012, 08:01 PM
What do you ultimately hope to accomplish? Why Java? ...

The fact that you found AppleScript meaningless seems to imply that you don't have a clear objective.

We have some FAQs for Objective-C http://guides.macrumors.com/Cocoa_FAQ and http://forums.macrumors.com/showthread.php?t=518968, but there are folks here that are well versed in many languages and environments...

B

I don't know much about languages and i've heard that java is easy for beginners? I wasn't try to make it sound like I found AppleScript meaningless. I just don't really know how to make it do very much and have only got it to do simple things.

balamw
Feb 16, 2012, 08:16 PM
Every language has its pros and cons, strong suits and weak points.

Just like I would not recommend you learn Swedish if you are planning a trip to France, I would recommend picking the language that suits your desired task.

That's why I ask...

B

chrono1081
Feb 16, 2012, 09:10 PM
OP are you trying to learn to program on mobile devices? Or make games? Or play around with graphics? Maybe make plugins for software eventually?

If you give those kinds of specifics we can help you better :) If you are just trying to learn concepts may people say Python is the simplest to start with (never used it so I can't vouch for it).

balamw
Feb 16, 2012, 09:12 PM
If you are just trying to learn concepts may people say Python is the simplest to start with (never used it so I can't vouch for it).

JavaScript might also be a good choice for programming for the Web, ...

Different strokes for different folks.

B

maxtoncollins1
Feb 16, 2012, 09:23 PM
OP are you trying to learn to program on mobile devices? Or make games? Or play around with graphics? Maybe make plugins for software eventually?

If you give those kinds of specifics we can help you better :) If you are just trying to learn concepts may people say Python is the simplest to start with (never used it so I can't vouch for it).

I'm really just trying to learn the concepts. I'll look into python. I really just know...almost nothing about it.

firewood
Feb 16, 2012, 09:28 PM
There appear to be some beginner targeted educational books on Squeak, Scratch, Alice, Python and Javascript in print. Try perusing them in a bookstore or your library before buying. Or check the Amazon reviews.

There used to be some successful books on Basic and Logo, but not sure if any are still in print.

Haven't seen anything for C or Objective C or Java really targeted at beginning beginners (your typical 8th grade boys and girls or their school teachers, and etc.)

robvas
Feb 17, 2012, 08:23 AM
You could start with a book like this:

http://i.imgur.com/3FTFR.jpg

But I wouldn't start with Objective-C or Java for a beginner. I would start with something like Python, Ruby, or even Javascript.

naples98
Feb 17, 2012, 08:27 AM
Another suggestion to give the OP some very basics on programming.

http://www.codecademy.com/

xStep
Feb 17, 2012, 12:44 PM
Apple just added Start Developing iOS Apps Today (https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/Introduction/Introduction.html)

balamw
Feb 17, 2012, 12:58 PM
Another suggestion to give the OP some very basics on programming.

http://www.codecademy.com/

Subject of a thread here: http://forums.macrumors.com/showthread.php?t=1306589

B

PhoenixMac
Feb 18, 2012, 02:42 PM
Or if your working and your company has an agreement with Safari Online(or you buy a subscription or use the free trial), you can read books online like the ones mentioned here and others. Beats going to the library and them potentially not having the book you want.

slynn
Feb 22, 2012, 04:54 PM
I have to agree with the general concept expressed by others:
To advise you about a language or course, you'll need to give us some sort of idea of the why. Are you looking to write games, become a consultant, get a job, keep your job, or just fill your hours with interesting ideas?

If you've ever given someone directions or told them how to do something, you've conceptually programmed. Programming is putting together the specific instructions for a device to do something. The various languages have developed because they offer humans an easier way to approach certain problems.

Oops...I may be giving away my age. Having started back when humans had to punch holes in paper or cards to get computers to do things, I find it fascinating that you youngsters can focus on the various dialects of computing, without necessarily ever having to get into the more basic levels of what's going on.

Rant over! Good luck, maxtoncollins1! You're embarking on a life changing adventure, if you begin to learn to command computers!


So basically i have no expierence whatsoever. The only thing i've really used is AppleScript to display dialog or make a simple program to do meaningless tasks (Open a new finder window, close programs, etc) in an attempt to learn. I'd like to learn java and some other languages but i don't know where to start. Any help at all is appreciated.
Thanks.

Analog Kid
Feb 22, 2012, 10:37 PM
I disagree that you need to have an objective in mind before you start. It certainly makes it easier to write a program if you know what you want that program to do, but you don't need a full career path laid out for yourself before you get started.

I'd recommend starting with Processing over at processing.org. That's what I've been using to get my daughter bootstrapped.

What's nice is that it's Mac friendly and you can get nice visual creations with only a few lines of code. From there you can start to get more complex-- moving from a scripting style, to more function oriented, and from there to object oriented. The underlying syntax is essentially Java-- it's run through a preprocessor to hide some of the complexity, but if you've got Processing down, the leap to Java will be straight forward.

For my daughter, I just started with some basic physics simulations-- draw a ball, draw a ball influenced by gravity, draw a ball influenced by gravity with a floor, draw a bouncy ball influenced by gravity with a floor, etc... From there it became a cat chasing cheese.

Ben Fry has a good book called "Visualizing Data" which is based on Processing and makes a good start (and has the added benefit of giving you some ideas about how to write custom code to better analyze complex datasets).

I'd considered getting her started with Python, but I find Python a little too unstructured to teach good form and too difficult to create graphics.

glutenenvy
Feb 23, 2012, 10:45 AM
I'd like to learn java and some other languages but i don't know where to start.

You seem to be asking for structure. I do not see any reason to not just jump in to a language you can make something useful.

Install Xcode and watch the first few lectures of Stanford's CS 193P iPhone Applications on iTunes U. Lots of stuff is happening but it walks you through making a calculator that will run on your iPhone. Other people may suggest to not start with Objective-C but you should be fine if you are willing to pay a little extra attention to the difference between pointers and variables. Often people start with languages that lend themselves to less typos and compile with less complaints. That is why many people are suggesting so many other languages. Xcode comes with the whole programming environment, ide, compiler, and debugger, which does make it is a good place to start.

The calculator project is how many instructors introduce you to a language.

In addition to the iPhone simulator that is part of the Xcode download, to be able to run your app on your iPhone you will need to be a registered developer with Apple at $99 per year.

Already suggested by a different person, https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/Introduction/Introduction.html

Pascal and the newer Basics are two structured languages that have been taught for ease of learning programming concepts but generally are used less than other languages out of the classroom.

A good basic and useful thing to learn would be bash shell scripting. Become friends with nano or vi inside terminal and google for Advanced Bash Scripting Guide.

Amazing Iceman
Feb 23, 2012, 11:26 AM
I would suggest you to focus on what you are trying to accomplish.
If it's OS X or iOS Programming, then focus on learning Objective-C.
There are book and websites focused on teaching those with little or no programming experience. Just make sure you fully understand the fundamental concepts being taught before moving to the next one,
Learning other languages first sounds interesting, but it may slow you down and add to the confusions; plus, you may get bored as you are not doing what you really want to do
If you own a Mac, just focus on learning Objective-C and fully understanding it. Then, take the Stanford course "iPad and iPhone Application Development (HD)".
It is, in my opinion, the best way to learn it. Take your time to fully understand the concepts taught. Try to follow it as if you actually were taking the original course; don't lag behind if you have the time. You'll see... You will like it. And you'll learn fast.
You can get lots of info in the Apple Developers site. Register with a Developer account to gain access to a lot of the free information, you don't need to pay the annual fee if you want to write apps for OS X. For iOS, you can use the emulator and once you feel you have accomplished enough and that it is what you really want to do, you may consider worth it to pay the annual iOS developer fee.
Take your time to learn. If you need more help, PM me.