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 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 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.
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.
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.
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 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.