Recs.
Updated
SpecsUpdate
Pros
Pro One of the best SSDs that can be found on a laptop
With read speeds at 3.1Gbps and write speeds at around 4.7Gbps, the SSD used in the MacBook Pro is the best in the market by far. This doesn't just mean opening/saving files is quicker, but it also has a pretty huge impact on general application performance.
Pro Fantastic display
The MacBook Pro has a sharp, color accurate 2560 x 1600 IPS display. It's bright at 500 nits, has great viewing angles (viewable at up to 178 degrees) and capable of displaying 87.3% of sRGB color gamut.
Pro Great performance
The MacBook Pro offers great performance both for day-to-day stuff and more niche graphic-related activities. The latest model also has had an update in hardware specs where both the CPU and GPU have been upgraded to their respective latest generations.
The 16GB to 32GB help with performance as well and the SSD speeds are unmatched in the laptop market which also helps with general performance.
Pro The default macOS is relatively developer friendly since it's a Unix
OSX is based on XNU (Darwin) kernel, it's certified Unix and arguably a lot more developer friendly than Windows. Development for Unix is native on OS X.
There's a large selection of great development tools available for OSX. The operating system itself comes bundled with a powerful terminal emulator, called Terminal. Additionally, Apple provides tools, like Xcode, an IDE that contains a comprehensive collection of tools for developing OSX and iOS software, for free.
Pro Amazing build quality
The MacBook Pro has an all-aluminum body that looks great and is sturdy enough that worries of accidentally damaging are mostly alleviated. It has a robust lid, well-spaced back-lit keyboard with speakers on each side of the keyboard and an excellent button-less trackpad.
Pro One of the best trackpads around
The Macbooks are renowned for having the best trackpad out of any laptop. It has full gesture support, you can configure in the software how much pressure you want before it physically clicks and the finger tracking is perfect.
Pro Good customer support
Apple offers support over the phone worldwide, provides support in Apple retail stores and authorized resellers and has community forums where users can help users.
Pro Both the hardware and software are designed in-house
Both the operating system and the hardware are designed by Apple and are made to be as compatible as possible from the get-go. Any drawback that the hardware might have compared to competitors, is made up by the great compatibility between the hardware and OS.
Furthermore, because Apple controls the hardware that goes inside their laptops, they can be sure that every OS release will be fully compatible even with their older hardware, ensuring software compatibility for many years after the laptop is released.
Pro The OS is exceptionally easy to use
Macbooks are famous for working out of the box. The default operating system (macOS) is also exceptionally easy to use even for people who have never used it before. Most people will not need to customize or change anything since all the apps work perfectly as it is.
The people who like to customize things and tinker with their systems will also find it pretty easy to do, considering the fact that macOS is a Unix and allows varying degrees of control to users.
Pro Availability of Xcode
Xcode is an program with which iOS applications are made. Xcode is exclusively available for Macs. You can download it in the Mac App Store.
Pro Plenty of RAM for multitasking
The MacBook Pro has up to 16 GB of RAM. That much RAM is perfect for running IDEs, emulators, and virtual machines.
Pro Radeon graphics, which enables basic gamedev
Radeon is not exactly ideal for gamedev, but is certainly a viable option (unlike some of the competition with onboard Intel).
Cons
Con It's missing the ESC key
There is no physical function or escape keys as they have been replaced by a touchscreen, so for example, if you're a big Vim user and don't want to change your habits, the MacBook might be a poor choice.
Con You can't upgrade the internal RAM
RAM is soldered in, so you can't upgrade it.
Con Hard to repair or upgrade the hardware
The battery and other components are glued in, and the battery blocks access to other parts. The battery will wear out eventually, and the fact that it's glued in means that you cannot easily repair or upgrade a MacBook Pro.
Con Keyboard issues
The membrane can wear out rather quickly, which causes keys to become more and more unresponsive.
Con No official Linux support
Apple doesn't support Linux. As for unofficial support by Linux community: as of 2017, Linux still has limited compatibility with 2016 Mac hardware (in particular, WiFi is working in a limited fashion, and audio and suspend/resume don't work at all). For details on "how to install Linux on a 2016+ Mac" click here.
Con Limited ports
The old adage form follows function seems to have been reversed. The laptop is elegant and thin, but missing PORTS and RAM. Once you add dongles or hubs it becomes unwieldy. Sure USB C may be the way of the future, but not right now. And again, if you are using VMs in your development, RAM is king and Apple took the decision to keep the laptop thin and max RAM (soldered in) at 16 Gb. The SSD is proprietary and welded in, again, you buy the 256Gb model and decide you want 1TB you are either SSD on USB C or trading in for a hideously more expensive model.
Con No real Delete key
Apple's particular ignorance about this is just baffling, and they've had a lot of opportunity to fix it. But their laptops (and small Bluetooth keyboards) still have no Delete key. They only have a Backspace key that's mislabeled "delete." This is annoying for every use, but particularly for programmers; we tend to delete things from the middle of lines and refactor code.
The best keyboard-remapping utility (KeyRemap4MacBook, now called Karabiner) was disabled by an OS update a couple of versions ago and had to be rewritten entirely. It's still not fully functional, but can be used to convert another key (I use F12) into Delete.
But Apple could have addressed this problem (which other vendors never suffered from) by simply making the now-defunct Eject key into Delete. They inexplicably didn't.
Con Glossy screen
Apple has deleted the matte-screen option from its lineup, an unfortunate decision that reduces the usability of the computers and means you get less work done. You won't realize how much time you spend moving your head around to get reflections off whatever you're trying to see until you switch to a matte screen.
Those "deep blacks" and "rich colors" that you were supposed to get from a glossy screen are not present since they're buried behind a sheen of reflection under all lighting conditions.
Con The keyboard has a unique feel and some people may need some time to get used to it
The keyboard on the MacBook is unique and some people may not like the way the keys feel to press or not having physical function keys.
Con No Ethernet or FireWire ports
An adapter is required to transfer data over FireWire or connect to the Internet using an Ethernet cable.
Con RAM maxes at 16GB
Most pundits thought that a 32GB upgrade was in the offing for the 2016 refresh, but no still 16GB.
Con Touchbar
It would be nicer to have a proper escape key, and the function keys back.
Recommendations
Comments
Flagged Pros + Cons
Pro Great performance
The MacBook pro offers great performance both for day-to-day stuff and more niche graphic-related activities. The latest model also has had an update in hardware specs where both the CPU and GPU have been upgraded to their respective latest generations.
The 8GB to 16GB help with performance as well and the SSD speeds are unmatched in the laptop market which also helps with general performance.
Pro Homebrew is really cool for package management
There's Chocolatey on Windows, but it's no where close to Homebrew.
Con The default OS spies on you
Apple spies on its users, and helps others spy on them too. OSX needs to be wiped from the laptop and be replaced with Linux or another acceptable OS before it can be used.
There have also been cases of security issues being reported and not fixed for quite some time. An example is a security issue in iTunes which was left unfixed for three years while it was being used by the government to collect data. These security issues may or may not be intentional, but other data collection is.
Con Limited gaming performance
The Macbook lacks a dedicated GPU, so gaming performance will be limited. That said it comes with the best integrated graphics on the market and will be able to play modern games on low settings well.
Con Comes with macOS
Comes with macOS, which is quite crippled for an advanced user who wants to tinker and have the latest tools. For a newbie macOS is ok, but to do simple things that advanced users want to do, like installing certain packages you have to install stuff like homebrew and other hackish third party extensions. Try mounting an linux file system from it.