Question Mac or PC for programming?

Status
Not open for further replies.

Warlock315

Honorable
Dec 11, 2013
3
0
10,510
Hello,

I've been part of the Minecraft community for a couple years, and so far it's been the only influence on me to learn programming. Now I doubt I'll be coding Bukkit plugins for a living, so when I mean "programming" I'm thinking of starting with the basics, learning Java, HTML + CSS. Then eventually moving onto more advanced languages, like C+, C# and the whole enchilada.

I completely understand programming isn't easy, and it takes lots of devotion and time. But being 15 years old at the moment, I'm thinking that hopefully being able to learn some of these skills, might help me out in my future. Which is where I have a few questions on how to start off.

First of all, let's talk Hardware! I'm planning on investing in a new machine to use solely for coding/learning. I'm currently looking at a 13" Macbook Air, running OSX Yosemite, 8GB RAM, Intel i7 (up to 3.3GHz), and 128GB SSD. Alongside the Macbook, I'm planning on picking up a 1TB External hard drive. Here's where I need help:

Before I start getting hate about Apple. Let me make this clear. I'm more interested in using a Macbook, because I've dealt with Dell, HP and iMac's in my past, and Apple usually tends to outlive any of my other machines. So sticking with Apple, is a strong factor in my decision. Also, the new Macbook Air's have a strong 12 hour battery, which is EXTREMELY important in my decision, as I am frequently travelling by car, plane, train, etc. So the portability factor is a strong leader for Apple. As for when I'm at home, I plan on getting a 30$ adapter so I can use the macbook air with a 24" VGA Monitor, and leave the Notebook with the lid closed for most of the time.

In terms of pure Hardware, will the Macbook have any struggles at all with running ANY necessary programs used to code, aswell as having a few other programs open such as Chrome, iTunes and Skype open in the background?

Second of all, let's talk about Software. I've heard in the past that Apple has had a weak relationship with Java, and that's why it tends to be slower to get updates pushed onto OSX. But apparently with the release of Mavericks, it's been a bit more smooth in terms of software updates with Java? Like I also mentioned, I have absolutely no prior knowledge to coding.

So for somebody who's planning on having a good start learning, does OSX in general work well for coding most languages? If so, which ones does it include, or is limited to?

To finish this up, I'm basically just wondering if a Macbook would be a good starting system to get into the Coding industry, and I'm planning on using this Notebook to about 3-4 years. Also note that the current computer I'm using, has much lower specs than the Macbook Air I mentioned.

Thanks
 

Byte70

Reputable
Jul 23, 2014
394
0
4,960
PC. More versatile. Like 75% of programs aren't available for mac and they're harder to learn on because of that. Macbooks are overpriced as well.

As for the list of programs, In my experience it can run

Java
C++
Objective-C
CSS
HTML
Swift

fine, but it can't run even close to as many languages as PC.
 
Well a lot depends on what you plan on coding for. Coding in C/C++, etc, is all about making a program for a specific platform, so getting a Mac, you are only going to be able to easily write, compile, and test Mac programs without ever getting an experience with Windows API's, Windows UI, etc, which let's face it, runs 95% of the desktop computers out there.

For CSS/HTML/etc, it doesn't matter, you can make a website on your phone.

Now you do have the option to run VMWare or some other virtual host and buy and install Windows on it, and then be able to run some windows stuff on your mac,

A 13" screen isn't the best for any kind of coding, regardless of Mac or PC. Getting deep into coding, you can easily use 3-4-5-6 monitors for different things all going at once.

You can go to edx.org and sign up the free harvard into to programming course. Try it, see how you like it, if you can stick it out through the course, etc. It's all platform independant, so you don't have to worry about PC/mac, whatever. If you can stick it out and pass the course and want to pursue it, then maybe drop 2k+ on a laptop for programming. This will give time to decide if this something you want to really do or not.
 

USAFRet

Titan
Moderator
First off....a 13" laptop is, IMHO, less than optimal. Far too small.
Secondly - longevity. I have Dell and Sony laptops older than you. All still work.
Thirdly - the OS matters far less than whatever IDE you are comfortable in. If you want to build Apple stuff, then something with will incorporate ObjectiveC easily will work. And work easier on an Apple platform.
If you want to build 'other stuff', then maybe an Apple is not the best path.

If you're looking to write JavaScript or HTML, either.

What is it you're looking to make?
 

Warlock315

Honorable
Dec 11, 2013
3
0
10,510


I can foresee myself programming IOS applications sometime down the road.

 
I'm sure that a MacBook Air with an external display would make a good development machine. (13" is far too small for serious work - I find a 24" display a little too small at time). But I would highly recommend going for a bigger SSD. Be aware that the battery life will not be the optimistic 12 hours if you are using it for development.

As for software, I can't think of any language that is available on a PC that is not available on OS X, and there are a good few that exist for OS X but not Windows. And there's probably a better selection of other development tools for OS X than Windows (after all, it is just Unix). I'm not convinced that you are getting the best value for money with an Air but if that doesn't matter then go for it.
 


Can you list a few languages that are available for Windows but not OS X (you have already done it the other way round!).
 
To put your question another way, which platform is better for programming - Windows or Unix. TBH, it's a no-brainer IMO. Whether that Unix is OS X, or Linux, or FreeBSD makes little difference. OS X has the unique advantage that, on top of everything else, it lets you program applications for iPhones and iPads, which are quite a large market. Of course Windows, or another Unix, lets you program for Android devices - but so does OS X. So, unless you are interested specifically in programming for Windows devices, OS X gives you the widest coverage.
 

Peskyleo

Reputable
Jul 31, 2014
47
0
4,560
As iJack said OSX does give you the widest coverage. The MacBook Air should entirely be able to run Xcode and Unity3D which are both development applications (Unity being more of a game engine). The internal graphics of the i7 should be able to handle Unity. Some people believe that with unity you can only achieve low quality games; but look at the graphics of "The Forest"... like them? Made in Unity. Unity also supports a variety of different languages such as:
• Javascript
• C#
• Boo
I believe there are even more but i'm not sure. Also with unity you will be able to export games for many platforms. Such as web, windows, mac, xbox, playstation and IOS. This is something that you can't do on windows, because once you have exported for IOS you'll have to bring it into Xcode, which doesn't exist for windows. The only problem i see with you buying that computer is the screen size. I'm not sure how comfortable you'll be coding on a 13" Notebook.
 

P Wheeler

Honorable
Jan 29, 2014
48
0
10,660
Macs have built in python support as of Terminal, but Linux has piles of stuff, as does Windows. If it's the programming only, and you dont want a super powerful computer, you could get a Raspberry Pi. Its not fast or easy, but it only cost me $50 AUD.
 
Probably correct. But you haven't listed any languages that are supported on Windows but not OS X despite the claim that "it can't run even close to as many languages as a PC". And I can't think of any.

On the basis of languages supported a Mac is clearly the better choice.
 

Byte70

Reputable
Jul 23, 2014
394
0
4,960


You are the "Programming Expert" here, but I strongly lean towards PC for versatility.
 
I'm not claiming expertise. i was just trying to get clarification of your statement that there were many languages that are available on a PC but not a Mac. I still can't think of any so I'm interested to know which languages you were referring to.

In what way is a PC more versatile than a Mac for development?
 
Status
Not open for further replies.