Hacker News new | past | comments | ask | show | jobs | submit login
New MacBook Pro Is Not a Laptop for Developers Anymore (devteam.space)
519 points by alexeysemeney on Oct 28, 2016 | hide | past | favorite | 775 comments

I dislike this post intensely. The opinion comes across as uncharitable, as the author probably has not used this Macbook Pro yet. How can you (alexeysemeney) be so sure?

I consider myself a developer, and I almost never use the Fn and ESC keys on my Mac. Everybody uses the computer differently, but I'm pretty sure this is not a deal-breaker for most. One could also argue that the touch bar might lead to innovative developer tools, such as timeline interfaces for Replay Debugging. There are already a lot of applications in the content creation (Photoshop, Illustrator, Maya) space, which developers frequently use to create assets.

As a vim user, esc is pretty important.

I would say the author clearly knows very little computer specs:

"The MacBook Pro had options with 2.4 gigahertz dual-core processors back in 2010. Anything new in 2016? Not really, well… nope."

Because a 2010 2.4ghz dual core is identical to a 2016 2.4 ghz dual core.... I thought we got over comparing processors purely by their clock speed a long time ago. (I will agree that theyve been going with lower and lower power to allow for better battery life, this is a terrible way to make the comparison. Id much rather see a processor comparison graph here).

Personally I think this is a terrible decision, but then again, I think using a laptop keyboard for programming is a terrible decision too. I need multiple monitors and an external keyboard to get anything done, so I typically use a desktop, and then use a lightweight laptop (basically a chromebook) to remote into the desktop if I absolutely need to be mobile.

Also, "What other people are saying" and then listing 4 anecdotal quotes seems pretty uncompelling.

I imagine this is not a great developer's laptop. But apple fanboys will keep buying it and either stop using vim just so they can keep using apple or buy an external keyboard. And Im really not sure what else you could really want out of a laptop then.

I nearly exclusively use VIm and any other editor I use has a VIm mode plugin installed. I pretty much can't work productively in anything else.

I can tell you that I haven't used Esc in ages. I have Caps Lock mapped to Ctrl (as it is a vastly more useful a key than Esc and Caps Lock is a much better position for it and is just as an extraneous as Esc is). I use Ctrl-C or Ctrl-[ to exit insert mode and it works just fine. In fact I understand that most experienced VIm users do this.

Esc is, by and large a useless key. Even if it wasn't you can remap keys as you like so feel free to map Esc to Caps Lock if you want. Taken alone the lack of Esc and Fn keys is not an argument against the design of the new MBP for developers.

Esc is, by and large a useless key

I'm not a Mac User, but I use THE ESC key extensively to cancel out of dialogs.

Also... the F1 keys are like super important for debugging. Sure, you can click with the damn mouse in the button for step in, over, run, etc, but the thing is faster with F keys.

Even if mac apps come mapped to other keys, many peaplo still runs windows with bootcamp, virtual box etc and wine programs in apple computers, making things even harder.

And about external keyboards? Apple keyboards comes with F keys... they are going to be uselles now?

The F1 keys are not important for debugging. When I'm debugging, I'm not concerned with what's faster. So I use the icons and the mouse.

This is really just a war of opinions now, but the F1 keys are indispensable to me. My fingers rest on the hotkeys for "step into", "step over", "run to breakpoint" and I can keep my eyes glued to the watch list, inspecting the variables at each step. Some times you want to quickly step into functions, other times step over, and it's just really handy to have it mapped to keys.

I'm not even a power emacs user or something (IntelliJ is my preferred IDE). YMMV of course, but I find the hotkeys super useful.

But what if your IDE simply adds the debugger buttons to the touch strip instead? They could even have the correct icons and update state as you debug. Seems even better to me.

And/or other keyboard shortcuts. This is not some immutable situation.

I don't know why everyone is unnecessarily freaking out over this non-issue that has so many alternative solutions, some of which will be superior.

It's really odd when people say "I need one function key for some application specific operation", when those kinds of things are pretty much exactly what an adaptable, customizable touch row is perfect for. If apple could have read the touch bar complaints before, they probably would have been convinced to put a touch bar in earlier.

Aha, so you prefer the way that your sight just go back and forth between screen and touch bar.....?

If i'm using the F keys, it already is.

Main point for touch strip is changing icons/state. But that's absurd because not even my mother blind types. This is clearly another fancy thing that removes functionality.

Nobody types function keys blindly however

I have a blank keyboard, I never look at it, when I use for debugging I'm extremely fast as I don't have to look back and forth on keyboard and screen or use mouse (who uses mouse that much anyway?), I'd miss F keys if I bought the new macbook pro.

I hear all this talk about no more ESC key, but couldn't they potentially just put one up there on the bar, albeit not a real clickable key?

There will be one, they've shown it in some of the promotional imagery. I think everybody is just up in arms about the physical key being gone.

I'm a heavy vim user and use the ESC key all the time. If I get the new MacBook Pro I'll probably see how the touch key works, and then rebind if it's necessary. It's not the end of the world.

Command-period on macOS.

I'd expect that if a dialog is focused, the Esc key will be there.

Steve Jobs is smiling from heaven. He hated keys.

But seriously I use esc all the time to come in and out of modes in VIM.

I also use it in VIM mode in RStudio, VS Code and many other text editors.

FUNCTION KEYS - I use them all day with my IDEs. F2 is my go to help files.

Not even a developer key: `escape` is a very convenient UI mechanism for getting out of something modal or otherwise overlayed and open.

Esc is important in Excel too. More users than Vim.

Command-period is the native Mac way to do it, though ESC works as well.

