I’d buy Apple machines if I wrote for a living for that reason. Which is silly. You’d think every default English layout would be fairly good for writing English, but I’ve not seen one nearly as good as Apple’s. You can use AltGr or US International, but they’re both much worse for general-purpose English writing.
Why other operating systems have’s stolen their alt/option-based typing layout is a mystery, to me. Nothing else I’ve seen comes close for composing English-language text. Certainly no other default layout.
[EDIT] to wit (I don't know how HN will handle some of these, I'll remove it if it's a disaster...):
• Bullets.
— m-dashes.
90°
Divers mots français, n'est pas difficile. « Avez-vous un résumé? » (sorry, my French is garbage).
Would you like your change in $, ¢, £, or €, or ¥?
¿Donde esta el baño? (my Spanish is even worse than my French, again, sorry)
∑ π ≤ ≥ and so on.
Straßburg
And on and on. Most of these I remembered despite rarely using them because the layout is semi-intuitive, and the couple I had to hunt for made some sense once I found them and if I had to use them more than a couple times a year, I'd remember. No modifier + 1234 garbage, no common keys used as deadkeys screwing with normal typing, and none of it gets in the way of programming. Every other OS, please just copy this layout for your default English keyboard.
Just as good is the way Apple handles diacritics. You type a prefix keystroke for the diacritic, then follow it with the letter that's being modified: ö is <option-u, o>, ï is <option-u, i>, è is <option-grave, e>.
Most of the prefixes have easy-to-remember mnemonics: umlaut is <option-u>, grave is <option-grave>, tilde is <option-n> (for eñe, I suppose), but even hunting down these prefixes is fairly discoverable. After typing the prefix, a placeholder character is displayed in the text box showing the mark you've just entered, something like: ̲̈.
Then:
- <escape> or moving the cursor with an arrow key enters the diacritic as standalone character (e.g. ¨ is <option-u, escape>).
- <backspace> deletes the diacritic.
- A character that takes the diacritic enters the modified character.
- A character that does not usually take the diacritic enters the diacritic and the unmodified character (e.g. <option-n, 5> yields ˜5).
You turn it on and off with "Windows key-space".