16 ms·
Is WSL actually ready for developers?
- hunta2097 8y agoIMO there is a slight history of people wanting to "look the part" by having a Mac. This seems to be changing though, my company has shifted to XPS-15s running Ubuntu and people seem to be loving it. If your company relies on MS Office (we use G-Suite and Confluence) you might not have such an enjoyable time.
- ChrisRR 8y agoI stopped reading at the second line: "As you may all know, developers are a social tribe that is well known for using MacBooks with stickers on them" I don't know if this is an American thing or the industry I'm in, but I've never seen a single developer use a Macbook or have stickers on their laptops. Is this is a silicon valley, web developer kind of thing? Edit: Just to clarify, I'm a low-level C developer in the UK. Most everyone I know uses Windows/Linux and laptops are mostly Dell/HP
- mohaine 8y agoI'm in the midwest and pretty much every dev group that is cloud focused based is Mac based. The transitions from onsite to cloud and the switch to mac seem to go hand and hand. Doing lots of web work with open source software is painful on a corporate (ie very locked down) Windows machine. Once everybody has the same Macbook model you really need the stickers just so you know whose laptop is whose.
- r00fus 8y agoOr stickers so you don't mistake your personal MacBook for your work one (or worse - your spouse's). Pair this with a long commute and stickers become a key identifying factor and stress reducer.
- maccio92 8y agoI'm in the Midwest and none of the groups I've worked with use Mac unless an individual requested it. This seems highly anecdotal. Actually, it seems the Mac users tend to form their own bubbles and shun anyone using PC
- nicolashahn 8y agoPretty much. I started my career in SV at a startup and have a Macbook with about a dozen stickers on it. At all the companies (all startups) I've worked for, they've given me a Macbook pro by default. You'd have to make a strong case to get a PC.
- aequitas 8y agoVery much a thing in the companies I worked for in the Netherlands as well. But it is often a balanced mix of pc/mac and linux/windows/macos instead of a mono culture. Though frontend seems to lean more towards mac.
- robmaister 8y agoYeah you're basically right on the nose with that assessment. The author attempted to use WSL like their mac and had a bad time with it, aside from the text rendering and high DPI stuff that isn't quite as polished on Windows.
- modzu 8y agoactually its extremely prevalent amongst developers -- you will see it at conferences worldwide
- modzu 8y agodownvoted? i mean, this is not controversial: go on youtube and type developer conference for whatever industry you're in and any money says the presenter in the top hit has stickers. its that prevalent. its not a judgement, its just very odd to see it denied. edit: tried it myself. ACCU (C++ conf in bristol). a lot of stickers: https://www.youtube.com/watch?v=FMYazsVW1KA https://www.youtube.com/watch?v=FMYazsVW1KA
- acheron 8y agoI am American, not anywhere near SV. I have never seen a Macbook at work either. There was one guy a few years ago who seemed a bit SV-influenced, and he had stickers, though it was a Windows laptop like everyone else. But yes, oftentimes HN (or an article it links to) uses "developer" to mean "SV web developer".
- dhimes 8y agoI love stickers- I think they're cool. What can I say? I'm pretty old, though, so maybe it's brain damage or something.
- ghaff 8y agoI doubt I've been to a conference that's even vaguely oriented towards developers or even technical folks more broadly in the past 10 years where Macs with project stickers on them aren't the most common laptop, often by far. This is true even at conferences where one might expect Windows to be more common (don't know specifically about Microsoft events but VMWorld, say) or Linux (Open Source Summit and the like). This is broadly tech industry I'm talking about but not some narrow Silicon Valley or web dev space. I'd never believe Macs were only about 10% market share based on pretty much any of my own anecdotal observations including walking into a random coffee shop.
- sz4kerto 8y agoThere's a certain demographic who attends conferences. Yes, they mostly have Macs. No, they don't represent the developer community.
- sametmax 8y agoDefinitely a US thing. In every french conf I go, PC are a majority. In the french PyCon where I regularly give talks, Linux PC always are. The diversity is even a problem in workshops because everybody has a different config and you get weirds errors due to this or that combo. But yeah, you will see stickers. Lots of them.
- ghaff 8y agoI can't say I've taken a survey but Macs certainly don't seem conspicuously absent at a venue like FOSDEM (Brussels). Of course, that's an international event even if it's disproportionately European. It's probably fair that the further you get from US tech companies in general and possibly Silicon Valley in particular and the closer you get to developers doing open source in their spare time in non-US countries, the fewer Macs you probably see. If only because of price. ADDED: And, of course, if you look around inside a company that mostly runs their infrastructure on Windows, most of the developers will be running Windows on Dell/HP/Lenovo/etc. machines.
- wink 8y agoDepends on the events you visit, I'd say I saw a 40/40 split of ThinkPads and Macs with 20% "other" - but I know it's not really representative, as I've mostly visited smaller events focused on non-enterprise stuff, or DevOps confs, or close to the CCC. In my web dev days in small companies there were more macs though.
- halfnibble 8y agoNot just Silicon Valley–it's a West Coast thing. Go into any hip coffee shop in CA, OR, or WA, and you'll find a sea of MacBooks covered in stickers running brightly colored IDE's (and at least a few running vim). The stickers are usually souvenirs from tech conferences, employers, cool startups, and hackathons.
- sz4kerto 8y agoBut hey, most developers don't sit in coffee shops :) they are sitting in offices, mostly working on proprietary software that is making hundreds of millions of dollars per year for the company.
- et-al 8y agore: stickers on Macbooks In an office, or conference, where multiple people have the same work-issued laptop, the easiest way for folks to not mix up their laptops is to slap a sticker or two on it.
- Sahhaese 8y agoYeah in the UK it's not particularly common for developers to use a mac from what I've seen. That might be because generally C#/.Net is the main choice of enterprise which was traditionally all windows.
- LoSboccacc 8y agosame here. I know a couple or few more that actually do the mac and sticker thing and even then it's on their personal devices, not work issued ones. at best author is just another victim of selection bias, at worse he really believes everything he doesn't experiences doesn't exists.
- magduf 8y ago>I don't know if this is an American thing or the industry I'm in, but I've never seen a single developer use a Macbook or have stickers on their laptops. I work on the East coast and in one of my recent jobs, a couple of the younger (under-30) engineers had stickers on their laptops. This was definitely not Silicon Valley or any industry like that, and these were Dell Windows machines, not Macs.
- nnq 8y agoLinux-loving developers can switch to MacOS and get productive with it instantly... American devs probably default to Macs instead of Linux because some of their non-tech friends also use Macs. As a European dev I just use a Mac because I love the Linux-ecosystem but I also need/want to run preferred photo/video-editing software on same machine I code on. Very few Linux-loving-devs have audio-visual-creative hobbies and a need to use "one device to rule them all", hence not that many devs with Macs in Europe, simple :P
- ghaff 8y agoThat makes sense. For low-level C, you probably want to develop on whatever your target platform is. I'm sure most Linux kernel devs have a Linux laptop. In fact, Linus Torvalds made an argument along these lines in the context of ARM. (Basically, we need ARM laptops if you expect to get developers developing for ARM servers.)
- m_mueller 8y agoAgree with all of these. But compared to Macs you get a couple of things: * native and fully supported MS Office * ecosystem of professional windows apps (atm. I need MS SQL Management Studio as an example) * much much better connectivity on laptops. bye bye dongle land. * a wide variety of hardware options to choose from, including ones with great keyboards. even the latest Thinkpads have vastly superior keyboards compared to 2016+ MBP. * gaming At the end for me personally, the tradeoff was worth it. I switched last summer and by now I'm not missing much. Same with iPhone - switched to an S10e last week and I'm already used to it. There's a couple of things still stuck in Apple land, such as our photo share - not yet sure what I'll do about that. I was an Apple customer for 13 years before - at some point I had to cut it off, it made me too angry.
- hsk823 8y agoOutside of Excel and random macros that no one uses anymore, Office has effectively reached parity for most users. Again many developers are on a non MS stack so access to MSSQL tools is for the edge case of web developers who need to develop for .NET / MSSQL backends Have you seen recent Windows machines? Yes you can find a machine that meets your port needs but many like the Surface Pro are also in dongle hell. Same idea, sure you have an entire universe of manufacturers to choose from, you have many more options and choices to run Windows on. Good luck to you when Windows / Android start to inevitably start to go buggy after a year or two and rebuilding OSes all the time.
- CoolGuySteve 8y agoHaving worked for companies that used both, I actually vastly prefer G-suite to Office. Office seems to have stagnated over the years in the corporate environment. The two main issues are 1) email search is slow and returns weird results and 2) shared document editing is non-existent so people email everything to each other, things go out of date, no version control, etc. I’m much happier now using Linux with G-suite than I was using Windows and Office just because the rest of the developer experience in Linux is so smooth. In finance, there’s also something to be said for the culture of a company where people know to use numerical software like R or Pandas instead of leaning on Excel. Like over the years I’ve noticed that the kind of person that insists on sending me Excel spreadsheets is markedly less conscientious.
- strictnein 8y agoThe question isn't "Is Windows ...", what he's actually addressing is the question "Is WSL actually ready for developers?" Windows is. All of his issues either seem to be from WSL, complaints about keyboard shortcuts, or not setting up his monitors properly (his claim that Windows doesn't properly support 4k monitors is a strange one). To be honest, I don't get why he's installing VS Code on top of WSL, when you have native windows VS Code. This seems completely unnecessary, but maybe I'm missing some benefit?
- nikofeyn 8y agothere is zero benefit. windows can now access wsl files. also, you can setup visual studio code to run bash in an integrated terminal and thus call command line application in the wsl. also, using "wsl.exe <name>", you can call a wsl application from cmd or powershell.
- shawnz 8y agoBut you can't, for example, tell a Windows instance of VS Code to use the WSL Python binary for debugging Python applications. It will run the binary just fine, but it won't know to translate the Windows file paths into WSL ones. So you will just get a file not found error any time you try to use it.
- nikofeyn 8y agothat's not true. i use visual studio code and emacs, both on windows, to develop scheme that runs on wsl (since many schemes don't support windows). in visual studio, i use bash in the integrated terminal which takes care of running the binaries on wsl, and in emacs, i update my user init file to use "wsl.exe scheme" for the scheme application, where "scheme" is in my wsl path. launching a repl works just fine, and it's able to load files without issue. what path translation are you talking about? if there's an actually a problem with something you've tried, then it is probably a problem with python and not the setup. as i said, i regularly do what i mentioned above with no issues. wsl can see both files local to it and on the windows system.
- Areading314 8y agoI develop on windows using wsl and jet brains suite, and I've never been more productive. In general I find windows to have much better keyboard shortcuts than mac, because of universal alt key menu navigation. I've also learned over time that the more you can script away your cli workflows, the less RSI you'll develop. Plus the hardware is much cheaper.
- orev 8y agoIt has always bothered me that developers insist on using Macs for development. Sure, it’s Unix, but how many servers are running macOS? Zero. You need to develop on a platform that matches what’s running in production. Production almost always uses some form of Linux, so you at least need a local VM running Linux. Then it doesn’t matter if you have Windows or Mac as your main OS, and you can use the tools you need in those platforms, but otherwise actual builds and testing should be happening on the VM.
- hannofcart 8y agoEven in my company, we have a mix of Macs and Linux machines with our infra running on dev machines via docker-compose. While this ought to make machine specific tinkering unnecessary, it's never the case.
- jmull 8y agoIf it doesn't matter whether developers are running MacOS or Windows, why does it bother you that some developers prefer Macs? Isn't completely fine?
- orev 8y agoYou are mischaracterizing the discussion. The builds and testing should be done in an environment that matches production, and macOS does not match any production server environment available today. Developing on Macs is frequently done on the MacOS itself because it’s Unix so people think it’s close enough. Once you use a VM for the builds and testing, then it doesn’t matter.
- Slippery_John 8y agoIt's close enough to linux for most use cases. I can count on my hands the number of times I've needed to spin up a linux machine to debug an issue in the last four years. In the meantime I have an OS that I don't have to constantly maintain while also having access to up-to-date packages via homebrew.
- toast0 8y agoI agree completely. I run FreeBSD on servers, and macOS userland was ported from FreeBSD (once, in 200x and rarely touched again), so there's more parity than Linux, but there's still plenty of things that are different, so once I buckled down and started using a VM to run my code, Dev and prod were a lot better matched, other than perf. Also, it's not very many of our users are running macOS on their desktops, so any desktop testing had to happen in a VM or another computer too.
- modzu 8y agoyes, we're in a more cross-platform world now than ever before!! you have WSL and git bash, intellij tools are class-leading, etc. that said, if you're not a gamer, why not linux? EDIT: oops, thought this was an ask-hn.
- Crinus 8y agoI do not think Windows ever stopped being an option for developers. Perhaps web developers prefer to use a Unix-like OS since a lot of the work they do is running on Unix, but not all developers are web developers and not all web developers are using a Unix-like OS (FWIW none of the web developers i personally know are using Linux or macOS). I think this sort of perspective is a bit of a bubble, considering that Windows has something around 85-90% desktop/laptop market share and developers aren't really any sort of special snowflakes to expect anything different (even if Unix-like OSes are more likely among developers, it will only be a bias towards them, not something that inverts a 9 out of 10 statistic).
- GnarfGnarf 8y agoThe article refers specifically to Web development. I manage & develop a Win32 desktop app (because that's what my customers use). I am converting to Qt so I can also run on macOS. I cannot imagine why I would ever consider an option that does not run on the Mac, such as WPF or WinRT. (My customers hate Parallels, VMWare Fusion and Wine).
- Const-me 8y ago> I cannot imagine why I would ever consider an option that does not run on the Mac, such as WPF or WinRT. For some applications cross-platform frameworks are good enough, Electron has become quite popular. For others, native frameworks just work better. Works both ways, same for Cocoa. For example, it’s hard to integrate Direct3D or Metal into QT.
- dwags 8y agoI've got a pc and mac and I web develop on both -- Normalized hotkeys in vscode and I use git bash. Have to hop in to cmd for some very specific things but I could really care less which machine i'm on if i'm just developing
- austincheney 8y agoI typically write Node apps. My build step, test cycles, and application commands all execute identically on Windows and OSX.
- robmaister 8y agoAs someone who develops primarily on Windows and occasionally uses a Mac Mini to build iOS binaries, I feel vastly less productive when I'm using macOS. I've also come to realize I use my Home/End keys a lot since my Magic Keyboard doesn't have them. It's not that macOS isn't "developer ready", it's that I'm used to the Windows way of doing things and have those keyboard shortcuts in muscle memory. The main reason I like Windows as a development environment is Visual Studio. I wouldn't trade my data breakpoints, variable watch list, memory views, and Intellisense for anything. Then again I'm working on games, i.e. multi-million line C++ projects that run on 4+ platforms. Most of that stuff is unnecessary in other situations. Also good luck getting any of the console devkits/SDKs to run on anything but Windows.
- cferr 8y agoI don't think I could be nearly as productive without my home and end keys. I even use insert quite often, because Ctrl+V doesn't paste in a Linux console. Shift+Insert works pretty much everywhere though.
- nnq 8y ago> Home/End keys On MacOS it's good to get used with unixy/emacsy shortcuts like Ctr-a/e for Home/End. Fn+Left/Right works too (and Fn+Left has a slightly different behaviour). Basically if you love Linux and unixy tools you can get productive on a Mac in no time... The developers who love Macs are the ones who love the "unix spirit" but for whatever particular reasons can't do all their work on a Linux desktop, if you're not into that then stick to Windows :P
- smrtinsert 8y agoI don't understand the Mac dominance. The last few updates on MacOS have bricked so many coworkers machines. Unbelievable. Font rendering, yeah ok, still seems to be nicer, literally that's the only advantage I see.
- nnq 8y agoAs someone who kept switching Window -> Linux -> Windows -> Linux -> finally Mac, I can say that a MacBook is a breath of fresh productive air for anyone developing software intended to run on a Linux server somewhere but still wishing to have photo/video-editing and ms office software at hand: - all Linux stuff you'd want is available and "just works" - default Terminal is amazing and enough for me and most (iTerm 2 is there for whoever wants more) you'll get a sane Linux-like experience where copy paste just works in the terminal etc. (not the hellish terminal experiences you'd have on Windows even with smth like WSL) - also, even things like the touchbar play well with Terminal, you can open a man page from touchbar, change terminal bg color shade from TB to mark a production server ssh terminal tab as "dangerous" with a shade of red etc. ...lots of "small touches" that matter a lot - mac keyboard is amazing for developers (you'd get the wrong impression that it's bad for developers from people complaining about the touchbar upgrade, but disregard that): -- having Cmd and Ctrl keys be different means that you can have all you unixy/emacsy ctrl-p/n/b/f/a/e just work in all your desktop GUI apps too (the feel of having ctrl-a/e work in Chrome, VSCode, and other "regular apps" is amazing!), and the same time you can Cmd+C/V copy/paste in the terminal same as in other app - it's hard to put in word the nice warm fuzzy feel this good mixing of unixy-world with GUI-world gives you! (it's the opposite of Windows where the "two paradigms" feel like locked in a cold war with each other and you always have to switch your brain when switching tools) -- Fn key is in the right correct place you'd expect it, bottom left, just like on the Thinkpads you know and love! -- OS settings allow easily remapping things like CapsLock -> Ctrl that lots of people will do (if you're more into Vim than Emacs you'll do CapsLock -> Esc, that's in standard settings too) - multiple virtual desktops + external monitors etc. works productive and intuitively: if you love Gnome, you'll likely love MacOS too! (Also, tools like Divvy give you some features of tiling window managers if you're into this, and they also enable windows-like split-left/right shortcuts. Btw, there's an equivalent tool for Gnome/Gnome-based-Unity on Linux side too). I'd urge all developers coding for Linux or Android to leave Windows for a while and try either (1) Linux on a Thinkpad (preferably a Gnome-based desktop if you're a developer new to Linux: Ubuntu, Pop!_OS, Fedora etc.) or (2) a MacBook: both experiences are slightly annoying to get used to at first, but dramatically increase your "feel good" factor and productivity! Windows may seem enticing hardware-wise (SurfaceBooks are amazing with their nvidia gpus etc.), but unless you write software targeting the Ms ecosystem, they are horrible machines for both developers and creative people imho... Window should be your last option in 2019 if you're a developer!
- pixelpush 8y ago"Windows high DPI screens support sucks. I have a 4k screen and everything looks very small. There is an Accessibility option to increase the size of the windows. However, when you do that, most of the applications look very blurry and it is even more annoying." In my opinion, Windows 10 has the best High-DPI support of all systems. It allows you to change scaling in fine increments on per-display basis. Moving windows from one display to another scales them pixel-perfect, if supported. Pretty much all applications I use regularly work fine. On Linux, the only thing I found to work out reasonably well is 2x scaling. I can't speak for Mac OS, but in my recollection the non-2x scaling isn't pixel-perfect. "The text is rendered very poorly in Windows, creating a kind of chromatic aberration around it." This is ClearType sub-pixel rendering and again in my opinion it's the best font rendering of all platforms, though FreeType on Linux works about as well. Font Rendering on Mac OS is just blurry by comparison. With Retina displays it doesn't matter so much anymore, but it was really annoying on the lower res displays. Perhaps the author has it misconfigured for his displays and needs to run the builtin "ClearType Text Tuner" tool. "Microsoft has made great efforts to support the needs of developers and creators, but as of 2019, I think OSX is still a stronger option for developers." If you implicitly rely on a lot of UNIX-specific stuff, Windows will suck. That probably won't ever change.
- avryhof 8y agoJust moved from Linux to Windows at work. It's not WSL I find myself using to have a good shell experience. It's MinGW/mintty. I even got a plugin to wrap it around WSL, since the Windows console experience is pretty painful. I miss my middle-click pasting and nice color schemes. I just wish I could setup the path translations in PyCharm to use the same mapping. Things work, (and not too bad) but I just hate having to rewrite all of the paths in my environmental variables. My other gripe is with the Cisco VPN client running all internet traffic through it, rather than having OpenConnect sort it out ahead of time.... but that's not really a Windows issue.
- gfiorav 8y agoI use WSL for NodeJS professionally, and I can't find any troubles. It was hard to get to the point were my terminal was easy to look at, but that's it. There's also a great community of Windows employees bettering Windows Console, with honesty and humbly (they even created a themer that reads iTerm2 style files). With a bit of patience, you can get it to the point where you never look back. Also, very important: my employer disables real-time protection, which otherwise would make WSL unbearably slow. Make sure you test on an old PC before committing fully to it.
- shawnz 8y ago> The text is rendered very poorly in Windows, creating a kind of chromatic aberration around it. Coming from an Apple MacBook, this turned out to be quite annoying, because I didn’t know if my design looked bad or if it was just Windows messing up with it. I think the OP is describing an intentional feature (subpixel antialiasing). Mac OS Mojave disabled this feature by default because you don't need antialiasing if your screen resolution is very high. The chromatic aberration is ugly, granted, but the technique allows you to get a higher effective horizontal resolution which ultimately improves readability on low-resolution displays. And if you don't need it, well, it can be disabled on Windows too: https://www.isunshare.com/windows-10/turn-off-or-on-clear-type-text-in-windows-10.html https://www.isunshare.com/windows-10/turn-off-or-on-clear-ty...
- scarpino 8y agoMy company doesn't allow Linux machines, and I prefer a Unix-like environment for the work we do, so it's Mac for me. I could do most of what I need on Windows, but I feel like doing my work on Windows takes ten more steps than it does on the Mac. I prefer using Windows at home, and I can write software on it just fine.
- davidhyde 8y agoI find Windows to be more and more hostile towards development these days. Windows 10 may have a very impressive kernel but the UI (aka Explorer) is a nightmare of "simplified" screens. Something like UI spaghetti. Windows search and windows defender constantly spin your laptop cpu fan to max speeds because, you know, nobody minds a noisy laptop that they are not actively using. Windows updates are constant, slow, often fail altogether and completely out of your control. Your machine may reboot at any time so good luck with that long running task. It's like they shipped a swimming pool that was actually a sieve and they are madly patching it every day. Windows doesn’t respect the users desire to put the laptop to "Sleep". It will wake up at any time and often just stay awake and drain the battery. Windows has also become some sort of hybrid advertising and tracking device which you can, admittedly, disable although some things like the search listening service Cortana really does not like being disabled. Not everything is doom and gloom however. The virtual machine engine HyperV is extremely fast and easy to manage making things like Android development is a pleasure. Visual studio keeps getting better too.
- dariusj18 8y agoI used to use a mac, but moved to Windows when it became obvious that Apple isn't making top of the line laptops anymore. My old MBP was one of the best computers out and stayed at the top, spec wise, for a while. Eventually I needed more, but when I looked at what I could get for the money, Macbook Pros were ridiculous. Moving to Windows had its hurdles, when an program doesn't support font scaling it's a pain in the ass, I bought a non-4k monitor just to make sure I would always have the ability to use apps that broke on my 4k. WSL is amazing and easy to use. Mostly I found I missed the Windows ecosystem. OSX has a few nice programs, but does not compare to the options available for Windows.