> I use Ctrl-C or Ctrl-[ to exit insert mode and it works just fine. In fact I understand that most experienced VIm users do this.

That's pretty uncommon to imply it's generalizable. Most vim users, I feel comfortable in saying, actually use 'Esc', or a key mapped to the same. Speaking for myself, I can't see why I'd want to use two keys when one would do.

Well having to stretch your little finger all the way to the corner of the keyboard gets pretty annoying when you have to do it all the time, as you do with Vim. Much easier to remap another key close to the home row, and since caps-lock is so redundant, it is the obvious candidate.

So whether you map it directly to Esc or to a modifier, the parent's point stands: Vim users don't need the Esc key and are probably better off without it.

classic apple fanboy huh? I've a shortcut for my F1 key which toggles terminal on full screen. What there? You don't expect me to map one key for that as well, do you? I'd still prefer a physical button.

So wait for Apple to remove the Caps Lock key in the next generation.

Two things:

- can you give me some details on your remap setup on macOS? if you have dotfiles somewhere that'd be great.

- as a vim user who only uses vim as an editor, I challenge the assumption that touch Esc is a horrible thing. Esc is a very special key and it may turn out to be ok for it to _be_ different, and _feel_ different.

The first thing that came to my mind was what will Vim users do without an escape key.

When did you switch to the Caps Lock mapping? How long did it take you to get use to it?

I'm a vim user as well, and I'm actually shocked at how many users apparently still use the ESC key. I actually didn't know any regular vim users did that, because to me, it seems super inefficient. I don't say that as a put-down or anything like that. But if you use vim, I'd highly recommend remapping caps lock to Esc. I think you will get used to it within a day and will never go back.

I'm a long-time vim user, and I use the esc for two reasons. First, because it's critical muscle memory, and if I go to a machine that is not my own don't want to be crippled. I would still consider remapping caps lock (as opposed to .vimrc remapping) since that would work when ssh'ed into arbitrary machines, but the problem there is I'm already using it for control, and because the control key is resized on the laptop keyboard I can't develop normal muscle memory when moving between different apple keyboards.

Personally I think people make way too big a deal about the escape key being difficult to hit. It's right there in the corner, never been a problem for me.

I've tried ctrl-c, ctrl-[, and ESC. The one that stuck for me was ESC. The others usually don't work in other programs that use vim keybindings.

Many people already map capslock to ctrl. You could map ctrl to ESC, but then it gets uncomfortable when switching computers, and it goes against 10+ years of muscle memory.

I tried remapping capslock once, but it got too confusing when switching computers.

I am a developer who writes code while in tmux and vim. I have remapped my Caps Lock key so it's Ctrl when presses with another key and Escape when pressed on it's own.

I used this software to do this https://pqrs.org/osx/karabiner/

Same. Been using vi as my primary command-line editor for 25+ years, and have never used the ESC key, and just use the default setup.

I don't even know what commands would use the ESC key?

ESC key is the default in vim, most vim users do use it.

Thanks for some sanity.

The other anecdote is I've been using vim for about 15 years, and use esc daily. I am constantly in multiple vim environments - different servers, different clients, different OS, etc. I don't have the luxury of saying "I'm going to install all my default vim keybindings and plugins on every vim installation I ever use". Walking someone else over the phone who has to do vim - I need to count on some standard defaults being there, and 'esc' is one.

So yeah - some of you "power users" - fine - you've never touched ESC in 20 years - good for you. You're in the minority.

There are several built-in ways to get from insert mode to normal mode in vim, only one of which has now been removed.

Vim users that use escape to leave insert mode are not exactly a majority of Mac users. Also, many people have been complaining about the location of Escape for such an important command. http://stackoverflow.com/questions/4416512/why-use-esc-in-vi...

Having said that, I use Escape myself in Vim - you know what? I'll adapt.

This has nothing to do with the new MBP being unsuitable for developers. This is about power users being forced to abandon ingrained habits.

I've been using vi for over 20 years, but not a power user or anything (emacs for code, vi for quick edits), and have no idea how to use it without esc. Did vim change something? How do you switch modes?

Ctrl-[ == Esc. I had to learn Ctrl-[ three years or so back due to bluetooth keyboard paired with tablet and insufficient time to troubleshoot why Esc wasn't working, and then discovered that it's actually easier on my wrists to use Ctrl-[ and never went back.

You don't need to customize your vim keybindings if you map Caps Lock to ESC at the OS level, which is a builtin preference as of macOS 10.12.1.

I'd have to say that your use case is in the minority too.

just matching anecdote for anecdote...

Isn't ctrl-[ default on vim too ?

No, it's just a property of ASCII that (ctrl [) = (0x9f & 0x5b) = 0x1b = esc.

I use vim, I just assumed that when you open Terminal, a virtual escape key would appear in the touch bar. It'd still be in the corner, so fitts law would still apply, and it'd be easy to find.

Yes, this is what I assumed too. Is there any proof that this isn't the case? I'm not sure what the worry is about.

For what commands? I'm trying to look up vim commands that would use the ESC key, and I only see one: https://www.fprintf.net/vimCheatSheet.html#select http://tnerual.eriogerg.free.fr/vimqrc.html

I'm not even a power user, & after 25 years, I just know the basic few commands that you need to do anything - insert, delete, search/replace, save, & quit.

I feel like I'm taking crazy pills!

ESC is the key that (roughly) takes you back to normal mode from insert mode, visual mode, etc. If you aren't using it, then you're either using one of the other ways to get back to normal mode (like CTRL-[), or you are using Vi in a very non-standard way.

See, for example: https://en.wikipedia.org/wiki/Vi#Interface

To switch modes from insert back to normal mode. I assumed ESC was the second key any Vim user used, just after `i`.

From the docs: http://vimdoc.sourceforge.net/htmldoc/insert.html#i_%3CEsc%3...

End insert or Replace mode, go back to Normal mode. Finish abbreviation.

Note: If your <Esc> key is hard to hit on your keyboard, train yourself to use CTRL-[.

Are you talking about the same editor? From a 1996 vi man page [0]:

  There are commands that switch you into input mode.
  There is only one key that takes you out of input mode,
  and that is the <escape> key. (Key names are written
  using less-than and greater-than signs, e.g. <escape>
  means the ``escape'' key, usually labeled ``esc'' on
  your terminal's keyboard.)  If you're	ever confused 
  as to which mode you're in, keep entering the <escape>
  key until vi beeps at you.
[0] http://www.sbras.ru/cgi-bin/www/unix_help/unix-man?vi

Ctrl-[ == Esc.

I'm a happy user of http://ex-vi.sf.net/ and can confirm that, since it's the exact same key code, it works -fine-.

That alternative doesn't work in many programs that use vim keybindings. Ctrl-c doesn't usually work as an alternative outside of vim either.

That's only true for a terminal. Programs built on electron don't behave the same way with vim emulation plugins.

Map Caps-Lock to Esc?

What do you use to get out of insert mode? Like, you've just finished typing some text and want to save and quit, what do you press?

EDIT: Thanks for the replies, other people. I personally use ^C, I was curious what 'mozumder specifically used. :)

The usual answer is 'C-[' or 'kj' (having added the appropriate line to your .vimrc).

Which is fine if you do everything locally (because you control that configuration), but not having escape really sucks when you are on servers a lot and you can't necessarily go changing vim settings around.

It's also difficult when using programs that emulate Vim's keybindings, because they tend to only use ESC by default.

C-[ is available by default; it's the actual control sequence sent by escape in many terminals.

CTRL-[ (of course if you're not using a QWERTY keyboard, it may be hard to hit)

I don't know why that would be anyone's preference given that if you used telnet to connect to a remote shell, ^] is the default escape character. So using ^[ to exit input mode is dangerously close to popping you out of your telnet session. Someone who claims to have used vi for 25+ years (get off my lawn, ssh didn't exist back then) would have likely used telnet and been bitten by that more than once.

I didn't switch to Ctrl-[ until sufficiently recently that anything I'm running vi-ish things on is over ssh.

I will, however, never forgive Excel for Esc being "abandon edit".

I have `jk` mapped to that in my vimrc. It's far nicer than ESC.

I love jk, been using that one for at least 8 years. I even got in the habit of tapping it a few times while thinking, sort of like how you might sometimes shake your leg or whatever. I trained myself off of that though when I had to use Eclipse more and more -- edits or undoes to a file can bring Eclipse to its knees....

I have 'jj' mapped to ESC.

Ah, I see. I didn't even consider that a function command.

I was expecting more commands to use the ESC key?

Yeah, I'm not sure I'd even call it a command - but it is pretty fundamental to vi usage, unless you're using some alternative like ^C or the "remap typing 'jk' to Esc" trick. When you're saying you've never used the Esc key, you mean you only use the Esc key to take you out of insert mode, I guess?

Yes. I do use ESC that to exit insert mode. Sorry for any confusion.

I was expecting commands to be anything you did after the typing in colon.

The processor speed is less important to me. But the lack of more than 16 GB of RAM is a serious problem. As a developer, I frequently run a large number of VMs at once. My current laptop has 16 GB of RAM, and I frequently need more to run all of the VMs that I need, so I wind up having to use my workstation with has 32 GB of RAM, and just connect to that remotely when I'm on my laptop. That's cumbersome and doesn't work well when I'm on the road in places with flaky connectivity (I travel a lot, as I work remotely and come into the office, so being able to do all of my work on my laptop would be a big win).

The escape key issue doesn't bother me as much, but I'm not a Vim user and I already have Caps Lock mapped to escape or control depending on whether it's a modifier or not. I do use the function keys occasionally in cross-platform development tools like gitk, but I'm sure that other keybindings can be substituted and I'd be able to deal with that.

But the lack of RAM beyond 16 GB pretty much means there's no reason for me to upgrade from my 3 year old laptop. I would have considered upgrading this cycle if they offered more RAM, but as it is I'll probably hold off. Maybe if they release another in a year or so with more RAM I'll upgrade; if not, I may just switch to a Lenovo or other laptop that has more expansion room.

3 years without a bump in RAM capacity seems like an awful lot. I realize that Moore's Law is flattening out, but stagnating for 3 years like this seems like a long time.

As a fellow Vim user, I don't use the escape key anymore. It's awkward to hit and I rebind it to "jj" (or more recently "jk"). It's unergonomic to reach for the escape key where it customarily is. If it were where Caps Lock is, it would make much more sense.

That said, I don't like rotating my hand or remove my fingers from the home row.

It's really a non-issue because you can rebind keys so easily, it's not even funny. Everyone seems to be making a mountain out of a molehill.

Vim user here. I use the ESC key; I can hit it in a fluent motion while lifting the hand completely off the home row (much like a pianist).

It gives an opportunity to relax the hand. For the same reason I'm not a fan of hjkl and often use the arrow keys.

This. I never "learned" how to type, and while I've tried, I simple can't get rid of almost 20 years of muscle memory typing like a buffoon. It's much easier for me to use ESC and the arrow keys than people who keep their hands on the home row.

> If it were where Caps Lock is, it would make much more sense.

macOS Sierra allows you to rebind Caps to the Esc key, which seems like a good compromise to me. As a non-vim user, I just wish I could bind Caps to other keys as well :(

Have a look at Karabiner-Elements. The author recently open sourced it and kept up his brisk development pace. Every year he updates I'm lockstep with macOS releases and every year, I donate. Amazing project.

Mapping caps to ESC is not really an option when you have it mapped to something else already, and I'd imagine a lot of devs do.

If it were where Caps Lock is, it would make much more sense

Which, interestingly, is where ESC was on the computer that vim was first written for.

That's what I was getting at when I mentioned it :)

Bill Joy's keyboard had escape where caps lock is today.

> If it were where Caps Lock is, it would make much more sense.

You can remap your key bindings to exactly this layout using Karabiner-Elements.

In fact, Karabiner can map caps lock to both control (if you use it with another key) and escape (if you just press it). Which is fantastic.

No, not in Sierra, because Karabiner classic does not work in Sierra. Karabiner-Elements, which is Sierra-only, can only do basic key remapping. None of the fancy stuff.

Yet. There's a pull request in the works that would do just that:


You could build from the latest update and get that functionality.

You don't need Karabiner-Elements for this. Esc remapping is supported in 10.12.1 natively.

I tried "jk" but I hated seeing the cursor pause every time I used "j" to go down.

That doesn't seem right- I use "jj" to escape insert mode and nothing unusual happens when I use hjkl to navigate in normal mode. The only "pause" is when I type the letter "j" in insert mode.

Yeah, I agree. That doesn't seem right at all. I use "inoremap jk <ESC>" to remap my escape key.

My laptop should work the way I want it to, not the other way around.

But any laptop you buy is a product of some design chosen by other people and not something you can make work precisely as you want. You've adapted to the designs already available, not the other way around.

I realise that, but I'm mostly adapted either to common standards (like QWERTY) or something that provides a benefit to me. I would like a laptop that fits the habits I already have as much as possible, unless there is some good reason for it not to be that way. From the demos I've seen of the touch bar, it will be a gimmick that I very rarely use, so why should I invest in the change?

Also, I work about 50/50 from a USB keyboard. With this keyboard layout, I would need to remember which keyboard I'm using - awful for productivity.

Yes! I can't believe no one will sell me a laptop with the ESC key in the proper place for vi: http://vintagecomputer.ca/wp-content/uploads/2015/01/LSI-ADM...

Then just map Esc to Caps Lock if you like. Unless you feel Caps Lock is still critical for commenting on YouTube videos, in that case I guess the new MBP is just a useless paperweight.

It will not remap his muscle memory.

If it's a key you use frequently, and no longer have the other option, muscle memory isn't that hard to retrain.

You're wrong. Muscle memory is very hard to retrain. To buy laptop with esc button is much more easy. It will be just not MacBook Pro, but it's their problems.

You're wrong? Muscle memory is not that hard to retrain. I had to do it when I first started using a Mac, on which most of the non-qwerty keys (and some of the qwerty ones too) are in a different location to the standard IBM layout.

Nope - at the moment, my CAPS lock does nothing. But I'm not going to adjust my habit of where to find the ESC key just so I can have some pointless colourful lights.

Instead you could adjust your habit of where to find the ESC key for the sake of ergonomics (Caps Lock is much bigger and closer), like I did years ago, and take the colorful lights as a bonus.

What about the fact that I frequently jump between machines, many of which aren't mine? It's the same as people telling me to learn the Dvorak layout. Any possible productivity gains are lost in forever remembering what keyboard I'm on.

By default, when in command-line mode CTRL[[ is the same as escape and when in insert mode CTRL[ is the same as escape.

+1 I don't touch the escape key and I've used vim for quite some time.

> As a vim user, esc is pretty important.

So then wouldn't the esc be present on Touch Bar? It's not like it's the "useless stuff" bar.

Yes, though having it be a physical key is also ... ummm ... key.

Good joke. Ok but you haven't used it yet, just ease up, it might be great!

I find it interesting and perhaps a bit telling that the most common response to the Esc key portion of this post is remap/use a different key binding.

How is that a reasonable response? To me, the reasonable response would be, "I remap/whatever, but maybe it's best if you look at a different platform where this isn't a concern." Or, "I can see how that's a problem, here's what I do."

We do have some responses in the 'reasonable' category, by we also have replies like "Esc is, by and large a useless key." and "It's really a non-issue because you can rebind keys so easily, it's not even funny" and "the ESC key in vim can lead to RSI" and "Only if you're too lazy to rebind it to any of the many more finger friendly options". All of them saying, "You're doing it wrong" - even if not in so many words.

Telling someone they're wrong to dislike a specific change because a workaround happens to exist says to me that you're making a whole lot of assumptions about other people based on what works for you at best, and being patronizing at worst.

> As a vim user, esc is pretty important.

Would it not be possible to map the dynamic touchbar keys to Esc when one is using vim?

During the demo, they showed an Esc key in the touch bar when using Terminal and a few other apps

Pretty much. I am struggling to understand the issue here.

Three points: The escape key is not where it is normally. The escape key is not present in all contextual operations (that is, you can open up a menu on the touchbar which causes the escape key to disappear in favor of a "close" button). There is no physical feedback that you've hit escape.

The only thing I can accept is the lack of feedback.

As long as the Escape keys exist when required, why worry about when they don't?

For me? Because I can't tell without looking at the keyboard whether it exists or not (and potentially whether it's been moved by some program's integration with the touchbar).

I've been touch typing for years now, and the idea that I have to look down at the keyboard to see if a key exists (a key that that has existed for the entirety of my computing history) is ludicrous.

I will admit, the lack of taptic feedback on the touch bar is surprising to me, given it's presence in the touchpad

But then how do you change the volume when using vim? Does vim need a special touchbar that basically completely emulates the old keys? That seems excessive.

Uh, I mean the touchbar has so many keys. Escape would be one of them and the touchbar could behave like old keys once there is Terminal.

I fail to see the issue here.

The volume controls remain on the right.

Did you watch the presentation? Or are you just pearl clutching to try and crap on something you don't like?

It's a perfectly fair point. The function keys provide 2 operations each, depending on whether you use the [fn] modifier, so does the ribbon duplicate this functionality or are we effectively left with half the functionality of the old keys?

Personally, I don't see how you can quickly modify the volume from the ribbon if the application you are using has repurposed that space for some other functionality it thinks you are more likely to want

   But apple fanboys will keep buying it
It's extremely patronizing and dismissive to insinuate that only "apple fanboys" buy macbook pros. There are plenty of reasons to buy an apple laptop without being a "fanboy". Searching for the best laptop leads many to apple simply because of logistics/price/ease-of-use.

That said, most of the other stuff you say is true.

My point was more that there are people who buy Apple regardless of quality or features. If you buy Apple because it's the best for you, go for it. I agree that they are quality built laptops.

You don't find people who are dedicated to buy only Dell laptops even if something negative happens. There are no Dell fanboys (that I've ever encountered). If Dell does something stupid, people will buy ASUS, HP, Samsung, Toshiba, Lenovo, etc and get basically the same experience.

The point was less that ONLY fanboys buy macbook pros, but moreso that Apple has a large enough loyal fanbase that they can basically do whatever, and people will defend the decision.

You will hear people say that 16gb of RAM is a non-issue and if you need more than that you are doing it wrong. That is a fanboy response. A logical response is "I don't need 16gb of RAM, but I'm not everyone, so I'm not going to start a debate over this"

To be honest, there aren't that many and they're becoming fewer and further apart.

I think rather than stop using vim people will remap the ESC key to something else, like caps lock, which many already do.

The interesting thing is that Apple just released the ability to remap Caps-Lock to Esc. natively in macOS 10.12.1, which doesn't seem to be incidental.


> As a vim user, esc is pretty important.

I am pretty sure that when you open a terminal, esc and function keys will be up there. It'll not be a mechanical key, but I'm sure it'll still work.

I wonder if any of the people watched the demo. They showcased Terminal, and there was an escape key on the touch bar. They also specifically said pressing the "fn"'key would show function keys on the touch bar, which is exactly what you have to do on current Apple keyboards to use the function keys.

It seems like a non-issue to me unless people simply don't like the touch bar not being physical keys, which is fine, because they can just get the other Pro without it.

I haven't. I based my prediction on the assumption Apple engineers are not stupid. For what I observe, it's quite the opposite.

The bar's function varies according to the application being used. It should be trivial to make, say, iTerm, which is immensely popular (I use it myself) have Esc and function keys available by default.

I imagine Cathode (http://www.secretgeometry.com/apps/cathode/), another favorite of mine, will have beautiful function keys.

> because they can just get the other Pro without it.

Plus, it's cheaper.

In their presentation, Terminal had some contextual functionality mapped to it, including a tray which slid out and hid the escape key.

So no, by default, you will not get the F keys when you open Terminal.

I use a 12 inch MacBook on my lap in an office where I could have any number of external monitors. I'm quite productive.

My neck hurts and wrists cramp at this thought, at least put it on a desk!

Similar here. When my coworkers have to detach from their 23" monitors they say they're no longer able to do anything but email and chat. I have a guy who won't WFH because work won't buy him a monitor for it.

What does an external keyboard give you that you can't get from a laptop keyboard? I like the macbook pro keyboard. I plug in two monitors and I'm good to go. Vim users should remap somewhere closer. I use cap locks. Will that not be possible anymore?

Not only is it possible, but Apple supports mapping Caps Lock to Escape by default as of macOS Sierra 10.12.1: https://i.imgur.com/2oMcDRg.jpg

It'd be awesome if the caps lock key was led screen as well and showed it's current mapping. That'd be pretty sweet.

Extra space and ergonomics to keep coding into my seventies is why I use an external keyboard. I'm in my thirties currently.

Maybe by the time I'm 70 I'll be talking to my computers, but still: why wreck my wrists?

For me; I use a mechanical keyboard; and have not found a laptop w/ a keyboard that offers that same feel.

However, that is a preference; when traveling I have no issues doing work while using a laptop keyboard.

The big obvious difference is the numpad, or lack thereof. Plus, mechanical keyboards are a lot more comfortable I find. I know they're a bit of a meme right now, but I definitely prefer them over tiny short press chiclet keys.

For me personally, Home, End, PgUp and PgDown keys. Also, MX switches. I can work without them, but I really think my tools should adapt to me, rather than vice versa.

Have you never used a quality, full-sized mechanical keyboard? There's something kind of joyful about clickety-clacking away.

Maybe my hands are too big, but I am just not really comfortable typing on a laptop keyboard. It's not as bad as trying to do anything on a miniscule on-screen keyboard on a phone, but I still tend to hit at least two or three keys at once far too often.

Split layout (optional); numeric keypad; navigation keys; cursor keys; Print Screen key; 2 control keys; symmetrical meta keys; separate volume and mute keys.

Another big thing that external keyboards give is the ability to hit the control key with the meat of your hand rather than using a finger.

A delete button, instead of just backspace

>As a vim user, esc is pretty important.

If you're a Vim user and have escape as one of the keys farthest away from you, they did you a favour. I don't mean that as a defence of the MacBook Pro. At the very least, switch caps lock and escape if you're not using caps lock for something else.

Do you mean Ctrl-[?

The ESC key in vim can lead to RSI:


So can repeated use of keyboard chords. Not to mention the absolute position and shape of the control key can change based on the type of keyboard you're using (such as wired apple keyboard vs. wireless vs. built-in).

inoreamp jj <ESC>

This has made my life so much better.

Remap caps lock to escape. Karabiner-Elements can do this (Karabiner for pre-macOS).

I really like laptops for research and prototype stages of programming: my Macbook works great at finding, curating, reading, and composing documents; handling email, IM, VOIP, VPNs, etc to actually communicate with services; dealing with internet search and websites for services (github, aws, etc); and I find that I even do better at writing "naive" implementations of things with just some paper and a laptop at a coffee shop, because it forces me to skip over most of the technical details (eg, efficient file IO) and just write the essence of the program (ie, the main algorithm or idea I'm trying to implement).

For actually writing a finished production-ready product, a desktop with several monitors and a real keyboard is preferred. But being able to switch between the two modes -- research and creative, focused and technical -- gets the best results.

> As a vim user, esc is pretty important.

Only if you're too lazy to rebind it to any of the many more finger friendly options.

What if you log in to a large number of servers on a regular basis, then you'd need ESC for vi.

Or Ctrl-C or Ctrl-[

I think it's a completely fair post.

Devs are a huge market for Apple, but Apple is ignoring them.

This isn't about ESC, it's about whether Apple has any interest in acknowledging the dev market and keeping devs on board.

The answer is "no."

Apple is making no concessions to developers or professional power users who need performance. Instead, Apple is producing vanilla-grade laptops with a touch of gimmicky brand frosting to justify the high price.

The real heuristic is skimping on performance and connectivity to maintain margins. The cost to users is significant lost productivity.

This is the MacBook Pro Intern Edition. It could have been more, but that's where Apple is now.

They're ignoring the giant behemoth that is ....Vim users..? What?

Wait till the EMACS crowd gets a whiff of how Apple refuses to sell pedals for their keybindings, then Apple is truly in trouble.

Look, I know VIM is popular, but so is XCode, so is Sublime, so is Atom, so is TextMate, so is a multitude of other text editors for God's sake, that to claim that Apple is somehow "abandoning the entire software development community", as if VIM users somehow speak for all of them, is pretty whiny and unrealistic.

Do you think Apple really worries that a bunch of what, Open Source "hackers" producing yet another Ruby testing framework are now going to abandon their platform? Seriously? Get off your high horse, man.

There's thousands of Visual Studio developers in the Windows world and thousands of XCode developers in the OS X world who don't give two shits about your 1970's vintage terminal mode text editor. Apple will be fine. Software developers (again, a much larger group than you obviously think) are also going to be fine.

And aren't you guys always bragging what power users you are? So now that one (remappable!!!!) key is gone your entire world is crashing around you?

If you're such a fossil that you can't adapt to the absence of this one key, that already is of extremely limited use for 99.9% of people, how did you cope with the disappearance of the floppy disk, the caps lock key, the parallel port, VGA, optical disc drives? How did you ever adjust from storing backups of your code on floppy disks once that went away?

What happens when Windows laptops one day follow suit and remove the Escape key and the (just as useless) Caps Lock key? If VIM users can't adapt to a simple change such as this, maybe you deserve to fade to irrelevancy? Just keep buying 2008-era laptops off Ebay well into the 2030's, I guess?

Truly pathetic rants, truly.

So basically what you are saying is that Devs need to adapt to apple products not the other way around, because apple knows best.

IMO what is really pathetic is people tying the hardware to the software, I don't buy "Windows Laptop", I buy a Laptop with the hardware that suits my needs and install Linux on it if it's not already installed, but I guess my opinion is irrelevant as I'm an emacs core user and use VIM as a text editor. Let me give you a tip here, If you buy a Laptop and chose to have it without Windows pre installed you will get a discount ( The windows License fees)

And guess What I will never pay a license fee for an IDE (from M$ or Apple) that do not match half what I get from my open source "vintage editor", but that just only me!!!

Anybody that's trying to use Visual Studio on one of these is going to be cursing the lack of F-buttons.

I hardly ever used them when I used VS, so I don't see why I would be cursing their lack now.

Were you clicking around the menus all the time or using a heavily modded keymap? Building, running, almost all of the debugger commands, viewing property pages, switching between code and designers, all make heavy use of the function keys out of the box. Those are pretty common tasks.

VS would probably repurpose the ribbon to provide debugging keys at that point.

Many common applications that developers use have many keybindings that heavily rely upon the Escape key (Vim for sure).

I've developed on a MacBook Pro for the last 5 years in vim and I have never touched the escape key or any of the F keys, ever.

If you're using vim and reaching for the escape key you are doing it wrong imho. Rebind esc to something else (like capslock) or learn another pattern that has more ergonomic value.

A lot of us live in a transient computing world, where we neither own nor have permissions to edit the bindings. Having one host with a binding and 6 other client's envs without, would a context switch failure invoke

The bindings are done on your macbook, it works seamlessly on the clients you connect too.

ctrl-[ works as escape. Also, what kind of devs don't get to customize their setup??

You'd be surprised. Some corporate environments keep machines pretty locked down in terms of what you can change in the System Preferences, or install on your own.

Adding a .vimrc file doesn't require administrator privileges on either Linux or macOS, nor does it require changing anything in System Preferences.

If for some reason you "can't" add a .vimrc file to a user account then you probably shouldn't be manually logging into that user account.

Can you request the change from your IT department?

Just fill in the ticket, call to follow it up, explain what you want again, re open the closed ticket, open the ticket again, do a few ritualistic incantations and you'll get there.

I'd say it's the norm for the 'enterprise' category of development.

> If you're using vim and reaching for the escape key you are doing it wrong imho.

So generations of Vim users are doing it wrong but you have the right answer?

The Vi editor was originally written on a terminal which had the Escape key positioned where the Tab key is on modern keyboards.

So yes, rebinding Escape is the right answer if you heavily use it. The normal positioning for Escape is very inconvenient for touch typing.


> So yes, rebinding Escape is the right answer if you heavily use it.

nobody does that because it was unnecessary. Of course, now developers need to ADAPT the Macbook instead of the Macbook ADAPTING developer's workflow. That's not the definition of a developer friendly machine. The touchbar is a gimmick and even then it doesn't justify the removal of an entire row of keys. It was purely an aesthetic decision. But I forgot, developers like to work with "beautiful" computers instead of functional ones /s

In my experience, quite a lot of people who take working on the keyboard seriously remap some keys.

I'm more of an Emacs guy, but still frequently hit Escape (I use it as the Meta key in Emacs). I've bound Escape to the Caps Lock key for as long as I can remember. Like I said, the normal location of Escape is way too far from the home row, and quite bad for touch typing.

In fact, the entire function row is too far for me to conveniently use while touch typing, and I have long fingers. I probably won't miss the function key row at all.

I haven't used or seen the actual touch bar, so cannot really make a strong statement whether it's a useless gimmick or actually useful. I have my doubts, but it could turn out to be useful in some applications.

Sorry, but removing this row of keys is entirely justified if you accept that the touchbar is a valuable addition. Having to reach over a row of useless keys (I suspect Apple's data would show ~90% of customers literally never use them, except for the system-control functions) to interact with the touchbar would seriously compromise it's utility.

> (I suspect Apple's data would show ~90% of customers literally never use them, except for the system-control functions)

Completely dishonest and backed by no fact at all, you can make up some data, I can too, I didn't. You call them "useless keys" but there are here for a reason. There are so useless than the touchbar can emulate this "useless" row, except that now users have to look at the keyboard to type since there is no physical feedback to guide them. this isn't innovation, this is a step back.

Calling it dishonest and backed by no fact at all and then go mentioning they are there for a reason. Can you elaborate? Historically they are programmable keys, not very standard at all. Same goes for the reason keyboards are staggered, to mimic mechanical typewriters that couldn't have the keys orthogonally placed. No problem changing that.

And no I'm not a fan of the Touch Pad at all, using a 2013MBP as a daily driver. I don't understand all the fuss.

> The normal positioning for Escape is very inconvenient for touch typing.

But what if you're not a touch typist? I'm not, and I use the ESC key all the time when using vi/vim, So much so, that it is almost a mindless reflex. I have no choice but to adapt, I know, but my most likely response to this will be to use my Linux laptop more frequently. I still have to use the Mac for OS X and iPhone development, but for other server side stuff, I guess I have to switch to Linux.

Recent generations, yes. vi was designed for a keyboard where the Escape key was where the Caps Lock key is today. When Escape ended up in a hard-to-reach place on the 103-key layout, vi users sighed and rolled with it (and new users didn't know any better.)

> the Escape key was where the Caps Lock key is today

Apparently it was where the Tab key was[1] as metafunctor pointed out.

[1] http://vim.wikia.com/wiki/Avoid_the_escape_key

I've been a vi user since 1996 and have always remapped the Esc key because it's too far from home. I had assumed others also did this because I've never seen a vi user who works without some customisation on commonly used boxes and it seems like one of the obvious first changes to make.

This is bullshit. You know what else is not on the home row? Most of the keys on the keyboard. The ESC key is very easy to hit without looking down, there is absolutely no need to remap it and I refuse to believe that people that grew up with keyboards with ESC keys ever feel the need to remap it.

> This is bullshit. You know what else is not on the home row? Most of the keys on the keyboard.

...So? You know where you spend most of your time in Vim? the home row. It's called that for a reason...

I grew up with `esc` way up in the corner, and as soon as I started learning Vim I googled for common workarounds to reaching so far. Refuse to believe it, but it's true.

I've never been able to touch-type a function key on any keyboard, ever. Replacing them with a dynamic interface like the TouchBar seems fine for a row I have to look down at every time, anyway. Even on my 2015 MBP I have to make sure I'm hitting a volume button and not the power button.

Programming is not regular touch typing. There are all kinds of punctuations and weird key combos you have to do frequently that are not on the home row. And yes, I hit function key combos without looking many times a day. I will not be buying this laptop.

Good on you. Neither am I, and I have no desire to convince you to. Point still stands that not everyone is as comfortable as you with reaching. I certainly spend most of my time outside of insert mode, firmly on the home row. When I'm done inserting, I want to be back on the home row as quickly and comfortably as possible. Reaching for the furthest row from it before returning home will always be the last thing I want to do.

Eh. I'm using Dvorak, so most of the keybindings in Vim are total madness anyways. For most regular typing, my fingers stay on home far more than you Qwerty typists.

Remapping Esc has always been one of the first tips that I read from experienced Vim users.

I've had Caps Lock remapped to Esc for years now.

I map Caps Lock to Control.

I do both! https://github.com/alols/xcape (Linux only)

This is the kind of advice that young programmers need to get earlier. I'm new to Vim and I'm slowly realizing that A) Vim is way more powerful than I originally gave it credit to be and B) I'm vastly underutilizing its power.

You don't even need to rebind the escape key. I've been using ^[ for years, and it works in basically all standard terminals and vims as the escape key.

15 years using Vim with the esc key. I have large fingers though.

You've never hit Ctrl-F5 to dump cache and refresh a browser window?

The escape key can be right there on the capslock (option to be enabled in System Preferences -> Keyboard). Using Esc key heavily with its default location is not practical at all. As for the F-keys I think this is more of a problem.

I use it in its default location literally thousands of times a day and I don't mind. (I use a Mac at work.)

Same here. I use the Escape key as Esc in vim and it would probably take me a long time to break that "muscle memory".

As for some recommendations others have had... I have Caps Lock mapped to Ctrl and Ctrl-[ remapped for tmux so those are out.

This is the same across several machines (MBP and multiples ThinkPads) so the more feasible solution for me is to simply stop using the Mac.

IIRC Support for Caps Lock -> ESC mapping in System Preferences is new as of 10.12 (or maybe 10.12.1?), so many people may not know that's an option. I didn't until I read your post and checked!

How do you achieve this with just System Preferences? On 10.11.6, I see the System Preferences -> Keyboard -> Modifier Keys allows re-mapping to Nothing, Control, Option, and Command, but not Escape. Is this a macOS Sierra thing? Tell me your secrets!

It's a Sierra thing (and only the most recent update, 10.12.1, I believe).

OK. Just kicked off the download for Sierra. Thank you!

Check out Karabiner and Seil- you can even use these to map "tap capslock" to esc and "hold down capslock" to ctrl. (Seil has some issues in 10.12, but they're working on it.)

They have made karabiner-elements to do just some basic things and which works with sierra. I had a problem with it though as it remaps F-keys by default and it was clashing with Palua on 10.12

Yep added in latest Sierra

I had to install a third party program to get that to work, do they let you do that now?

Yes, it's an option in the normal Keyboard Modifier Keys system pane now.

I'm a big Vim user and I honestly wouldn't mind too much if I were to just remap the Esc key to capslock.

Vim user as well, while I haven't used the new device. Judging from the distance and where I hit the ESC key on the current keyboard, it shouldn't pose any issues. Even if they did remove it, the power of vim is the ability to just remap keys.

My control key is remapped to caps lock for tmux. Perhaps the lower-left control key could be escape?

I am a developer and don't use neither vi or Emacs.

I'm a vim user. Why in the world did they remove ESC? That's one of my most frequently used keys.

And no, I don't think remapping it is a great idea.

If I had to use this for work I would protest.

I don't understand why people keep saying they've "removed" the escape key. The thing is programmable. http://live.arstechnica.com/hello-again-apples-october-2016-...

Do you remember texting without a touchscreen?

I used to do it without looking at my phone, now with touchscreen I lost that ability, I have to check every word, some keyboards help with that correcting my words if I moved my fingers a little to the side, but it's not the same, with physical buttons I was sure I pressed the correct buttons. Physical buttons give touch feedback and that's important when you're focused on something important in your screen. I don't want to switch my focus from my screen to my keyboard every time I need to use a function key.


I almost always text on my phone without looking because the visual effect where the selected letter appears above your finger actually makes me slow down. I was never able to use physical phone keyboards as easily as the adaptive software ones on modern phones.

Also I use vi mostly so I only use function keys rarely, in which case I look up.

Which phones did you use? I used Palm Treos from 2004 to about 2009 or so, some of the keys even had a bump so you could locate the home row keys. You truly could type somewhat accurately without looking at the keyboard.

edit: wrong year

> I don't understand why people keep saying they've "removed" the escape key.

Because programmers are at least as fond of hyperbole as the reality television programming they all claim to hate.

The controversy creates discussions and clicks.

If it's anything like their existing dynamic stuff, I worry it will be too slow. There are far too many cases where I search for something, see it pop up, go to hit enter, and as I'm hitting enter, Spotlight decides to shift focus to something else. So for their magic toolbar thing to work, they'd have to do something they haven't been able to do in my experience.

That's fair. My experience has been, at least with the iPhone, that they've made an effort to make it more and more responsive as time has gone on. Tangentially, this is why I don't understand people who install these third party keyboards that make background network requests. It's like, the keyboard is slow enough as it is without having to go to the public internet on a cell connection :/

Yeah, I haven't noticed that yet. Not to say it hasn't improved, but I just haven't noticed an improvement. My other concern is workflow. Right now, the magic toolbar is only on the laptop. This basically means the magic toolbar is only useful when using my laptop's keyboard. Otherwise, it's really an awkward tool to use.

I'm 99% sure the escape key will be there when in Terminal.app, I also imagine terminals like iTerm2 will have some really sweet TouchBar options to make it even better with all your console apps.

Apple may prove me wrong with the ergonomics of the TouchBar, but I've yet to find a virtual button that I've liked as much as a physical button.

The feel of a real button is great, but you can imagine the possibilities of what you can do with that space when you look at your MacBook keyboard right now and notice you likely never use a thing but the escape key, brightness and volume.

I haven't used it yet, so I can't judge it too much, but I imagine Escape actually works well since it's the top corner of the keyboard and easy to feel, if escape were anywhere else it would really suck.

The only F key I don't use regularly is f6. (Though f2 is mainly a Windows thing... I doubt I use it much in OS X.)

I've got a keyboard with clicky button-type Esc and F keys, which might be a fair approximation to the new F key strip. (Pressing them isn't a million miles away from clicking on the Force Touch trackpad.)

It's bearable, but not really very nice.

Yeah because you can usually find it without looking!

> I'm 99% sure the escape key will be there when in Terminal.app

Confirmed correct:


I mean it's still there, it's just not a physical key right?

And you can use ctrl [ instead which is closer to the home row anyway.

If you can't rebind keys, Ctrl [ is THE most ergonomic way to use VIM. I really don't understand why you would use the real Esc key. It's too far away to be useful.

It is, which means this whole thing is a tempest in a teapot which will look phenomenally dumb in 3 months.

Wouldn't it be even nicer if you had an Insert/Cmd mode key instead, which showed which mode you were currently in and let you toggle?

The nice thing is with this touch bar thingy that's possible.

> The nice thing is with this touch bar thingy that's possible.

As long as it's supported by the program, of course.

What if you wanted to use mc (The Midnight Commander), which relies heavily on F keys? wait for the update?

Most frequently used keys? I would agree that in Windows using the Esc key is common, but in OS X really isn't.

If on some box where you cant setup vim like you want, CTRL[ works as escape and CTRL[[ when in command-line mode.

The answer is simple. Apple doesn't think you should use VIM. You need to move on to more modern methods of programming.

"Modernize your methods!" says Robert DeNiro, an actor who's been phoning it in since the late 90s.

I'll give you the same answer I'll give Apple: don't tell me how to be productive. I have already found vim key bindings to improve my development experience by almost an order of magnitude. You're not taking that away from me.

Nobody is doing either. You're being paranoid.

I was configuring a server while walking through the airport the other day (long story and I won't bore you with details) on my ipad. There is no control key on the ipad keyboard meaning that I could not save any files from the ssh terminal. It was not the greatest experience and I can definitely see these kinds of things happening on laptop now due to apples "courage". They seem to be gung-ho on breaking things that work perfectly in the name of "progress".

Which ssh client doesn't give you a ctrl key?

Unless Apple made an iPad SSH client I don't know about, this sounds like you were just using a bad app. The first two that popped up when I just googled for "ipad ssh client" clearly have control keys, as seen in their screenshots, and some other ones I've tried also have control keys.

When I concluded my Thinkpad Tablet 2 was a little bit too small to work as a primary machine (switched to a Helix 2 for that), I re-paired the bluetooth keyboard w/optical trackpoint with my tablet. The keyboard fits inside my jacket.

I can't express quite how wonderful it is on the occasions I don't have a bag with me to still be able to have a proper keyboard+mouse setup when something goes sideways.

I find really amusing that after the Macbook reveal last year half of the response comments (in sites like ArsTechnica) were of the gist "just give me an updated Macbook Air, with the same form factor and a better screen".

Well, the base Macbook Pro model does exactly that. There is also an option (cheaper!) to keep the function keys.


I might be getting old and grumpy, but more than anything else it boggles my mind when apparently everyone believes they should be the target user Apple (or Microsoft, or Google,or...) design their product for, and they consider a personal insult when that is not the case.

I don't think there was ever a time where the laptop market had so many options, at all price levels, many of those of such a high quality.

You don't like that a particular manufacturer is offering ? Vote with your wallet and choose another option, don't whine.

I think there are lot of us who may never have really like Mac hardware, but find the OS is the best option out there to get our work done. Its just a little sad it locks us to specific hardware platform as well.

> I consider myself a developer, and I almost never use the Fn and ESC keys on my Mac.

ESC usage just off the top of my head: cancelling any dropdown (e.g. IDE autocomplete, browser autocomplete, Spotlight, quick file search in Atom/Sublime), cancelling any OK/cancel dialog (e.g. save as), the ESC + '.' sequence in Bash to get the last word of the last command.

I could map ESC to the caps lock key I suppose.

If you go to the current Apple homepage, the first image they present you with shows the Esc key right there. So all of those things you currently do with it? You'll still be able to do with it.

I actually use the caps lock key sometimes, e.g. FORTRAN 77.

Also, Apple seems to think it has an escape key (see the header pic which clearly shows esc as an option):


I don't think it would be very hard for terminal.app (or other apps targeted at developers) to show esc f1 etc along the top when it is open, and it can strictly have better function keys because instead of f4 etc they can be customised to say what they'd actually do.

I agree the fuss over the touch bar is overplayed.

The claims about CPU MHz are hilarious, too. It's an entirely different CPU generation.

I'm a programmer and I'm pretty sure most of developers use F-keys and, especially, esc button. Let's believe together :)

It's a terrible post, and a terrible site (did it break anyone else's back button?)

I gave up on Mac as a development platform back in 2012 when they removed expose and replaced it with that terrible Mission Control garbage. Then I went back to Linux and discovered tiling window managers and haven't looked back. (and yes, I realize there are some good ones for mac now).

But I will say on this post that the escape key is a good point. I use it all the time. Sure you can rebind it, but it's not a useless, SysReq/ScrollLock type key. Most developers will have to rebind it if it doesn't appear on that touch bar thingy.

I've used the Lenovo's "adaptive keyboard". It's crap to use, especially for development. FN keys are especially easy to remap for macros or lesser used functions, and having no haptic feedback essentially kills their function for a touch typist.

It's also no wonder that newer carbon models came back to regular fn keys.

I actually bought/buy macbooks for their build quality, and generally only install linux on them. Looks like this particular model marks the end of this path.

ESC key is required for productive use of Vim and even Photoshop! And since we are talking about graphics, Inkscape is heavy on Fn keys too.

The ESC key should hardly be a deal breaker for Vim devs - most remap it to caps lock on a Mac because it's easier to reach.

The 13" model has a version that keeps that row anyway. And the Touch Bar does still have a function key row/view? with ESC. MacVim and iTerm could probably add the functionality that the whole row is an ESC key when they are the active apps.

For me though, Apple got it wrong by releasing a gimmick (touch bar) which may be useful for some groups of Pro users (designers/film editors?) but I can't see adding much value to what I think is their largest group - software developers.

For me my ideal developer laptop is small, light and powerful. So while it's great the Pro is now the same size and weight as the air (13" model), I think they could have gone even smaller - see the Dell XPS 13. A 13" full powered (i7, 16GB ram) in a 12" body (by having an edge to edge 'infinity' screen). Basically they should have released a MacBook that can run an i7 and 16GB ram.

I do some programming (Xcode and VS Code), I do some 3D art (blender, substance), and I do some photography (Lightroom). Not all of those programs will support it at launch, but I expect they will sooner or later. And the new screen sounds fabulous (I have a wide gamut external screen already, though it's AdobeRGB instead of P3, the MacBook will do better in reds and not quite as well in greens). I wish it were cheaper, sure, but this looks like a fantastic computer to me.

Yeah, you need some different cables. You might need to rebind some hotkeys. It might take a while for some pieces of software to support the touch bar properly.

If you don't want to be an early adopter or you can't get over your Vim muscle memory, pick up a refurbished 2015 model and the rest of us can buy a few new USB cables and move on with our lives.

If I were still a Mac user (back to Linux a year or so ago), I think I'd be annoyed by the new laptops. Not enraged...just annoyed a bit. It's not the end of the world, but like a lot of Apple's recent moves, I'm left with a feeling of "OK, but why?"

With both the headphone jack removal on the iPhone and the function keys here, Apple has used "but they're old" as part of the justification. Playing a slideshow showing me a keyboard from 1970 that had function keys is not itself any form of argument against function keys. Sure, the touch bar can serve the purpose of the escape key. Crucially however, so could the escape key. The demos look neat enough, but it's hard to envision a 0.5" strip of touch screen being all that broadly useful outside a few niche cases where a long linear control is just what you need (e.g., audio scrubbing).

It's not that I think these laptops are bad necessarily. It's more that I think they're gimmicky. Apple seems to do an awful lot of things these days that remind me of Samsung circa 2012 or so -- "press this button to send your heartbeat to your spouse" kind of stuff. Meanwhile, Microsoft looks to be absolutely on fire.

The justification isn't just "they're old" though. It's "they're old and almost completely unused."

I know in Windows there are actual actions on the f-keys (F1 for help, F2 for rename, F5 for reload, etc.), but the Mac has no such equivalents. They're used for hardware and music control, and have this whole secondary mode of fn+F_ chords that hardly anyone touches.

The touch bar will be useful in nearly every app. I wasn't about to set up and memorize custom F-key bindings in every piece of software I use, so it's going to be more useful. And it allows for types of input that buttons couldn't offer to begin with.

With the headphone jack, it was "it's old and we have something better," which I'm not thrilled by (but I wasn't planning on getting a new phone anyway). The USB-C and removal of F-keys I'm totally on board with.

You, sir, are absolute rigth.

hmm, looking at the comments -- am I the only who uses Fn + Arrow Keys for Page Up/Down and Home/End purposes? How can you not?

I realize I don't know the first thing about MacBook keyboards. Are you saying they don't have Page up, Page down, Home and End?

Maybe a Windows thing but I use Function keys everyday, F3 for incremental search, F5, F9, F10, F11 for debugging. Not having these keys would be handicapping.

Home/end are not really necessary on a Mac, where you can use cmd+arrow keys instead (left=start of line, right=end of line, up=start of document, down=end of document).

The function keys are also not commonly used by apps because the system maps them to brightness control, volume, play/pause etc. by default and you need to use the Fn key to produce the actual function key keystrokes.

The convention for incremental search is: cmd+F to open the find dialog, cmd+G for "Find Next" (which is great because it's right next to cmd+F), and cmd+E cmd+G for "search for selection". Every macOS app works that way and the F3 key will not be missed.

It's really not that bad. The only key I miss on Mac keyboards is forward delete (Del).

You can change Fn keys behaviour from prefs and I believed all developers would have defaulted to Function keys but seems not so.

Chrome, IntelliJ, VSC all use Fn keys for debugging, and also at least I have mapped most of function keys to some tasks, like F5 for open symbol etc.

Touchbar is only good for some slider like things where continuous strip will help. It is also good for novice users like MSOffice ribbon, they can see a lot of things on screen now and they don't have to hunt in menu or remember shortcuts.

But for a real pro user spending whole day in few softwares, it makes no sense. I have seen pro photoshop users using 3-4 keys long shortcut like second nature, they need access to tonnes of features and variants so more keys the merrier.

Honestly, I haven't seen any real use cases of the touchbar, smileys and photo slider is cute but not something on top of my list to optimise.

fn+Backspace = forward delete

I also make good use of the F-keys, as well as the pgup/pgdn/home/end/del block. I use both Linux and Windows.

With the touch bar, you could now have buttons (virtual, of course) with those labels and functions.

You're describing the 'Fn' mod-key. Everyone else here is describing the F-keys. The 'Fn' key is still there and does what it always did. In fact, it calls up the traditional 'Fn' keys on the touchbar, functionally just the same as the old MBPs, making all this whining look particularly stupid.

Do you use USB or HDMI? You don't use any of the function keys on a mac, like volume, brightness, play/pause? I use those constantly.

And then the lackluster specs. That alone leaves me no real reason to upgrade.

You may never use the Fn and ESC keys (I hardly do either), but this does add to the list of events developers now need to handle in order to develop cross-platform compatible software.

Using function keys as shortcuts is already a terrible idea on macOS because these are used to control the screen brightness, volume, play/pause etc. The TouchBar might actually make it easier for new users to realise what the Fn key does.

either you don't use macbook or not interested enough to look for how to change that behavior. It is a single flag in preferences that allow you to use the keys as function keys and screen brightness etc. with 'fn' key.

I know, but that doesn't make the F keys a good choice for cross-platform app developers. Nobody would release a web browser on macOS where F5 is the only way to reload the page - not before and not after the TouchBar.

I couldn't agree more, this kind of stance is embarrassing from a professional standpoint. It's ridiculous to act like this one special arrangement of plastic on a computer is so crucial to development. All 'real' developers remap their own modifier keys. All 'real' developers use full cherry-mx mechanical keyboards. All 'real' developers write assembly with pen and paper and then print their stack of punchcards once. etc, etc.

Developer here. Dealbreaker for me. All my tools heavily use function keys and escape. If I had no other options I'd just deal with it, but Apple is competing with themselves: since they didn't bother to upgrade the actual performance, I have no incentive to move from my current macbook. And when I do, I'll probably just buy a different brand if they don't release a laptop that's actually useful for me.

Non-developer here. The new MacBook has both an escape key and function keys, as could clearly be seen in the demos and screenshots on Apple.com. So all your tools will still work.

Saying the new MacBook doesn't have an escape key is like saying the iPhone doesn't have an "L" key. It does when you need it to.

I use the F keys a lot in Matlab, but I'd guess that Matlab users are just as much a minority of developers that developers are of Mac users, so I can see why it's not a big deal to Apple. Maybe Mathworks will add some of the functionality to the touch bar anyway.

'almost never use the Fn or ESC keys'

Then I'll wager your knowledge of the capabilities of the apps you use is limited and if you are developing UIs I'll bet that while you consider them slick and sophisticated, they are in reality limited and inefficient.

I put it to you that you've never used a debugger if you've never used Fn keys.

To use the function keys on an old MacBook Pro, you have to chord with the "fn" key to override the brightness, volume, etc controls.

To use the functions keys in the touch bar in the new MacBook Pro, you have to chord with the "fn" key as well.

So where is the difference...

It has always been possible to set those keys to default to F-key functions instead of media functions. The difference here is that the position may not be constant, and you can't feel with your fingers what you're over before you commit to activating the function, so you must look. In some contexts you can "get used to it", but this is a steeper uphill battle.

I would not be surprised if one of the customizations of the touch bar is to set the function keys as the default.

Visual Studio is the only place I've really used the function keys (F5, F10, F11), and I rarely use VS anymore. Outside of that I use F2 when in any kind of GUI that permits renaming of a file or folder.

All of which can be rebound.

What about IntelliJ or Chrome or any IDE for that matter.

I use gdb and never use function keys.

If you have to use debugger then your code must be really bad

I smash the esc key violently every time I climb myself into a corner with Emacs shortcuts and don't know how to get out.

But it's on a proper mechanical keyboard because prolonged use of builtin keyboards hurts my hands.

C-] might be a better bet - it will cancel any active command, like C-g, and also back out of any recursive edits, while leaving your window layout intact.

But it uses C-g as cancel, not Esc.

keyboard-escape-quit is bound to ESC ESC ESC.

Surely the weird thing about removing the escape key is that it is used to bring up the force quit menu (cmd-option-esc). Pretty ingrained in my mind at least, but to be fair not needed that often.

> I almost never use the Fn and ESC keys on my Mac.

While my primary isn't a Mac, my default left hand resting position on my keyboard is index finger on ESC and thumb on ALT.

Apple didn't need to remove the Fn row to have their touch bar.

a huge number of technical types use vim and other CLI/Terminal type tools daily. There are many tools and apps that assume the Escape key exists.

You are not the only one, took the words out of my mouth

Yes, thank you, I was starting to think I'm not actually a real developer, since I can't even remember the last time I even used a function key...

It's just the typical post Apple event trolling.

Well, he goes trough more than the bar.

I have a 2013 15" MacBook Pro, the diference with the top of the line that came out yesterday comes down a slight bump in the dedicated Graphics Card (which I don't appreciate since I use CUDA a lot and as such I actually prefer the GTX 750M to a only slightly better AMD card in the new model), and a 0.1 GHz bump in the processor (back from the 2.3 GHz i7 my MacBook Pro has).

I do understand that taking out the Esc and F* keys and replace it for a smart bar can be seen as a valid design option, but I can't see how shipping a Laptop 3 years later with, lets face it, basically the same specs and ask for the same price can be something positive.

I'm surprised why more devs are not getting upset at the lack of an Nvidia GPU option.

About devs I'm not sure, but I use it a lot at work for simulations (optimised for CUDA) and some Deep Learning and the Nvidia card is a must.

> ask for the same price can be something positive.

Didn't they bump up the base price?

They did, but this is the top of the line option. The price for that one remained the same.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact