Hacker News new | ask | show | jobs
by vhab 3719 days ago
There seems to be a lot of conspiracy theories going on, on what I personally believe to be a really straight forward and logical reaction.

From my perspective, "Bash on Windows" is a reaction to the wide adoption of OSX for development (In particularly web development seemed to have a mass migration).

For obligatory anecdote:

I'm a longtime and loyal Windows user. Windows has been my primary development platform even though parts or all of our stack ran on some flavor of -nix. I've always encouraged my team to do the same, primary motivated by the better UX on Windows.

But, like many in the past few years, I jumped the OSX bandwagon and moved the entire department over. This wasn't a fun transition, and came with many pains. But ultimately it was a necessary transition as the tools we needed just weren't supported on Windows.

Development became more complex, tooling became mandatory at every stage of development and only OSX offered us a reasonable balance between a -nix-like environment that ran the tools with decent UX.

Microsoft's move to bring Bash to Windows will likely motivate me to migrate back in due time.

While some may be spinning conspiracy theories, I'm personally just really glad Microsoft is moving in this direction.

4 comments

You talk like developing on Linux means doing everything in the command line. *nix UX is nothing to be ashamed of, and I personally prefer it over Windows and OS X (especially OS X).
From an IT and "just works" perspective, Linux was a no-go for us.

It wasn't particularly about the UX on Linux desktops, but rather they don't fit in our company culture when it comes to how assets and IT are managed.

Which is why I wrote it from my own perspective as an anecdote.

As usual, YMMV

Personally, the reason I like OS X over a random linux distribution is the sane keyboard shortcut defaults - CMD+C and CMD+V just work everywhere, as well as things like CMD+W.

Well, almost everywhere. And CTRL+F is still a little wonky depending on the app you're in.

For me it's the other way.

In Linux there's a clear separation of CTRL for sending messages to the app --ALT for commands-- and SUPER for messaging the OS.

I found OSX very confusing trying to mix everything into a single key.

Oh, that's an insight I've never thought about. It never occurred to me that they had different purposes.
Where on Linux do Ctrl-c, v, and x not work? I haven't had a problem with them anywhere in a decade. I have largely stuck to Gnome2, MATE, and XFCE, though.
The problem with Ctrl C is that it is also the shortcut for SIGINT when the terminal is focused.

Also most terminal emulators will forward all Ctrl combinations directly over the TTY rather than capturing them in the windowing system, so in practice Ctrl-V rarely works in a terminal either. Likewise for Ctrl-W, which is typically bound to backwards-kill-word, etc.

The way it ends up in practice, shortcuts involving the Command key on OSX end up being clearly defined and consistent, because apps typically can't override them.

You need ctrl+shift+c and ctrl+shift+v, etc. in a terminal.
As a die hard Linux fan, I'll admit that it'd be nice if ctrl+left/right worked the same everywhere.

On most editors it moves me one word, on the command line it inserts the control characters.

Same story for ctrl+backspace and ctrl+a.

Ctrl-v doesn't work in lxterminal.

("Paste" is on the right-click menu though.)

Yeah, there's a development tool I was watching that worked entirely the same on Linux and OS X, but then it has to have a special sidebar for 'if on Windows, do this'. And this will likely be able to go away with Bash for Windows.
I agree with you 100%. The only thing I worry about, with "BASH on Windows" is how separate the subsystems are. On OS X I can interact with the desktop using osascript. Is there anything like this in the new Windows stuff? I fear there will not, based on what I've read so far.
More anecdata of that: we all have Macs for doing Java web server development at my job, which is for the UC (Davis), rather than some startup.