Mac Programming

dukebound85

macrumors P6
Original poster
Jul 17, 2005
18,078
1,208
5045 feet above sea level
Is it just me or does programming seem to be a daunting task to learn. I have had to do basic programming with mathcad and matlab with iterations and etc and I had always managed to always have some difficulty. Oh where to start, where to start lol
 

MacFan26

macrumors 65816
Jan 8, 2003
1,219
1
San Francisco, California
Yes. It is tough to learn, but once you get going on it, it can be a lot easier to understand what you're doing. Some people can get into it a lot faster than others, a lot of times they're the math people who just "see" stuff. Are you doing this programming in college?
 

Doctor Q

Administrator
Staff member
Sep 19, 2002
36,120
3,341
Los Angeles
Programming in general takes learning, but there are ways to keep the complexity down. More importantly, you don't have to use a full scale programming language to program. Using a scripting language, a macro feature built into an application, or a tool like Automator is programming too, and a lot easier.

And books can help too!
 

Omen88

macrumors regular
Jan 8, 2002
177
0
Flanders (Belgium)
MacFan26 said:
Yes. It is tough to learn, but once you get going on it, it can be a lot easier to understand what you're doing. Some people can get into it a lot faster than others, a lot of times they're the math people who just "see" stuff. Are you doing this programming in college?
Yes I'm one of those non-math people. I used to have great difficulty with maths and was head of class for programming. This was mostly due to the fact I wasn't interested in math at all. I've managed to learn what was necessary for maths, but I'm not really someone who just sees the stuff.

In my opinion programming has most to do with experience and careful planning. You should be an architect who tries to see the big picture. First sketch and draw everything out in paper. The actual coding should only be done when you are certain of your design. It's a lot harder to build a house without a plan by just start putting bricks everywhere.
 

ppc_michael

Guest
Apr 26, 2005
1,498
2
Los Angeles, CA
It can be easy or hard, depending on how you go about it.

I'd strongly recommend learning ANSI C first. It's a powerful, nicely formatted language. After that, many other languages will come much easier. PHP, Java, ObjectiveC, C++, etc, etc, are all similar to C.
 

ham_man

macrumors 68020
Jan 21, 2005
2,265
0
It does seem like a daunting task, but it hasn't stopped me from trying to learn it. Picked up a book on ANSI C today, as many have said it is the basis for a good foundation in programming. May try some Cocoa if I get decent, but we will see how it goes. Hopefully it is as enjoyable as I am hoping it is...
 

scott182

macrumors member
May 23, 2004
61
0
Madison, WI
May I recommend trying PHP? I've tried learning C++ and a little bit of C in the past, but always felt that I didn't really understand programming until I started with PHP (and Perl). PHP is not a very strict language, so the actual coding doesn't get too much in the way of what you're trying to accomplish, but still introduces good programming concepts (including OOP).

Plus, you'll be programming useful things very quickly, especially when you pair PHP with MySQL. For example, I've created a database for keeping track of my DVD collection and my golf scores (kept locally on my Mac).

