Debian or Ubuntu is much better for dev work than a Mac
There's open source software available for Linux that's not always available for Mac.
(I often see people running Linux in a virtual machine when programming in a Mac.)
Apple keyboard is no good for development
The ctrl key is not on the expected location, i.e. lower left corner;
There are no explicit PageUp and PageDown keys, and no RightCtrl;
The shortcut to close an application is cmd - Q; and
Touch bar in the case of MacBook Pro.
These are not minor details since during development shortcuts are heavily used in browsers as well as code editors.
(1) Anyone that has used a traditional keyboard knows the left ctrl to be in a particular position. Among other things you use it for copy/paste/move, select all, locate text, moving lines around in some editors, etc. Apple has decided to put the Fn key there instead. This leads to invoking the wrong shortcut and can be frustraing beyond words.
It is particularly terrible if you regularly use standard keyboards mixed with Apple keyboards; sticking to Apple-only stuff would probably help imprint the Apple locations for Fn and Ctrl in your brain.
Apple allows you to remap Fn to Ctrl but not the other way around; it is possible, though, with third-party software. But I have found this doesn't always work smoothly (in my case when dealing with virtual machines).
(2a) When we have multiple tabs opened in a browser or code editor we can use ctrl - PageUp and ctrl - PageDown to navigate the tabs. This is done a lot.
The Home and End keys are useful to navigate the browser editor screen and text.
Turns out Apple decided not to have explicit PageUp and PageDown keys. My iMac keyboard also doesn't have the Home and End keys. These can be simulated with the Fn plus arrow keys.
In a standard keyboard I can navigate tabs with a single hand using RightCtrl - PageUp and RightCtrl - PageDown without even thinking about it. In a Mac you have to twist yourself to press the function key with the left ctrl and then use the other hand to press the arrows. Makes me wonder whether Apple designers are Emacs users.
(2b) I mentioned at the beginning Mac users often use Linux in a virtual machine when they need it; or dual boot.
Ubuntu, one of the most popular Linux distributions, uses the GNOME desktop environment. To change workspaces we use WinKey - PageUp and WinKey - PageDown; or the equivalent version with the Command key in an Apple keyboard. As you can imagine the easy task of changing workspaces with a standard keyboard turns into a nightmare with the Apple keyboard layout because there are no explicit PageUp and PageDown keys.
The fallback shortcuts in this case are Ctrl - Alt - Up and Ctrl - Alt - Down which also change workspace.
(3) The shortcut to close the browser and all its tabs is Command - Q. This closes all your tabs. The shortcut to close a single tab is Command - W. Do you see a problem here?
The problem is Q and W are right next to each other. Closing a tab is something one does regularly. A single misstep and there go all your tabs. This is annoying to say the least when you have hundreds of tabs opened.
This is more of a problem with macOS and not with the keyboard. In Linux you use the more sane Alt - F4 and Ctrl - W shortcuts to respectively quit the application and close a tab.
(4) Touch bar is pretty and perhaps it's alright for most Mac users. When developing in Android Studio, for example, the symbols can turn into a little green hammer for building, etc. Fantastic. Thing is, we can already do this with F10; and, most importantly, without looking at the keyboard.
Pressing the F1 to F12 keys is problematic with the Touch Bar. Normal keys give you physical feedback. Not only can you feel where the key is, but you know when it has been pressed. This tactile feedback is gone with the Touch Bar.
vim, for instance, becomes rather complicated when you are unable to feel the Esc.
Apple has a serious issue with computer ports. They like to be different. And, I imagine, they like to sell adaptors.
Will the students use those laptops for presentations in class?
Will the students use those laptops for mobile development?
Will the students need to connect the laptop to a network using the ubiquitous RJ45?
Are there other peripherals the students might need to connect to the laptops, say a standard USB thumb drive?
If so, keep in mind the need to acquire a truckload of adaptors.