XCode 10.3 on a new MacBook Pro 2019 i9-9980 based 32G machine
When initially building a new project - select the target device (mine is currently IPhone X - or you will get the following error when building
XCode 11.0 Oct 2019 - Development
Upgraded from XCode 10.3 to 11.0 to be able to target the new iWatchOS 5.0 for the Series 5 watch - turns out I need the latest XCode 11.0 - upgrade was OK without an upgrade to OSX 10.15 from 10.14.6 yet. When attempting to rebuild and push my biometric capture app Biometric Dual Heart Rate Streaming from Mobile Devices to the iPhone X - received the following error and stacktrace - I added 2 new plist entries and watched the dialog come up on the device - all is good.
Macbook Pro 2018 to 2016 Development Prep
Adjustments to the Macbook Pro 2018 to 2016 - disabling the touch bar to aide debugging
Macbook 2018 Improvements
The 2018 i9-9990 has 32G of ram (since 2017) and up to a 4TB NVMe drive (I am using a 2TB). The 8 core 9990 runs slower per core but because of the 16 thread count will run through my collatz benchmark in 18 sec instead of the previous 27 sec at the optimal 32thread forkjoin sweet spot. For reference my older but still powerfull i7-5820K running 64G and overclocked to 4.3GHz will run at 11 sec overclocked and 17 sec at stock 3.3GHz (and this is for a 6 core 12 thread CPU). So the effective performance of the 2018 macbook is on par with a 2014 era 6 core non-overclocked 3.3GHz XEON class CPU - which is good.
The CPU fan will run all the time if you use over 2 cores of the available 8. The machine gets hot under normal development as expected and drops to throttled speed.
There is an improvement in the keyboard (it is still very inferior to the 2014 model) but it is a lot quieter than my 2016 model - and I have no stuck/repeated keys yet.
The touch bar remains effectively useless as you must disable it so as not to accidentally touch any of the soft keys - I enable only the FN keys for applications like Eclipse, IntelliJ, Xcode or VScode.
Macbook 2019 Issues
The 2019 macbook has the same issues as all the models back to 2016 - the keyboard quality, the touchbar and excessive heat throttling.
Macbook 2016 Improvements
The 2016 i7-6920HZ CPU runs 23% faster than the my late 2013 i7-4960 (12% of this is due to a clock speed jump from 2.6 to 2.9 GHz)
The GPU is faster - although this is hard to measure because I went from an NVidia 750GT to an ATI 460
Macbook 2016 Issues
The keyboard is lower quality than the 2015 model
The GPU is ATI instead of NVidia - which locks us out of must CUDA based libraries like TensorFlow leaving us with OpenCL
The touchbar causes multiple issues - the biggest one is launching siri or changing sound/screen inadvertently by accidentally touching the bar above the number row.
Minimize Macbook Pro 2016 Touchbar effects
The first thing you will notice when using the 2016 macbook will be how the touchbar causes issues north of the delete key when your fingers slide off the northbound part of the key.
The goal is to disable the touchbar for most apps leaving just the escape key.
For development apps that require function keys like the F3/F4 (navigation)and F5/F6/F7/F8 (debug) functions in Eclipse - enable just the function key view.
Here in eclipse we frequently need F3 to load a class and F4 to get the inheritance hierarchy
During a debug session we use F5 to enter, F6 to run, F7 to skip and F8 to resume
CPU and GPU performance
On average GPU speed for the 2016 macbook pro (top model) is 12x the cpu speed (all 4 cores)
Surprisingly the embedded GPU in the CPU runs slower than the embedded Iris GPU in my old 2013 macbook pro.
I'll get into theUSB-C connectors shortly
Get the Thule case for your Macbook Pro 15 https://www.thule.com/en-us/ca/computer-phone-cases/laptop-cases/thule-gauntlet-30-macbook-pro-sleeve-15-_-tl_85854234856
The new keyboard is louder - try to type quieter in an office setting
I really liked Objective C because of its Smalltalk and Object Oriented C roots from the late 80's and early 90s - I used Smalltalk V from 92 to 94 at Carleton. Anyway my first iPhone app was written in Objective C starting in 2012
My first hello world in Objective C using iOS 5 at the time.