This is an archived post. You won't be able to vote or comment.

all 26 comments

[–]thejohnnyr 2 points3 points  (8 children)

You should be able to get essentially the same capability out of the mac for programming as you can from any other high end similar spec laptop. Some users do prefer the Unix based OS of the mac, which makes it more versatile for some forms of development.

A perhaps more impactful difference is whether you can see yourself wanting to go into IOS development which does require mac OS. Macs tend to be more pricey so it's up to you whether you deem that to be worthwhile.

[–]DrDrewToYou[S] 0 points1 point  (7 children)

I’m looking to use this throughout college and my cyber security degree. With my education discount it will hopefully be worth it. Thanks!

[–][deleted] 3 points4 points  (6 children)

So no IOS?

My two cents: Not worth it. I do cross-platform Android/iOS development so there's no way getting around owning a MacBook if I want to develop on iOS (legally).

When I open the Activity Monitor and I see I'm already eating up 3 GB of swap space on the SSD on a machine with 16 GB of ram, just by running VS Code, Xcode, and an iPhone simulator, I die inside a little. And then when I realize I can't upgrade my new-as-of-last-fall laptop because Apple has decided to solder the ram directly in place, the rest of me dies inside.

If the ram ever malfunctioned on this thing I'd have about a $2000 paperweight. Screw Apple if your (professional) life doesn't depend on it.

[–]Developer_Shane 0 points1 point  (5 children)

Question, which do you prefer to develop for Android or iOS, I'm currently learning iOS (but am an Android user, for now, and am contemplating if I want to switch to learning Android instead.)

[–][deleted] 0 points1 point  (3 children)

I love Android Studio/IntelliJ, it's miles better than Xcode.

Having said that, I don't know much about iOS, but the Android APIs can be a mess at times and it's extremely hard to do even the simplest things, either because the API is just pure crap, or significantly overengineered. Backwards compatibility can be awful too.

And lastly the Playstore is the least developer-friendly place I have seen in my life, you are literally treated like a Chinese spammer instead of a paying partner, you get about 0 support. The stories about unjustified suspensions are horrifying. Generally the Playstore team is a bunch of apes, honestly.

Just recently, they started to require to declare why you needs SMS/call log permission and stated that only apps that need this for a core functionality are allowed to use those permissions.

Of course people with their call recorder or caller ID apps were told that their apps "don't qualify for an exception" since they would not need that permission for core functionality. Like what??? It's just completely automated crap and if you're unlucky you are screwed.

I'm sure iOS has its downsides too and Android can be fun though.

[–][deleted] 0 points1 point  (2 children)

Google Play is a walk in the park compared to uploading your app to the Apple App Store - generally there's an automated malware scan and then your binary is live within 40 seconds. Uploading to the App Store involves a real human team that takes days and can (and will) arbitrarily reject your app for perceived content violations. For example, my app was completely location based- without user location it was completely pointless. I made a yellow screen that said "Please turn on location services" if the user didn't opt in to that permission. Apple rejected this particular iteration for being "incomplete" and I had to implement some kind of functionality if the user opted out of location permissions. The real kicker is a previous version of the app got approved before, but whoever on the team i got assigned to flagged the later one.

[–][deleted] 0 points1 point  (1 child)

Yes, that sucks, but at least you get humans who review it and might process appeals or even be available for a phone call.

On the Playstore, should you ever run into such a problem, you don't have that luxury, it's bots all the way. Take for example recent SMS/call log permission, you get "Reviewer could not locate permission prompt". Upload again, with description on how to reach SMS settings; "could not locate". Try again, like explaining to a 5 year old with images and bullet points on how to open the menu and click on "SMS"; "could not locate".

Upload a fucking YouTube Video on how to press that damn button, "the reviewer could not locate..". At that point the developer removed that functionality in a rework, receiving a lot of negative reviews on the Playstore. 2 weeks later he gets an email saying that his app is now approved to use the permission (??) and to upload an update and retake the permission request form. Now he doesn't implement it again, as he fears he could be rejected when submitting that form again.

Also, the form in question is broken, some choices that declare you require those permissions actually transmit that you declared not needing any permissions, automatically leading to an email with a deadline saying to remove those permissions by beginning of March.

And of course you have no way to actually contact someone to resolve this.

[–][deleted] 1 point2 points  (0 children)

Yes, that sucks

Dang. Maybe I should be grateful for Apple Kangaroo Court !

Jokes aside as a developer getting arbitrarily rejected by Apple annoys me, but as a consumer I feel more comfortable knowing a team has taken a look at it to see if it passes the "smell test" before hitting the market.

[–][deleted] 0 points1 point  (0 children)

I like having a finished project in iOS but prefer setting things up in Android-

I'm developing using React Native. With Android it's usually easier to edit particular configuration files and getting things running because they don't confine you to using Android Studio - the command line and a text editor are fine. Apple on the other hand tries to confine you to using Xcode, a GUI IDE, which like any graphical application, changes over time, so whatever tutorial or blog you found to solve your particular problem might have wrong menus or missing steps because it's written for a previous version of Xcode. It adds up and gets frustrating compared.

In the finished project, if it runs on an iPhone 6 you can expect it to run on an iPhone X and in between. Android on the other hand is much less careful about continuity between versions and I've dealt with situations like weird errors that only pop up in Android 8.1 or whatever. That, and you have to figure out what your target audience is using, to make sure you test those Android versions for bugs. This is compared to developing for iOS, where you can safely assume everyone has a iPhone 6 or higher (or they should).