Recommended book: PHP and MySQL for Dynamic Web Sites by Larry Ullman -- shows how to do many useful things (and it's cheap too!).
 

allegrocm

macrumors member
Mar 13, 2005
36
0
Ames, IA
I learned C++ programming in a an OpenGL graphics class. I'd never taken programming before, but I'd managed to teach myself BASIC on my TI-86 in high school. But I jumped right into this class. For the first assignment, the teacher said "here's a program that draws three dots on the screen. Make it do something cooler" so I did. I figured out how to make it draw an atom that spun around, changed color, and exploded. Now I do virtual reality programming at one of the best facilities in the country (Iowa State University). Anyway, my point is, it was much easier to learn the programming when I was doing something fun (graphics) and I could SEE what was going on with pictures, not just text on the screen. Oh, yeah, and friend of mine basically learned programming the same way, so it's not just me :)

Ken
http://www.vrac.iastate.edu/~kennyk
 

HiRez

macrumors 603
Jan 6, 2004
5,808
1,705
Western US
allegrocm said:
Anyway, my point is, it was much easier to learn the programming when I was doing something fun (graphics) and I could SEE what was going on with pictures, not just text on the screen.
I totally agree, it's always much easier for me to be passionate and dedicated about a project when:

1. it's something interesting to me.
2. I can actually see it running for the first time.
3. users begin to tell me they like it and they're really using it.

Try to work on something that interests you. If thinking about how you can make it better keeps you awake at night, you're on the right track.
 

njmac

macrumors 68000
Jan 6, 2004
1,759
2
I don't know if this will help, but I saw an interesting slideshow (pdf) from Wil Shipley (mac developer, founder of delicious monster.

He is a cocoa developer and his slideshow, is a pretty interesting look at being a mac only developer. there is audio you can download to go along with the slides.
 

gamestriker

macrumors regular
Dec 18, 2004
174
0
Omen88 said:
In my opinion programming has most to do with experience and careful planning. You should be an architect who tries to see the big picture. First sketch and draw everything out in paper. The actual coding should only be done when you are certain of your design. It's a lot harder to build a house without a plan by just start putting bricks everywhere.
This is very true. I'm trying to build a new IDE, in Java, that will have the versatillity to work with virtually any language and be cross platform, but I know this will take months of planning. I actually took a notebook, and have dedicated the notebook for the designing of my program. At certain parts of the design, I will go to my computer and actually start doing some programming, nothing permanent, but more like a prototype system for whatever aspect I'm working on whether its the GUI, the project management, the multiple language support, or the code completion, for instance. As far as, when I have a fully working prototype, I don't expect that for another few months, at the earliest.

For something like beginning programming, you probably won't need to go as far as I am, but if you take maybe an 15-60 minues on some scratch and kind of figure out what your program will do, how it will look, and how it will work work, maybe even do some psuedo-code, your life will be alot easier when its time to program, and you'll have a better understanding of what your program can and can't do. :)
 

ham_man

macrumors 68020
Jan 21, 2005
2,265
0
scott182 said:
Plus, you'll be programming useful things very quickly, especially when you pair PHP with MySQL. For example, I've created a database for keeping track of my DVD collection and my golf scores (kept locally on my Mac).
I believe that you have given me the most brilliant idea for my first program. After I learn it, of course...
 

DrNeroCF

macrumors 6502
Sep 2, 2004
276
0
Hey guys, I've done a fair amount of actionscript programming in Macromedia Flash... how hard would it be to get a simple 2d sidescroller up and running in OS X? Obviously the timeline based language of flash makes animation based games pretty easy, but I really don't even know how to make a square move right when I press the right key. Does anyone know of a starting point for something like that?
 

dukebound85

macrumors P6
Original poster
Jul 17, 2005
18,078
1,208
5045 feet above sea level
Thanks for all the input. so what should I start off learning, c. c++, php, etc. Also, this may seem really obvious, but where exactly do you program? terminal, x11, or what? Thanks for all the help
 

HiRez

macrumors 603
Jan 6, 2004
5,808
1,705
Western US
dukebound85 said:
Thanks for all the input. so what should I start off learning, c. c++, php, etc. Also, this may seem really obvious, but where exactly do you program? terminal, x11, or what? Thanks for all the help
If I were you, starting out, I would choose one of these to start with, depending on what interests you:

- Front-end web: PHP
- Back-end web: Java
- Scripting: Python
- Desktop applications: "Straight" (ANSI) C

They're all good for doing different things, but all will teach you many of the basics of programming which you will need to move on to more advanced stuff (Objective-C, C++, EJB, QuickTime, OpenGL).

As far as tools, I use Xcode and Cocoa/Objective-C. For any of the languages listed above, however, I'd start with the excellent (and free) text editor TextWrangler, and Terminal to compile and run. Later you can move to advanced (and complex) IDEs such as Eclipse or Xcode.
 

slooksterPSV

macrumors 68040
Apr 17, 2004
3,258
117
Nowheresville
If you have a Windoze PC, then Dev-C++ is an awesome program http://www.bloodshed.net they used to have a Mac and Linux port, but no one updates them or that, so yeah. But its a good program, comes with Gcc 3.3.1 I think... haven't checked back in a while so go check it out.