tags:

views:

162

answers:

4

I bought a new Mac book (MacBook Pro), and I am previously using Windows. I use this MacBook for personal (e.g. instant messaging, document, browsing the web) and development (writing C++ and Java code) purpose. Any recommended discussion group or forums (or I can directly ask here in StackOverflow)? I am a newbie.

+2  A: 

Start with Xcode and Developer Tools, and then look at NetBeans and/or Eclipse.

trashgod
Another requirement is, I develop on MacBook, but may deploy my code on Linux Enterprise box. Does all of these tools suitable for my needs?
George2
For Java it doesn't matter that your code in the end needs to run on Linux - Java code compiled on your Mac should just run on Linux (provided you're using the same Java version, for example Java 6).
Jesper
@George2: I'll second @Jesper's comment; I deploy from Mac to non-Mac platforms regularly.
trashgod
+2  A: 

Yes, you may be interested in my Development Environment Setup guides. I currently develop on Mac OS X 10.6 Snow Leopard. My recommendation is to install Xcode and MacPorts. I tend to edit everything using Xcode, and I use MacPorts to install pretty much all the various libraries (except Qt, for which it is more sensible to downlod the precompiled Cocoa 32-bit and 64-bit binaries). In terms of developing such that things also work on Linux, as long as you conform to the Single UNIX Specification (i.e. use the authoritative manual pages at the link instead of Mac OS X's man pages) and, other than that, you rely only on cross-platform libraries, then you should be fine. That said, it is reasonable to install a copy of VirtualBox and setup an image of Ubuntu in it for verifying that your code compiles and runs under Linux.

Michael Aaron Safyan
Thanks for sharing your experience Michael. For C++ code developed on MacBook Pro (C++ code without UI, a pure functional library), is the effort big to migrate to Linux platform? How about Java programs?
George2
@George2, no problem. It's basically no effort to migrate from Mac OS X to Linux, assuming you limit yourself to the functions (and associated behaviors) specified in the Single UNIX Specification. The only tricky part is the build sytem, for which I recommend that you use CMake when developing C++ applications. As or Java, since Java is platform-independent, you won't need to make any modifications to deploy on Linux or Windows unless you make use of Java Native Interface (JNI) code.
Michael Aaron Safyan
I forgot to mention, Java comes installed out-of-the-box on Mac OS X.
Michael Aaron Safyan
Thanks Michael! I find XCode is not free? Any free (better open source, but not a must) tool for C++ development?
George2
Xcode is free. It shipped with your Mac and you can download the latest version if you create a free ADC account.
Rob Keniger
Hi Rob, I opened Macintosh HD, then click Applications, XCode is not showed there. Where to find the Xcode shipped with my Mac?
George2
@George2, it is free. You need to register an Apple Developer Connection account with Apple, but doing that is free. There is also a copy of Xcode that comes with the operating system installation DVD.
Michael Aaron Safyan
Thanks! I find the download info for iPhone XCode, but not find Xcode for MacBook Pro. Appreciate if you could share the download Url.
George2
@George2, both run on the MacBook Pro; the only difference is that the iPhone version includes the iPhone SDK. Both will work perfectly fine for developing on and for Mac OS X.
Michael Aaron Safyan
@George2, BTW, I recently updated my development environment setup instructions; you might want to take a look at them again.
Michael Aaron Safyan
Thanks Michael! I opened your updated document online and finally goes to the link => https://developer.apple.com/mac/. And I only need Mac OS, no need for iPhone/iPad. The Mac OS version of the MacBook Pro is 10.5.8, but from the link I did not find XCode for Mac OS 10.5.8. Any ideas what is wrong?
George2
I find a link for "Download Xcode 3.2.2 and iPhone SDK 3.2 for Snow Leopard", but my MacBook Pro is using Mac OS version 10.5.8, could I use XCode 3.2.2 for Snow Leopard for my MacBook Pro?
George2
@George2, look at the instructions for Mac OS X 10.5 Leopard, instead of the instructions for Mac OS X 10.6 Snow Leopard, then.
Michael Aaron Safyan
I am new to MacBook Pro. The OS version showed from "About this Mac" is Mac OS 10.5.8, not Mac OS X 10.5 Leopard -- i.e. without the term "Leopard". Is "Mac OS 10.5" the same as Mac OS X 10.5 Leopard"?
George2
@George2, yes. Version 10.4.* is "Tiger", version 10.5.* is "Leopard", and version 10.6.* is "Snow Leopard". However, I should point out that the 10.5 and 10.6 should make it fairly clear.
Michael Aaron Safyan
Hi Michael, I tried to find out where to download XCode for Mac OS 10.5, but failed. I only find XCode for Mac OS 10.6. Appreciate if you could share me the link for XCode on Mac OS 10.5?
George2
The download link for Xcode 3.1 (which is the last available version for Mac OS X 10.5) is given in my setup instructions for 10.5. However, to make things simple, here is the link: https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20414
Michael Aaron Safyan
Got it, thanks!
George2
+2  A: 

Others have already commented about XCode and you commented "How about Java programs?" so for Java on OS X, basically every single Mac ships with Java since a very long time.

You MBP probably has Java 1.6.

Two very popular Java IDE on Macs are Eclipse and IntelliJ (I guess NetBeans works on Mac too but nobody here is using it and it's been a long time I haven't checked NetBeans, I'm a long time IntelliJ IDEA user).

In addition to that, OS X being a Un*x OS you get very powerful shells and you may want to learn how to use a Un*x shell (like, say, Bash).

Welcome and good luck!

Webinator
Thanks! 1. I think you mean I can writing/debugging Java code on MacBook Pro using Eclipse? 2. How about C++ code, what is your preferred IDE?
George2
@George2: 1. yes definitely: you can write Java code on a MBP using Eclipse. Here we're working on a cross-platform software written in Java, I'm the only developer developing on a Linux workstation (IntelliJ IDEA), while the other developers are working on the same software, from Macs running Eclipse... 2. I haven't coded in C++ in a vveerryy lloonngg time (I *think* last time I've done C++ was in 1990 using Watcom C++ but I'm not even sure anymore... A very distant memory :) But AFAIK you can use Eclipse to develop in C++ too: it's not just a Java IDE anymore.
Webinator
A: 

mmm..interesting, as for me gor monitoring bandwidth I use ProteMac Meter

rut