Which MacBook for Programming?

Discussion in 'Mac Programming' started by HiSierra, Jun 13, 2017.

  1. HiSierra macrumors newbie

    Joined:
    Jun 13, 2017
    #1
    Greetings, Folks!

    I apologize if this isn't the correct section. I am starting a Masters in Software Engineering with a concentration in Real-Time Game Systems and am curious as to which MacBook is the most appropriate for my level. I'll be spending the first year learning Python, C++, and Java. The second and third years I'll be more involved in graphics development, real-time systems, and game-engine programming. I'm leaning towards the MacBook Air. That said, I'm looking for a MacBook that can get me through the next three years, then I'll upgrade once I graduate. Thanks much!
     
  2. 960design macrumors 68000

    Joined:
    Apr 17, 2012
    Location:
    Destin, FL
    #2
    A MacAir would do well. The 13" screen size would be too small for my old eyes and bug hunting for a long period of time. Having said that, your university code will be small in size and focused so it would work well.

    If you are not delving into XCode for iOS I would recommend a ZenBook:
    https://www.asus.com/us/Laptops/ASUS-ZenBook-Pro-UX501VW/
     
  3. chown33, Jun 13, 2017
    Last edited: Jun 13, 2017

    chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #3
    What's your budget?

    Please explain why you're leaning towards the MacBook Air. That is, which of its features are important (or do you think are important), and what priority do you give each one.

    In my experience, the single most useful feature for programming is display size. You will want to see as much as possible at once, so you don't have to switch back and forth between windows, views, virtual desktops, etc.

    The main thing that's hardest to upgrade is display size. Everything else can usually be supplemented or upgraded, and often quite easily. Granted, it's not impossible to upgrade display size, given DisplayPort, Thunderbolt, etc., but when you factor in adapters, external displays, and relatively poor mobility, everything else is usually cheaper, easier, and more mobile.
     
  4. ChrisA, Jun 13, 2017
    Last edited: Jun 13, 2017

    ChrisA macrumors G4

    Joined:
    Jan 5, 2006
    Location:
    Redondo Beach, California
    #4
    Are you in the US? I ask because here, anyone entering a Masters program in software would have already completed a 4 year degree in the same subject. You would have covered such elementary subjects like learning programming languages in the first year or half year.

    So I'm surprised you'd be at the beginner level.

    But OK, so you are where you are. In my option, having done not much else but write code for the last 25+ years what matters is SCREEN SPACE. The bigger the screen the better. You want to be able to see different parts of your own software each in it's own window also reference material and have room to run and test the current version the program you are creating too. Some people will use multiple monitors.

    Personaly I like my 27" iMac. And don't like multiple monitors. But I also own a 13" MacBook pro and can make do with a 13" screen by using tabbed editors and tabbed browsers but it is not as fast.

    I've also been a university student recently and the 13" screen is as big as I wanted to cary with me. A 13" "air" would work OK but you will want to also need a large, high quality monitor. and a better keyboard.

    One BIG question is the OS you will be using in school. But you can run whatever you like inside a virtual environment on the MacBook. If THAT is required then you will need as much RAM as you can get and a reasonable powerful CPU too. And enough disk space for Two or three operating systems

    Developers do tend to use VMs. I usually keep a Linux VM running and will log into it as if it were a remote computer. I keep a Windows 10 VM in the Mac too. You want 16GB of RAM at least if you heavy user of VMs and four cores. A big monitor to use on your desk at home.
     
  5. HiSierra thread starter macrumors newbie

    Joined:
    Jun 13, 2017
    #5
    Thank you for taking the time to respond. That is a great suggestion for a laptop! I will be developing in Swift for some courses, which is why I was leaning towards the MacBooks. That said, you are correct in that the vast majority of my courses would not require Xcode. I'll certainly look into this.

    Thank you for your response. My budget would allow an entry level MacBook Pro, but I would like to keep costs down as well. In terms of features, I should have mentioned that portability is a concern. That is why I am leaning towards the air as well as the lower cost. I commute three hours round-trip to work/school via the train. The commute gives me plenty of time for studying and coursework. I walk another mile to work from the station (although I could additionally take the subway to my employer's doorstep), but the school is only half a block away. In terms of power/speed, I only want what will get the job done while in school. I appreciate your feedback on display size as I hadn't considered it.

    Thank you for your feedback, I truly appreciate it. Yes, I am in the U.S. The program I'm enrolled adds an extra year for folks, like myself, that do not have an underground background in computer science. It's a quarter system, so the first year (3 quarters) is comprised of discreet mathematics, Python, Java, and C++ to get me up to speed. The second and third years are focused solely on the engineering side.

    Being the second person to stress the importance of screen size, I will certainly make it a priority in my selection. Almost all of the courses are C++ based, with a few courses using Swift. In terms of OS usage, the few instructors and advisors that I've reached out to primarily use Windows, but there are others that code on Macs as well. I'm not certain there's a consensus.

    Again, I truly appreciate the responses and feedback to my query and am open to more suggestions and insights as well.
     
  6. ChrisA macrumors G4

    Joined:
    Jan 5, 2006
    Location:
    Redondo Beach, California
    #6
    Thank you for your feedback, I truly appreciate it. Yes, I am in the U.S. The program I'm enrolled adds an extra year for folks, like myself, that do not have an underground background in computer science. It's a quarter system, so the first year (3 quarters) is comprised of discreet mathematics, Python, Java, and C++ to get me up to speed. The second and third years are focused solely on the engineering side.

    Being the second person to stress the importance of screen size, I will certainly make it a priority in my selection. Almost all of the courses are C++ based, with a few courses using Swift. In terms of OS usage, the few instructors and advisors that I've reached out to primarily use Windows, but there are others that code on Macs as well. I'm not certain there's a consensus.

    Again, I truly appreciate the responses and feedback to my query and am open to more suggestions and insights as well.[/QUOTE]

    As for the OS, a Mac can run Mac OS, Windows, Linux, or BSD Unix and with virtual machine technology it can do serval of these at the same time. A standard PC can run any of those Ones except Mac OS.

    I've actually been to grad school twice, first computer science then education. So they allow you to enter but you need to make up a lot of prerequisites. You need both a 13" for school and if you can a bigger monitor for use on your desk.

    Expect o spend MANY hours getting stuff to work. One thing about CS majors that is no true with other majors (I've done both) is that with CS your stuff has to actually work. It's not like a history paper where you can adapt any opinion you like so long as you support it and get all the citations correct. No, your face detector has to actually detect faces. So you WILL spend long hours using that big monitor at 3:00am

    One more but of advice: Start writing code NOW. The details, the language and all don't matter. Write a text based adventure game or a postage calculator or anything simple. But start NOW. Other in your program will have been doing this from an early age.
     
  7. Toutou macrumors 6502

    Toutou

    Joined:
    Jan 6, 2015
    Location:
    Prague, Czech Republic
    #7
    I'm very happy with my 13" MacBook Pro as my main machine. It's easily powerful enough to fly through the school-related coding (and building and compiling) and at the same time portable enough to carry everywhere. The screen estate is a non-issue on the move and easily solved by a nice second monitor on my desk at home.

    Personally I wouldn't get an Air because of the display (once you go HiDPI, you never go back) and I certainly wouldn't get the MacBook as my ONLY computer, so that would, even now, leave me with a Pro. Without the gimmicky blurry stripe, of course.
     
  8. Supermacguy macrumors regular

    Joined:
    Jan 3, 2008
    #8
    Get a 15" MBP, so you can have a reasonable amount of screen space, and perhaps a better graphics processor. The best advice I give everyone is to buy the most powerful computer you can right now (within your budget). Don't skimp. View this machine as a 4+ year investment. You don't want to be 2 years in and find that its unsupported, has less storage, memory or power than you need. I've gotten 7 years of good service out of my (desktop) Macs.
     
  9. J-mizzle macrumors newbie

    Joined:
    Nov 21, 2007
    #9
    If you're trying to stay low budget I'd probably recommend a used or refurbished (or overstock or whatever) 13" pro from like two years ago. The ones that still have USB 3 and HDMI. Not quite as small and sexy as the new ones, but still pretty damn portable, and you won't need a sack of dongles. You can probably get one with plenty of ram and a decent sized SSD well within your budget. It'll be fine for your needs performance-wise for quite a while, and the retina display really is worth it... the Air is 144x900 but you can run the pro in 1680x1050 mode for a bit more screen real-estate at the same physical size. It may not sound like much, but it makes a difference. Also HiDPi really is nice, especially for reading text at a small size - meaning you can see more lines of code at once!

    tl;dr: I'd really recommend the pro over the air for the screen alone. Also, refurbished/used deals are your friend!
     
  10. maculateConception, Jun 15, 2017
    Last edited: Jun 16, 2017

    maculateConception macrumors regular

    maculateConception

    Joined:
    May 28, 2017
    Location:
    Die Bundesstaat Kalifornien
    #10
    Assuming your budget allows, which you have not mentioned, I would definitely not choose the Macbook Air. I would choose the Macbook Pro, for a simple reason ... each laptop/desktop model has a specific purpose and targets a specific niche of users.

    The Macbook Air, because of its ultra portability, and affordability, targets light users who're constantly on the move but who do not require much heavy duty performance. This means you're not getting the latest/greatest processors, and roughly half the max RAM a Pro would come with. This means the Air sells to your average student who needs Word/Excel and internet access or the corporate employee who gives presentations and needs to browse YouTube/Facebook on those long plane rides across continents. It does not cater to power users doing heavy duty graphics work or running memory hogging IDEs like XCode. It is simply not meant for power users.

    However, as the name suggests, the Macbook Pro is built for power users. It uses the more recent/powerful Intel processors, provides more expansion ports than the Air, and is more configurable/upgradable than the Air. It is really not a tough decision to make to get the Pro, again, assuming that your budget allows it.

    As a former Computer Science student myself, I can attest to the need for speed. You want to be able to efficiently run your programs and have multiple windows open to look at reference docs while looking at code. And if you're doing anything with an IDE like XCode (your Swift programming), Eclipse or IntelliJ (Java programming) lemme tell you - you're gonna need a ton of memory, first of all. IDEs go through memory like water.

    As someone else mentioned, if you think a laptop kicks ass today, just wait two years and you will find yourself lagging behind, especially since you're in the realm of power users (programming/game-engine graphics development).

    Go pro. Easy !
     
  11. Bug-Creator macrumors 6502

    Bug-Creator

    Joined:
    May 30, 2011
    Location:
    Germany
    #11
    I have from time to time done some developing on an 12" iBook (1.33GHz,1.5GB and 1024x768) without much problems.

    Sure we are talking bout hobbiest project, but at several MB of sources spread over 100+ files it's for sure bigger bigger then anything you'll ever encounter in class.

    So CPU/RAM ain't no issue as long as it can run the OS and whatever editor/compiler/SDK your using.

    Screen real-estate will be major issue on any laptop (even a 17") so you have to take some effort to setup your environment accordingly.
     
  12. HiSierra thread starter macrumors newbie

    Joined:
    Jun 13, 2017
    #12
    Thanks much to all for taking the time to reply. I'm now leaning towards a refurbished 15" MBP. I appreciate everyone's assistance.
     
  13. 960design macrumors 68000

    Joined:
    Apr 17, 2012
    Location:
    Destin, FL
    #13
    The 15" MBPr is my go to machine for development. I truly use it three times as much as I do the iMac27, Twin Mac Mini Servers with 49" 4K monitor or the 15" Zenbook 4k with touch screen.

    The MBR15 is the perfect weight to power to screen size to awesome for me. I think you will be very happy.
     
  14. zephyr2095 macrumors newbie

    Joined:
    Oct 22, 2013
    #14
    I suggest you get a Retina Macbook Pro (not the new one) with i5 and get at least 8gb ram. You can save some money by buying refurbished. And get at least 256gb ssd.
    This machine should last at least 3 years.
     

Share This Page