Ranked in these QuestionsQuestion Ranking
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 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 Very portable
The latest MacBook Pro has a trimmed down design compared to predecessors. It's 0.61 inches (15.5 mm) thick and weighs 4.02 pounds. It's even thinner than MacBook Air.
Pro Good battery life
The battery drains in about 9 hours of typical use.
Pro Can run up to 3 external monitors and output 4K
With 2 Thunderbolt (DisplayPort) plugs and 1 HDMI, MBP can run up to 3 external monitors and output 4K over HDMI.
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 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 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 stability
Mac OS is very stable. It can run for multiple days without even needing a reboot, and the system is very crash proof.
Pro New OSX updates run on older models for quite a long time
Even older MacBooks are updated for a very long duration. Your MacBook won't get deprecated for quite a while.
Pro OSX/macOS and most software apps have great HiDPI support
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 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 Great keyboard
The 2017 Macbook uses the second generation of the "butterfly" keyboards first introduced in 2015. They feel different to use than most laptop keyboards as they are very shallow, but most people report really enjoying the keyboard after getting used to it.
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 USB C Thunderbolt 3
On MacBook Pro, the ports support Thunderbolt data transfer at up to 40Gbps and USB data-transfer at up to 10 Gbps (USB 3.1 Gen 2).
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 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 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).
Con It's expensive
Compared to other ultrabooks such as the Dell XPS 13, the MacBook Pro is very expensive. For the latest (as of Dec 2017) MacBook Pro and Dell XPS 13 with dual-core i5 Processor, 8GB RAM, 256 SSD, the prices are $1.2k for the Dell XPS 13 and $1.5k for the MacBook Pro.
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 You need dongles or a dock to connect USB-A devices
There are no USB-A ports, so you'll need a dongle or a dock to use things like webcams.
Con You can't upgrade the internal RAM
RAM is soldered in, so you can't upgrade it.
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 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 RAM maxes at 16GB
Most pundits thought that a 32GB upgrade was in the offing for the 2016 refresh, but no still 16GB.
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 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 Keyboard issues
The membrane can wear out rather quickly, which causes keys to become more and more unresponsive.
Con Requires the use of proprietary firmware
The source code of the firmware isn't available for users to audit or modify.
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 Ethernet or FireWire ports
An adapter is required to transfer data over FireWire or connect to the Internet using an Ethernet cable.