Software Engineering Student

Discussion in 'Buying Tips and Advice' started by vectus, Apr 4, 2010.

  1. vectus macrumors member

    Apr 4, 2010
    So I have been anti-apple for a long time until I recently grew up too fast. I finally did research instead of being an ignorant fanboy and decided to invest money in Apple for a few reasons:

    1) The longevity (I need a notebook that will last me for around 2 years).
    2) Reliability (When I build a PC I always do research on the individual parts I use to make sure I am getting a quality product. Apple seems to use some great parts)
    3) The OS (I develop currently using Ubuntu, Fedora, and CentOS. I am semi-comfortable with the Unix platform. I really like that OSX is Unix based).
    4) The design is incredible. This one just speaks for itself.

    I am not looking to switch. I think it is incredibly foolish to switch especially for someone in my career path. I need to be well-versed in all aspects of software. I have a pretty insane gaming machine atm running a 3x1 Eyefinity setup which fulfills my Linux/Windows needs.

    I am looking to purchase a Macbook Pro 15" for school. I recently had a 17" PC laptop and did not like the size, especially when going from class to class. I am going to wait for the new hardware refresh before purchasing. I am in no rush to buy one.

    I was really wondering if anyone else uses a Mac to develop and what sort of limitations do you encounter. There are more development tools available on Windows, but I am sure there are great alternatives for OSX.

    Thank you if you read the whole post. This is a pretty big purchase for me, educationally speaking.
  2. JoeG4 macrumors 68030


    Jan 11, 2002
    Bay Area, Ca.
    Developing on OS X is nice, but the documentation kinda sucks. There's like 10 guides on how to do cocoa, but they're all somewhat outdated by some stretch or another.

    OTOH, the dev tools are pretty decent, different than Visual studio however. In fact, this is one thing you'll need to remind yourself if/when you get a mac:

    It's different.

  3. Matthew Yohe macrumors 68020

    Oct 12, 2006
    It will be a great device for you, especially if you are already comfortable in Unix.

    What limitations would there be, since you can run any operating system on it?

    I would recommend skipping Parallels and VMWare and look into VirtualBox. Its only disadvantage compared to the other two are that it doesn't handle new DirectX features etc. But you have a gaming machine for that, anyway. Otherwise, it's actually faster than the other two because it doesn't try to do many things, it just gives you an environment to install whatever OS you'd like, and that's it.

    What development tools on Windows are you referring to?
  4. Matthew Yohe macrumors 68020

    Oct 12, 2006
    I wouldn't agree with this. The documentation is thorough.
  5. miles01110 macrumors Core


    Jul 24, 2006
    The Ivory Tower (I'm not coming down)
    Why are you wanting to pay a premium for an Apple notebook when you're just going to run *nix on it?
  6. Matthew Yohe macrumors 68020

    Oct 12, 2006
    If I read it right, he doesn't want to "switch" meaning move everything over, I don't think he intends to just wipe and run a flavor of unix.
  7. vectus thread starter macrumors member

    Apr 4, 2010
    Visual Studio in particular, but I learned there are some great tools like Eclipse.
  8. vectus thread starter macrumors member

    Apr 4, 2010
    I will be running both. I really need to learn OSX (especially for my job). I also need to be able to work with and develop on OSX.

    I think the design of the Macbook is well worth the price by itself. After doing price comparisons I realize that the Macbook really isn't that much more.
  9. jpyc7 macrumors 6502

    Mar 8, 2009
    Denver, CO
    I think development on the Mac is generally more complicated compared to Linux. I have only dabbled a little bit in SW development on the Mac, so take my thoughts with a grain of salt.

    Here is why I find it more complicated:
    1. Mac OS X is built for 2-3 "architectures: PowerPC, Intel 32-bit, and Intel 64-bit. So you end up having to figure out dependencies among libraries and making sure that you build the right version. There are so-called "universal" libraries that can be used on any of the 3 architectures. Your linking has to match correctly.

    2. Unlike using Fedora repositories, I don't believe Apple provides the same level of functionality for installing software packages from the open source community. Of course, there is MacPorts, but it is not affiliated with Apple.

    3. Because fewer people develop on Mac (compared to Linux), there's fewer internet resources for it. For example, I was considering using a Python-mysql module called "oursql" instead of the older module called "mysqldb". It might work, but no web pages about experience building it for Mac OS. So I installed the older module which did require compiling from source and making some tweaks (which were documented online).

    Basically, I got a Mac for home because I prefer Apple's consumer software and ease-of-use. I don't have to develop SW at home unless I want. At work (where I do computer programming), I use Linux at the target platform and Windows as my corporate PC (for email).
  10. Matthew Yohe macrumors 68020

    Oct 12, 2006
    Yeah, eclipse is probably the best Java IDE on Windows too.

    XCode will be fine for any C, C++ coding you'd like to do. Or anything else for that matter, it's a great environment.
  11. vectus thread starter macrumors member

    Apr 4, 2010
    Thanks for the great information every one. I will most likely use VirtualBox in OSX to install Linux.
  12. Winni macrumors 68030


    Oct 15, 2008

    You can do C and C++ development in Eclipse, too. And Python. And ActionScript. And whatever else comes to your mind.

    Eclipse is universal and it runs on any operating system out there, from Windows, Linux, FreeBSD, Solaris to Mac OS X.

    The same can be said about Netbeans. But now that Oracle has purchased Sun, I wouldn't invest anything in Netbeans anymore -- Oracle already supports two IDEs (Eclipse and JDeveloper) and has no honest interest in Netbeans or in supporting a third environment in general. They'll maintain it for a couple of years because they have to, but I wouldn't expect a bright future for Netbeans.

    Of course, there's also MonoDevelop for OS X, so you can write code in C# for .NET on OS X. However, don't expect this to be in the same league as Visual Studio. -- Nothing -- is in that league.

    There's also stuff like REALbasic and BlitzMax for Mac OS X. Or Lazarus and FreePascal.

    Unless you want to program in Objective-C, there is zero reason to use the Mac-only Xcode IDE. However, you need install Xcode anyway because the package also contains the compilers and other necessary Unix development tools. You just don't have to use the Xcode IDE. But maybe you'll like it. Maybe you don't. Personally, I think using Xcode is like a time travel back to the 1980s.
  13. Winni macrumors 68030


    Oct 15, 2008
    Because some people are actually willing to pay that premium for beautifully designed hardware. And Unixes and Linux run awesome on Apple hardware.

    Besides, OS X - is - a real Unix and even allowed to carry that name. So it's actually more Unix than Linux, which is just trying to be Unix compatible - and not allowed to call itself a Unix.
  14. sanPietro98 macrumors 6502a


    May 30, 2008
    I completely disagree. It is not foolish to switch. I'm a professional Software Engineer (and I manage several other SW engineers). Overall, myself and my teams are more productive after we switched to Macs.

    With one caveat... Use the Right Tool. Trying to use X Windows dev tools proved to be a big headache for everyone (even though it worked). If you use the tools that are native Mac Dev tools (like XCode, Instruments, Interface Builder), you can be more productive and creative.

    You can still be well versed in all aspects of software on a Mac.
  15. UsedMacGuy macrumors newbie

    Apr 5, 2010
    Nothing beats pico on Solaris.
  16. skh macrumors member

    Dec 23, 2009
    I'm about 2 weeks away from finishing my university degree. I was in a somewhat similar position as you before I started. I bought a 15" MBP in first year, and couldn't have made a better decision. I can almost guarantee that you will never use your 'gaming rig' after your start using the Mac.

    I have no idea why you think this.
    You're right about Mac being Unix, thus any of your *Nix apps you can run (emphasis on Terminal and shell level). As for development, I find Mac extremely superior. Just about all of the IDE's are available for mac anyway, if that's the kind of work you're going into.

    Plus if needed, you can install Win under Bootcamp/Parallels/VMWare. I had to for a few classes, as our school subscribed to MSDN so we got all MS software for free. I even found that running Win on a Mac performs far superior to Win on any other vendor anyway, as having the same company that creates the hardware develop the software and drivers makes all the difference in the world.

    I would say that developing on Windows has more limitations, but then again I don't develop Windows applications, and I highly doubt you will in school either. Most likely your assignments will have to compile and run on your departments servers, which are just about always unix anyway.

    Honestly, spare yourself the time required trying to get Windows to work the way you want and just spend your time developing!

    If you're looking for specific development applications or anything, I can happily provide a list.

    I am writing this on my MBP right now, hooked up to a 30" ACD. Still works great, and I have an iMac27" on the way =). Choosing windows over mac for uni/college would be just plain silly (assuming you have the option & $).

Share This Page