Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Oct 28, 2005, 05:53 PM   #1
zosoeffex70
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
New to programming...

I'm new to programming of any sort and wanted to learn C/C++, Java or Python languages and do it on my Mac, but I'm a little lost as to how to use these languages for programming on the Mac. Where do I find the right, preferable FREE, software to do that?

Thanks!
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 28, 2005, 06:12 PM   #2
HiRez
macrumors 601
 
HiRez's Avatar
 
Join Date: Jan 2004
Location: Western US
Quote:
Originally Posted by zosoeffex70
I'm new to programming of any sort and wanted to learn C/C++, Java or Python languages and do it on my Mac, but I'm a little lost as to how to use these languages for programming on the Mac. Where do I find the right, preferable FREE, software to do that?
Install the Xcode developer tools from your Tiger (or Panther) CD/DVD. You might actually be able to do Python without installing the tools (it's a command-line tool), I can't remember if it's installed in the normal version or not. But anyway, Xcode is Apple's free development IDE that can handle most of the things you want. There are other options for Java development as well, such as NetBeans, Elcipse, and others, but you'd have to download and install those yourself. If doing Python development, you will probably want a good text editor with Python syntax highlighting. I recommend the free TextWrangler, which you can find on www.versiontracker.com. Best of all is for you to use the SEARCH feature on this forum to find other threads about this, your question has basically been answered many times already. Good luck.
HiRez is offline   0 Reply With Quote
Old Oct 28, 2005, 06:13 PM   #3
Laser47
macrumors 6502a
 
Laser47's Avatar
 
Join Date: Jan 2004
Location: Maryland
To program C and C++ on the mac you can use apples xcode, its free. You can download it from the Apple Developer Connection.
__________________
iBook G4 14" 1.42ghz, 1.5gb RAM, 100gb 7200rpm Travelstar, 4G iPod 40gb
Laser47 is offline   0 Reply With Quote
Old Oct 28, 2005, 06:22 PM   #4
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
To program C and C++ on the mac you can use apples xcode, its free. You can download it from the Apple Developer Connection.
Got it thanks. Will search more and I appreciate you input/help!
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2

Last edited by zosoeffex70; Oct 28, 2005 at 06:44 PM.
zosoeffex70 is offline   0 Reply With Quote
Old Oct 28, 2005, 06:35 PM   #5
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Originally Posted by Laser47
To program C and C++ on the mac you can use apples xcode, its free. You can download it from the Apple Developer Connection.
Excellent, I have it (just recently downloaded it) and wasn't sure of it's potential and with your suggestion I will read the documentation and get started.

Say, do you know of any good books that would get me started programming in C w/Xcode as a beginner?

Thanks for you help! -gene
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 28, 2005, 06:37 PM   #6
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Install the Xcode developer tools from your Tiger (or Panther) CD/DVD. You might actually be able to do Python without installing the tools (it's a command-line tool), I can't remember if it's installed in the normal version or not. But anyway, Xcode is Apple's free development IDE that can handle most of the things you want. There are other options for Java development as well, such as NetBeans, Elcipse, and others, but you'd have to download and install those yourself. If doing Python development, you will probably want a good text editor with Python syntax highlighting. I recommend the free TextWrangler, which you can find on www.versiontracker.com. Best of all is for you to use the SEARCH feature on this forum to find other threads about this, your question has basically been answered many times already. Good luck.
Thanks, this is very helpful - I appreciate you time and quick input! -gene
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 28, 2005, 06:52 PM   #7
deanbo
macrumors regular
 
Join Date: May 2003
C++

C++ Primer Plus by Stephen Prata is a very good book for beginners if you want to learn C++.
deanbo is offline   0 Reply With Quote
Old Oct 28, 2005, 07:11 PM   #8
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Originally Posted by deanbo
C++ Primer Plus by Stephen Prata is a very good book for beginners if you want to learn C++.
Thanks - will note that book. Also, I read in Absolute Beginner's Guide to Programming - Greg Perry - Que Publishing that Visual Basic was a great place to start programming and then perhaps C before C++ or Java since the latter (2) were similar to C and that it would be a good foundation. Now I've learned that VB isn't done a Mac and that it's a 'legacy language' that will soon lose support from MS.

I haven't programmed a lick and just want to figure out the best place to start and do it using my Mac. I guess I need to learn how to use Xcode AND beginning programming - kinda feels like a catch 22.
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 28, 2005, 08:15 PM   #9
wala
macrumors member
 
Join Date: Jun 2005
Xode's native coding language is Objective-C, which is supposed to be an easier to learn and use than any other C dialect. Also, maybe you would like to give Xcode's AppleScript Studio a go before actually going into C.
wala is offline   0 Reply With Quote
Old Oct 28, 2005, 09:06 PM   #10
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Originally Posted by wala
Xode's native coding language is Objective-C, which is supposed to be an easier to learn and use than any other C dialect. Also, maybe you would like to give Xcode's AppleScript Studio a go before actually going into C.
Good deal - thx! I also ran across this info:
http://www.cyberdiem.com/vin/learn.html
Later, Gene
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 28, 2005, 09:12 PM   #11
Nuc
macrumors 6502a
 
Nuc's Avatar
 
Join Date: Jan 2003
Location: TN
?

Quote:
Originally Posted by zosoeffex70
Thanks - will note that book. Also, I read in Absolute Beginner's Guide to Programming - Greg Perry - Que Publishing that Visual Basic was a great place to start programming and then perhaps C before C++ or Java since the latter (2) were similar to C and that it would be a good foundation. Now I've learned that VB isn't done a Mac and that it's a 'legacy language' that will soon lose support from MS.

I haven't programmed a lick and just want to figure out the best place to start and do it using my Mac. I guess I need to learn how to use Xcode AND beginning programming - kinda feels like a catch 22.
If MS drops support for VB what programming language will they have for excel?

Also could someone point me to a good place on visual basic, I've been trying to do some programming in excel. Trying to link a fortran code w/ excel using VB.

Nuc
__________________
rMBP 2.6/16/512
&
2.33GHz 17" MBP C2D
Nuc is offline   0 Reply With Quote
Old Oct 28, 2005, 10:20 PM   #12
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Originally Posted by Nuc
If MS drops support for VB what programming language will they have for excel?

Also could someone point me to a good place on visual basic, I've been trying to do some programming in excel. Trying to link a fortran code w/ excel using VB.

Nuc
Have you stopped by: http://www.xtremevbtalk.com/forumdisplay.php?f=7
May be a good resource.

-gene
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 28, 2005, 10:33 PM   #13
gekko513
macrumors 601
 
gekko513's Avatar
 
Join Date: Oct 2003
Visual Basic is horrible from a programmers perspective. You'll be better off by starting with a proper language. C++ is most powerful, but it can be complicated. Java is very tidy and strict, easier than C++, but not as powerful. Some like Python, but I don't know too much about it. I think the advantages of Python is that it has some convenient solutions and has a clean and simple syntax.

If you want to use Xcode, Objective C is the easiest language to use. Xcode and Interface Builder works best with Objective C.
gekko513 is offline   0 Reply With Quote
Old Oct 28, 2005, 11:11 PM   #14
OutThere
macrumors 603
 
OutThere's Avatar
 
Join Date: Dec 2002
Location: NYC
Quote:
Originally Posted by Nuc
If MS drops support for VB what programming language will they have for excel?

Also could someone point me to a good place on visual basic, I've been trying to do some programming in excel. Trying to link a fortran code w/ excel using VB.

Nuc
Ugggghh...Fortran.

for the OP: If you really want to use XCode (which is an awesome App) go for Objective C which will integrate well with the interface builder, which is a lifesaver.
__________________
puisqu'on est jeune et con, puisqu'ils sont vieux et fous. . .
OutThere is offline   0 Reply With Quote
Old Oct 29, 2005, 12:19 AM   #15
savar
macrumors 68000
 
savar's Avatar
 
Join Date: Jun 2003
Location: District of Columbia
Send a message via AIM to savar
Quote:
Originally Posted by zosoeffex70
Excellent, I have it (just recently downloaded it) and wasn't sure of it's potential and with your suggestion I will read the documentation and get started.

Say, do you know of any good books that would get me started programming in C w/Xcode as a beginner?

Thanks for you help! -gene
Get started in Obj-C. A good book is the Aaron Hillegrass (Hillegass?) book. There are others...did you read the sticky in the developer's forum? Also, go on usenet and look at comp.sys.mac.programmer.help. Lots of helpful people there.
__________________
Mehce
savar is offline   0 Reply With Quote
Old Oct 29, 2005, 05:48 AM   #16
AlmostThere
macrumors 6502a
 
Join Date: Feb 2005
Location: The royal throne of kings, the sceptred isle, the other Eden, the fortress built
Stop ...

and take a couple of minute to think aboute why you want to learn programming?

Do you have an idea for some great programme you want to write?

Are you generally interested in computers and want to take that interest one step further?

Are you tired of manually doing stuff that really should be automated?

What sort of person are you?

Do you want quick, instant rewards - do you need to get a task done, quickly, and then move on to the next. Do you have a hundred ideas running about in your head that need to be fleshed out before the next hundred come along and take their place?

Are you methodical and pedantic? Do you have the time and motivation when yet another, 'one more', tiny, frustrating error crops up. Will you keep pushing on in the face of complexity and frustration? Do you have some grand plan in mind, where every detail matters. Do you insist on perfection and knowing every tiny detail of your projects?

Choosing a programming language to learn really depends on all these things. Most important is to remember that any language is a tool that you use to implement your ideas and as such you need to choose the right tool for each job, so if you fill in a bit more background it will be much easier to give you some good advice.

With nothing else to go on, I would suggest that Python is a good language to learn for a beginner. It is very easy to get started with. It has a fantastic amount of depth. It encompasses everything from web programming to 3D graphics. You name it, it is there.
AlmostThere is offline   0 Reply With Quote
Old Oct 29, 2005, 07:01 AM   #17
ll350
macrumors member
 
Join Date: Oct 2004
Location: Chapel Hill, NC
Jsut my $0.02

At least from the view point of being a n00b in general, and learning java, I found Xcode quite a bit less than intuitive. But your experience maybe different. If you do have trouble with Xcode specifically, you should know that there are other ways to get your feet wet in programming for free. Pretty much every company that makes a program for writing code offers a free version. Personally I'd recommend Eclipse, but that just me.

Anyway this website might be helpful if you have no other access to programing info:

http://www.freetechbooks.com/

Just a word of warning, most of these aren't written with the mac programer in mind, so while the principles of the programming language are the same, the specifics of using Xcode won't be covered. I bought 2 books trying to figure out how to use Xcode, neither of which were as helpful as the Xcode Documentation. You should download the documentation from Apple Developer Connection (you can get an account for free) Once you have the documentation and it is installed, open up "Xcode User Guide" and start reading. It will actually be Xcode 2.1 User Guide, or whatever version of Xcode that you are using.
ll350 is offline   0 Reply With Quote
Old Oct 29, 2005, 07:25 AM   #18
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Originally Posted by AlmostThere
and take a couple of minute to think aboute why you want to learn programming?
• Automation: YES, YES, & YES!
• I'm fascinated with computers/apps/internet
• I could sit in front of my laptop or any computer for hours without interruption and be very happy
• I'm sure I experience frustration when things done work perfectly, but I lie awake at night searching my mind to figure out solutions - a quiet time for an epiphany or the occasional 'EUREKA!' and experience a great sense of satisfaction once a problem is resolved/understood.
• Ideas for programs do come to mind; not really a constant flood of ideas - but I think that some of that creative spark will be enhanced once I begin to get my feet wet with coding and see what's really possible
• My inclinations are towards order, detail, use, function & asthetics

If I start with Python will C/C++/Java be harder to learn? One author stated that C is a good place to start as it builds a solid foundation to learn other 'C similar' languages. Have you found/seen/heard that employment opportunities for Python programmers are abundant/in demand? I guess I have a dual goal of learning a language that will also facilitate employment.
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 29, 2005, 07:52 AM   #19
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Originally Posted by ll350
Personally I'd recommend Eclipse, but that just me.
I went the website for Eclipse and read this about a Java 'run-time environment':

http://download.eclipse.org/eclipse/...-runtimes.html

On the page above it does not display a Mac platform - what to do? Again, I'm very ignorant about programming/IDEs etc...
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 29, 2005, 08:05 AM   #20
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Quote:
Originally Posted by ll350
Anyway this website might be helpful if you have no other access to programing info:

http://www.freetechbooks.com/
Say, I found this (@ freetechbooks.com) that looks like a good break down for the n00b programmer - looks like it may help - we'll see still gotta read it!

http://samizdat.mines.edu/howto/HowToBeAProgrammer.html
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 31, 2005, 06:41 AM   #21
AlmostThere
macrumors 6502a
 
Join Date: Feb 2005
Location: The royal throne of kings, the sceptred isle, the other Eden, the fortress built
Quote:
Originally Posted by zosoeffex70
If I start with Python will C/C++/Java be harder to learn? One author stated that C is a good place to start as it builds a solid foundation to learn other 'C similar' languages. Have you found/seen/heard that employment opportunities for Python programmers are abundant/in demand? I guess I have a dual goal of learning a language that will also facilitate employment.
Harder to learn than if you try to learn programming with no previous experience? I don't think so.

But learning a low level language will help you more in learning higher level languages than learning a higher level language will help you learn the lower level ones.

The thing with the lower level languages (C/C++, I would probably address Java as slightly higher level) is that there is much more to write to get simple tasks working. What the lower level languages do offer though, is a good insight into how a machine actually works. It is far from necessary to know this to deliver functional, working programmes. The learning process will be much slower, especially if this is self directed learning, and rewards much more spread out.

A week into learning any programming from scratch, it is probably a good level of achievement to have a console app (i.e. run through Terminal) that reads input and offers some sort of response (whooop-di-do!). A month in to a higher level language and you will probably, depending on direction, be able to offer useful web scripting functionality or be touching on aspects of GUI design and graphics. With a lower level language, you will probably still be wrestling with concepts like memory management and pointers.

That is not to say that these languages do not have their place - some of the stuff I am working on at the moment involves billions of calculations and the performance overhead of Python just does not make this a feasible option for running on a regular basis (I still used Python to prototype my algorithm, though). By comparison, I attached some back-end functionality to a website through CGI using Python; I could have used C++, the functionality is still there, but the same task, mostly text / xml processing, would have taken at least twice the time.

Having come from C / C++ to higher level languages, the word I use is describe it is 'rewarding'. There are some surveys on google (er, somewhere) asking programmers what they think about their languages. Ruby and Python were reliably the ones that people actually enjoyed using. Go figure.

As for job opportunities? Much harder to say for a specific language (flick through some recruitment websites) but again you will get to a commercial level of quality (god, I hate that phrase, there is some horrendous stuff written to get something through the door and actually doesn't mean very much at all) in a high level language faster than in a language like C. You won't find that many openings if you have less than 2 years experience in C++, again that's "commercial" experience. I have seen people employed with basic / rudimentary PHP skills employed in entry level positions and who have moved up very quickly to interesting and rewarding projects as they have learned skills on the job.

So, hopefully my previous comment is a little more in context. There is much to be learned from low level languages. Yes, they offer a good foundation to build upon. But, that comes at a price. they can be frustrating with few rewards. Development can be slow and tedious. But if (er, when, naturally) I have that "one great idea" for the archetypal killer app, it is very unlikely that C or C++ is going to be my first port of call. I might come back to it later, but for getting my ideas fleshed out, I need to have skills in a language that allows me express what ever insane, whacked out thought has crossed my mind, not one that requires levels of concentration that would make Uri Geller quake in his boots.

As for automation bit: well, if you are just doing repetitive tasks, moving files, you could do worse that spend an afternoon playing with Terminal.app and picking up bash scripting. Along with a handful of common command line UNIX programmes, it is an extremely powerful tool. Flick through Part 1 of http://w******dp.org/LDP/abs/html/ to get a picture. For more Mac-centric stuff, have a look at Apple script.
AlmostThere is offline   0 Reply With Quote
Old Oct 31, 2005, 10:12 AM   #22
zosoeffex70
Thread Starter
macrumors newbie
 
Join Date: Feb 2004
Location: Durham, NC
Thank you for your well-thought out and helpful response. This helps me to see the trade offs between low/high level languages. I may be going to a community college for a (2) yr AS program and I think it is focused on the low-level languages such as C/C++ and the like. (Although, I'd like to get started - got a coupla months before classes start - with a high level language; perhaps REALbasic...)

Do you mind if I republish your comments on my blog? It could use some substantial input as I find this was.

http://programmingn00b.blogspot.com/

Again, thanks for your time and thoughts!

gene
__________________
Mac PBG4 1G & 1G RAM; OS 10.4.2
zosoeffex70 is offline   0 Reply With Quote
Old Oct 31, 2005, 10:51 AM   #23
AlmostThere
macrumors 6502a
 
Join Date: Feb 2005
Location: The royal throne of kings, the sceptred isle, the other Eden, the fortress built
Go for it. Copy anything you like.

One analogy that came to me is in the field of image processing. As with all analogies, a pinch of salt is required.

It is much easier to use something like Photoshop (the high level language) to apply named filters and effects to process your image. Behind the scenes, you have the mathematics of convolution, Fourier transforms, Gaussian distribution etc. etc. that you can learn about and understand (low level programming language).

Does knowing this detail make you a better graphic designer? Hmmm, I don't know. It can obfuscate the issues, especially early on and the maths is harder for many people to understand than the visual output. Ultimately it probably makes you more capable of building on the work of others, extending the existing tools and which can result in superior work - you are better able to express uniquely and individually your ideas. It gives more insight into the domain.

It might certainly help learning Photoshop though, e.g. all the little tool parameters have a precise meaning. Change to another app, and they are still there, despite maybe different names. Knowing Photoshop though is not really going to subconsciously turn you into some mathematical genius.

The cost of course being that you are probably making fewer posters / adverts / layouts. It's just not possible if you have 1000 pages of theoretical mathematics to plough through before you start publishing.

The best artists, though, will be the ones who can use the appropriate tool at each stage - use stock tools where necessary, but with the knowledge to custom build a suitable plug-in or processing step where needed.
AlmostThere is offline   0 Reply With Quote
Old Oct 31, 2005, 12:10 PM   #24
jeremy.king
macrumors 603
 
jeremy.king's Avatar
 
Join Date: Jul 2002
Location: Fox Lake, IL
Quote:
Originally Posted by AlmostThere
The thing with the lower level languages (C/C++, I would probably address Java as slightly higher level) is that there is much more to write to get simple tasks working.
I wouldn't consider C/C++ as low level languages, both provide much abstraction as to what is really going on at a hardware (machine code/assembly) level...I guess its all relative, but having exposure to x86 assembler, C and C++ are a godsend.
jeremy.king is offline   0 Reply With Quote
Old Oct 31, 2005, 03:48 PM   #25
AlmostThere
macrumors 6502a
 
Join Date: Feb 2005
Location: The royal throne of kings, the sceptred isle, the other Eden, the fortress built
Well that's fair enough but the OP was talking about C/C++, Java and Python, an assortment of 3rd generation languages
AlmostThere is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
Mac programming should be more like iOS programming. moonman239 Mac Programming 13 Feb 17, 2014 01:37 PM
Help with C programming. Meitou Mac Programming 2 Sep 21, 2012 01:36 PM
C++ programming jmfel1926 Mac Programming 4 Sep 14, 2012 07:21 PM

Forum Jump

All times are GMT -5. The time now is 08:49 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC