Why I use a MacBook Pro for PHP Programming

  • Ross Edlin
  • 29th Dec 2020

Are you looking at Programming PHP for the first time and looking for advice on whether to invest in a MacBook Pro?

I get it, there's soooo much information out there, it can be overwhelming.

First things first, relax, you're in the right place. Sit back, grab a drink, some tea and biscuits or whisky and enjoy the ride.

My name is Ross, I've been writing PHP for over 10 years and worked with companies such as Baxter, a Fortune 500 company building Medical Grade Software which is FDA approved and e-commerce software for FiveGuys, the burger chain with over 1500 stores worldwide.

In this article, I'm going to walk you through why I use a MacBook Pro and why I think it's the BEST for Programming PHP code.

#1 - Unix Based OS

MacBook Pro uses a Unix based OS.

Why is this important when Programming PHP?

Because most developers will use PHP on Linux based OS like Ubuntu or Debian and Linux is based upon Unix.
So that means nearly all the commands are exactly the same when using each OS.

A good example is cd (Change Directory).
On both Mac and all Linux flavours it's cd, whereas on Windows it's dir.

Let’s say in a different world, you’re developing on a Windows machine and of course, you’re running your website on a LAMP stack, so it’s Linux based.

It's irritating when you keep flipping between the two operating systems, typing the wrong command while you're in the flow, only to remember, wrong OS.

#2 - Native Terminal / Shell Support

Additionally, because a MacBook Pro uses a Unix based operating system, it supports terminal and shell, natively, this is huge when programming PHP!

Gone are the days of having to learn two scripting languages, batch and shell.

When you build your website, you usually need to have a few scripts to build initialise the site or manage some migrations.
Whatever you want to do....

You can perfect that script in one language.

Shell.

In addition, you also have a package manager similar to APT in Ubuntu and Yum in CentOS.

Homebrew.

Homebrew is Mac OS X’s unofficial but very well supported package manager.

Installing composer, NPM, NodeJS, wget and all the other wonderful commands you wish you could easily setup on a windows machine are a single command away on Mac OS X.

On top of all that, you can easily setup Docker, Vagrant, Kubernetes, etc easily.

#3 - Safari Support

This is critical.

As a web developer, you need to test your website on all browsers!

Safari is used by 19.24% of the entire world according to stat counter, as of November 2020.

Unfortunately, Apple are dicks on this one.

They have stopped officially supporting Safari for Windows and have never supported Linux.

So the only way to test Safari is to own a Mac.

I don’t why they have done this, maybe you can tell me in the comments down below.

I’d love to know!

Yes... You can download older versions of Safari.

However, as a web developer, you’re supposed to test your website on a device as close to the end user as possible.
End users are usually using the most recent version because of auto updates.

Which kind of defeats the point.

#4 - Windows vs. MacBook Pro

From 14 years old, I wrote all of my PHP code on a Windows machine, starting with Windows 98, then XP, then 7 and finally Windows 10.

Avoiding those god awful operating systems called Windows Vista & Windows 8.

PHP is not bad on a Windows machine, but it’s irritating and often time-consuming to solve really tiny issues that shouldn’t really be an issue.

CRLF

One issue you only get on a Windows machine is the annoying CRLF issue.

For those who don’t know, this is the line endings for text files, including your code.
On Windows all lines end with \crlf and on Linux & Unix it’s \lf.

This causes an enormous problem in teams who use different operating systems.

When you download the code onto a Windows machine, it automatically changes every one of the potential 10,000 files in the code base, to use \crlf line endings.

Meaning every file has now changed on every line.

Good luck comparing code changes when everything has changed.

Viruses

Windows is known for getting viruses, which are basically none existent on a MacBook Pro.

You won’t wake up one morning finding your MacBook Pro full of viruses, you won’t have to install heavy virus protection software which slows your machine down.

Registry

The Windows Registry is essentially the main configuration for the entire operating system.

It’s a flawed design because of one major point.

Anyone can change the contents.

That’s what viruses sometimes do when they attack your system, they mess around with the registry and reconfigure your machine.

Bootcamp

Worst-case scenario, if you have a MacBook Pro and you do need to use a Windows Machine.

Mac OS X supports dual booting to Windows, officially.

Once installed, all you need to do is shutdown your machine and boot it up holding the alt key, it’ll offer you the dual boot options and you can select Windows.

#5 - Linux vs. MacBook Pro

If you’re strictly talking about Programming PHP, then honestly, Linux is the best.

My personal preference is Ubuntu.

But, a MacBook Pro does a lot outside of just programming PHP that you will find essential in a business environment.

I spent a year of my life solely using Ubuntu 18.04 as my main operating system, day to day at work.

The primary reason it’s so good is because most web servers that run a PHP website, use a Linux flavour to host the website.

Ubuntu being one of them.

If I was to rank strictly on PHP...

  • Ubuntu would be a 10/10.
  • Mac would be 9/10.
  • Windows would be a 6/10.

However...

Try using simple things like Skype for Business or Microsoft Word and you immediately run into problems.

The number of times I had to pull out my phone just to have a business meeting because my laptop does not support Skype for Business was irritating.

The worst part was the embarrassment of not being able to share my screen and having to explain in a meeting of 20 very high up executives that I don’t have Skype for Business on my laptop was embarrassing.

Adobe is another huge issue on Linux, it’s just not supported either!
Imagine as a web developer and not being able to use Adobe Photoshop…

This is devastating for anyone in the industry!

Photoshop is the industry standard photo editing software.

Imagine a client you’re working with, sends you a PSD file (Photoshop file) and you can’t open it.

You have to call them back and ask for it to be sent in a different version…

  • It’s embarrassing
  • It wastes time
  • Annoys the client
  • Potentially loses a client

This is the primary reason I bit the bullet and purchased a MacBook Pro, because I wanted the best of both worlds.

Something the industry supports and works extremely well when programming PHP.

#6 - The Negatives

I like to be honest in my life, and so I'm going to point out a few negatives with buying a MacBook Pro.

The price.

Oh my is it expensive.

I knew the day I went down the path of buying my first MacBook Pro it would be a costly endeavour.

I shelled out £2,400 ($3256 USD).

Admittedly I bought the most expensive one in the shop, the 15 inch MacBook Pro with Touch Bar and a bigger storage drive.

The Apple Way

This is a love hate thing, for me.

Apple controls everything about their products and there is little you can do to change it.

Unlike the PC which allows for simple changes or huge changes.

However, because of this, everything works first time on a MacBook Pro.
So essentially, you’re trading the freedom to customise your operating system with the benefit of it working 99% of the time.

#7 - Final Thoughts

I personally love my MacBook Pro and would never consider trading it back for a Windows Machine.

It might of cost me in a couple of areas, my wallet being one but it was well worth it in the long run.

I’d love to hear what you think!

What do you use?

  • Windows?
  • Mac?
  • Linux?

I look forward to hearing your thoughts.

Ross