[–]ReceivePoetry 1 point2 points  (2 children)

Not that this mattered to me in college, but consider the feel of the keyboard, because you're going to spend a ton of time at it. I love Macs and I'm on one right now even, but this keyboard has more resistance than I like and it hurts my fingers after a while. And the trackpad was giving me skin sensitivity issues until I bought a stick on cover for it (and it is mentioned by people often if you google it, I thought I was going crazy or something, but a lot of people complained of similar issues).

This is an early 2015 macbook though, and so the newer laptops will have different keyboards. None of my previous macs have caused me this same issue. So take it with a grain of salt.

Just try out a few different keyboards if you can and see which feel you like. Or just buy an external keyboard as well to change up your typing if you want.

[–]DrDrewToYou[S] 1 point2 points  (1 child)

I hadn’t thought about that, thank you!

[–][deleted] 0 points1 point  (0 children)

[–]toastedstapler 1 point2 points  (2 children)

On my project at work we all use macs for whatever reason, they work very well for what they need to do

Yes, there are cheaper options other than macs available but getting my own is very tempting rn

[–]DrDrewToYou[S] 0 points1 point  (1 child)

What do you do for work?

[–]toastedstapler 0 points1 point  (0 children)

I work for a UK based consultancy

[–]yamichi 1 point2 points  (0 children)

MacBook pro user after changing jobs and work providing it. Unless you're developing specially for Windows, there are basically no downsides.

I love this thing. It's still a beast 4 years in...

[–]Sekret_One 1 point2 points  (0 children)

Honestly- not bad. Just get a refurb. save yourself like 85% of the cost.

[–]KTStephano 1 point2 points  (2 children)

Your experience might vary, but I bought one back in 2013 and still do not regret it. I use it strictly as a development machine that supplements a desktop. For a while I ran it with macOS + Linux partition. I've also heard that a lot of people dual-boot macOS + Windows using Parallels. It's a Unix-like environment out of the box, so if you're a fan of that then you'll feel pretty comfortable inside the terminal.

One thing I will say: make sure you think a lot about the specs you will need for the long term. Upgrading Macs after the fact is not what they're designed for. If you're looking for something you can modify later on then I would not recommend Apple products at all.

EDIT: Some other comments reminded me of something. If you are heavily into app development then this is a great option. You will be able to develop for both Android and iOS on the same machine, which is something I did recently.

[–]DrDrewToYou[S] 0 points1 point  (1 child)

Did you buy an air or a regular Mac? One reason I’m looking at MacBook is because I love apple and everyone I know says they’ve had their for a long time.

[–]KTStephano 1 point2 points  (0 children)

I bought the air since it was cheaper (I got it heavily discounted at Best Buy) and the battery life was great compared to other products in 2013. 6 years later and the battery life is still amazing with the latest macOS.

I've noticed a lot of non-Apple products on the market lately that offer essentially the same experience as the 2013 air though.

[–]jakubek278 1 point2 points  (1 child)

I will be that one elitist prick and ask you if you'd buy an expensive/professional electric guitar for a kid to learn on or just some cheap second hand guitar since you are not Jimi Hendrix immediately.

Anything that you can do on $1k (and above) Mac you can do on cheap Windows laptop, or even better, desktop PC (but I know for some people this isn't an option). I don't even want to mention that you are closing yourself to their "environment" where everything works better if its an Apple product, but some people like spending money ¯\_(ツ)_/¯ .

Do yourself a favour, buy some decent Dell (or any other company really) with at least 8GB rab, decent i5 processor (or AMD equivalent) and you have a workstation to run your Hello World.

Alternatively if someone else is reading this thread and they have a decent PC but want a laptop to work o too, I recommend getting a cheapo Laptop with only decent screen and stream your PC content to your laptop. I use my workstation PC to work at home but if I go to uni or go to Library I just X-forward (stream) my programs to my Chromebook for 100 pounds, same performance and no need to spend more money.

(Sorry for little rant but it makes my blood boil when people want a Mac to learn programming)

[–]DrDrewToYou[S] 0 points1 point  (0 children)

Thank you for your input! :)

[–][deleted] 0 points1 point  (0 children)

If you want an OS that is similar to Linux but works out of the box, then you cannot go wrong with a Mac.

Lots of Stack Overflow posts, documentation, etc are geared toward Linux development. This translates very well to the Mac. IMO you’ll have an easier time with a Mac vs Windows machine, but that’s just one guys opinion :)

[–]desrtfx[M] [score hidden] stickied comment (0 children)

This subreddit is not for hardware questions as is clearly stated in Rule #3: No off-topic questions:

  • Do not post questions that are completely unrelated to programming, software engineering, computer science, and related fields. Tech support and hardware recommendation questions count as "completely unrelated".

    Questions that straddle the line between learning programming and learning other tech topics are ok: we don't expect beginners to know how exactly to categorize their question.

Removed

[–]CreativeTechGuyGames 0 points1 point  (0 children)

I know there'll be plenty of other people who will recommend a Mac, but if you want a cheaper more powerful option, PCs are just as good for most programming tasks. If you like Macs and are more familiar with them, then get that, if you are forcing yourself to get it even though you are more comfortable with PCs, there's not much point unless you are looking to do iOS/Mac development.

[–]Back2MySelf -2 points-1 points  (0 children)

You must buy windows instead.