Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

BLINK

macrumors member
Original poster
Jul 21, 2004
36
0
Is there any differences between programming on a Mac and programming on a PC? I am begining to learn how to program in many different languages and was wondering. I only have Apple computers at home.
 

bousozoku

Moderator emeritus
Jun 25, 2002
15,718
1,893
Lard
That was a rather open question.

As long as the language is standards-based, you should have no problem using the language on any platform where it's certified.

That said, anything related to utilising specific operating-system related features such as GUI are much different, except in Java. Since Java is the same output regardless of platform (but version-specific), you can run it on any platform with the correct version (usually the same or newer) Java Virtual Machine.
 

jsw

Moderator emeritus
Mar 16, 2004
22,910
44
Andover, MA
As mentioned, Java programming is the same on almost any platform. Traditionally, Macs lagged way behind Windows as far as Java releases are concerned, but the lag a lot less now (a few months, sometimes less). Macs also are much more Java-friendly.

Non-Java GUI programming is, as mentioned, much different. Honestly, enough tools exist on both platforms to make GUI programming similar in experience, though much different in actual code.

C, C++ both program the same on either platform (again, GUI code will be platform-specific).

A giant plus to Mac programming is that you have access to all the UNIX-type stuff in a way which is a part of the OS, as opposed to on a PC, where it all needs to be added on. I love the Terminal app on OS X - nothing like it on PCs.

Finally, if you're backed by someone with money, the tools on PCs are a bit better than what OS X has to offer, but not substantially.
 

BornAgainMac

macrumors 604
Feb 4, 2004
7,282
5,268
Florida Resident
Try Java, PHP, Perl, C, and C++. Also AppleScript and Xcode (Think VB.NET for the Mac but based on C, Applescript, or Java). These are all free with every Mac. Nothing to download or buy.

What programming tools are pre-installed with Windows.... none.
 

dejo

Moderator emeritus
Sep 2, 2004
15,982
452
The Centennial State
bousozoku said:
Since Java is the same output regardless of platform

Not exactly. If you are doing GUI-programming with Java, using Swing or something similar, the output can be different depending on the platform, if you are using a system-based look&feel. Even if you are using a cross-platform look&feel, there's no guarantee you will get exactly the same output.
 

therevolution

macrumors 6502
May 12, 2003
468
0
dejo said:
Not exactly. If you are doing GUI-programming with Java, using Swing or something similar, the output can be different depending on the platform, if you are using a system-based look&feel. Even if you are using a cross-platform look&feel, there's no guarantee you will get exactly the same output.
It's true. Recently, I got to adapt a Java program that had only been supported on Windows to the Mac. There are some subtle visual and behavioral differences between the two platforms when using Swing. That said, most of the time, it does behave the same.
 

bousozoku

Moderator emeritus
Jun 25, 2002
15,718
1,893
Lard
dejo said:
Not exactly. If you are doing GUI-programming with Java, using Swing or something similar, the output can be different depending on the platform, if you are using a system-based look&feel. Even if you are using a cross-platform look&feel, there's no guarantee you will get exactly the same output.

I didn't say anything about look and feel. The code output is the same and can be run...
 

Edot

macrumors 6502
Jan 29, 2002
432
0
NJ
UNIX!

If you are planning on furthering your programming education, for example pursing a Computer Science or Computer Engineering degree then you will be taking classes the use UNIX for everything they do. Having a UNIX box available in your own home, and also being able to do everything else on it as well is a HUGE benefit. As far as coding applications, XCode should do everything you need. I am using Eclipse (Eclipse.org) for a class right now as well.
 

cluthz

macrumors 68040
Jun 15, 2004
3,118
4
Norway
jsw said:
As mentioned, Java programming is the same on almost any platform. Traditionally, Macs lagged way behind Windows as far as Java releases are concerned, but the lag a lot less now (a few months, sometimes less). Macs also are much more Java-friendly.

Win/linux versions of java 5.0 was available in october last year, we probably won't get java 5.0 before late March/April or maybe later.
 

jamdr

macrumors 6502a
Jul 20, 2003
659
0
Bay Area
therevolution said:
It's true. Recently, I got to adapt a Java program that had only been supported on Windows to the Mac. There are some subtle visual and behavioral differences between the two platforms when using Swing. That said, most of the time, it does behave the same.
As long as you set the L&F to the same on both machines, I don't really see how there could be differences. If you leave the default L&F on, of course they are going to look different--that's the point.
 

bousozoku

Moderator emeritus
Jun 25, 2002
15,718
1,893
Lard
cluthz said:
Win/linux versions of java 5.0 was available in october last year, we probably won't get java 5.0 before late March/April or maybe later.

That's simply because Apple doesn't want people staying on Panther. It was the same with Jaguar and JVM 1.4.x.
 

scholarwarrior

macrumors newbie
Feb 23, 2009
4
0
How about hardware?

How about hardware as well as software to have a stable workstation for programming in Java and later on Objective-C down the road? I am just getting into it and am wondering what is recomended for being able to program, multitask, and maybe use virtual machine software like Parallels simultaneously.
 

Catfish_Man

macrumors 68030
Sep 13, 2001
2,579
2
Portland, OR
Lots of ram is the main thing. I had Eclipse and Flex Builder running at the same time at my last job, and 3GB was *barely* enough. Then if you're compiling large projects, more cores is very helpful.
 

scholarwarrior

macrumors newbie
Feb 23, 2009
4
0
Any recommendations?

Any recommendations? I am considering a Mac Pro, iMac, MacBook Pro, and a Sun Workstation.

Lots of ram is the main thing. I had Eclipse and Flex Builder running at the same time at my last job, and 3GB was *barely* enough. Then if you're compiling large projects, more cores is very helpful.
 

detz

macrumors 65816
Jun 29, 2007
1,051
0
Up until last Friday I was doing all programming on a 13" white macbook and it worked great. I've since upgraded to a 17" macbook pro for the larger screen.

Some info:
- I program in Perl and Objective-C 95% of the time. Macs are good for most languages, if you have to use Visual C++ then they suck :p but other than that you should be fine.
- In college everything was taught in Java, I feel bad for anyone in the CS major that didn't have previous experience(I did).
- Get the basics down first, start with a language that doesn't require compile time because it's easier to experiment. Try PHP or Perl first, PHP might be easier for a beginner.
- READ. Purchase books and read.
 

scholarwarrior

macrumors newbie
Feb 23, 2009
4
0
Up until last Friday I was doing all programming on a 13" white macbook and it worked great. I've since upgraded to a 17" macbook pro for the larger screen.

Some info:
- I program in Perl and Objective-C 95% of the time. Macs are good for most languages, if you have to use Visual C++ then they suck :p but other than that you should be fine.
- In college everything was taught in Java, I feel bad for anyone in the CS major that didn't have previous experience(I did).
- Get the basics down first, start with a language that doesn't require compile time because it's easier to experiment. Try PHP or Perl first, PHP might be easier for a beginner.
- READ. Purchase books and read.

My CS degree is all Java.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.