Windows is what we get. I tried running Linux, I can't get our vpn software to work. I proposed reverse SSH tunnels, they call it an "unmanaged endpoint", deemed unacceptable.
Cisco anyconnect, I know it can work on Linux, and I talked to some collegues using it on Linux on a "don't ask, don't tell" basis, but they had to hack some cert from the Windows version and I'm sure that IT would frown upon this.
I tried installing a second disc in my laptop for Linux to try just this anyway, but I broke the laptop. Yeah this HP laptop has a 2.5" bay and an m.2 connector and it looks like you can use both at the same time, and you can! But if you read in the manual it says you can't because it puts strain on the connector and indeed, the "laptop died" after some days (pretty bad design I'd say). I didn't try anymore after that.
Interesting to see such a representation of Windows.
My experience is that the only places where devs are using Windows is when it's mandatory, but when offered a choice, you end up with a 50/50 split Linux/MacOS +/- 25% depending on the company culture.
And even when Windows is mandatory, most devs try to find escape hatches like WSL2 or a VM
I'm not sure it's fair to call WSL2 an escape hatch. I use Windows for work because I like the more polished experience of the desktop, but I can just open up a Windows terminal instance and I've got a linux shell (via WSL2). And best of all, I can access the files directly with `explorer.exe .` if I need to.
WSL2 is literally a whole OS shipped alongside windows. (with nice integration done by the windows devs)
Regardless of the implementation, the fact that you have to use it in the first place instead of native windows tools speaks volumes about how useless windows is for development. I can not fathom how anyone can consider it anything other than an "escape hatch".
For the type of work I do, Linux or Mac or WSL works. My preference also falls in that order, but WSL really does make Windows pretty painless for me. Now if they just ditch it all for Linux+WINE, that'd be great. ;-)
I have the Zsh terminal directly in the file explorer (slightly hidden in the screenshot), and also the KDE text editor (Kate). With the tab completion in Zsh, I often find it faster to navigate with "cd w-a/s/m/r/c/e/as<TAB><ENTER>" to go to "/home/symbiote/Workspace/work-app/src/main/resources/com/example/assets" than by clicking.
I also use KDE for the wide range of configuration options. From scratch, it takes me about 5 minutes to go through all the settings to put everything as I like it -- of course, this is only necessary on a completely new system, e.g. at a new job. On the screenshot, I think the only visible change from default is the ^^ and vv buttons next to minimize/maximize, which are "Keep this window above/below" toggles.
Invisible things are mostly keyboard shortcuts for moving windows around, mouse behaviour, auto-starting apps etc.
My experience is that the only places where devs are using Windows is when it's mandatory
That is a very narrow (dare I say Silicon Valley) view of the world. I know tons of developers who love Visual Studio and cannot imagine programming without it. Plus there is a whole world of developers out there happily writing and shipping software that runs natively only on Windows.
I've found the opposite - with the companies I've worked for (all Australian) in the past 10 years, there's been a total of 5 developers I know of who ran Windows (and that's including a person who used to work at Microsoft).
Indeed. It depends what you're doing. Web development, yes, I can see why you'd want a UNIXy system for that. But a lot of the enterprise is Windows-first and if you want a desktop app, that's what you'd develop on. If you're doing embedded development you may have a choice of exactly one operating system with the manufacturer's toolchain.
Do not underestimate the power of full Visual Studio. It's a bit bloated, and it's even slower with Resharper, but if you're working in C# it will do a lot for you.
C# still has a large mind-share in enterprise. And while it's net core is cross platform these days, Visual Studio (Windows) is still the preferred way of working for many.
In decades of software development in Danish enterprise and smaller companies I’ve never worked in a place that didn’t use windows. I don’t think I’ve worked in a place where using WSL wouldn’t be more of an administrative hassle than it was worth either.
Windows isn’t such a bad place to develop these days, depending on what you’re developing of course, but I’ve never had issue using Python, dotnet (as in the cli, not visual studio) or anything related to typescript or node in general.
I don’t particularly like using windows. I can’t tell you why, I used to like it, but I haven’t since I switched from 7 to 10. Which is sort of ironic considering that developing on windows has gotten much better with windows 10, but well, it’s probably just my personal opinion. So I actually often work on things on my personal Mac, which is sort of easy in todays environment if most of your assets live in the cloud which ours do. But I don’t mind using windows, about the only thing that annoys me these days is that you use “cd” instead of “ls” in the non shell terminal.
Danmark is very much still Windows first country for developers. Macs are showing up more and more and a few can use Linux. The thing is, those companies I know who allow their developer to use Linux, provides their employees with two computers, a Linux developer workstation, and a Windows machine for "other stuff".
I have the same issue with defining exactly why I don't like Windows. Part of the issue is my hand cramps up when I use it, but I don't know why. Windows seems sluggish, but people who measure these things says that it's not.
Re. everything is Windows in Denmark, my understanding (backed by a few acquaintances as MS) is that Denmark is being actively pursued as a test-marked by Microsoft: It is a sufficiently advanced market that they can get everything tested, and sufficiently small that they can sell at loss without large expenses.
My experience working in a large Danish Corp. is that you need a really good reason before you can get a non-Windows machine, and if you do you still need a Windows machine on the side. Still, coming from a decade of OS X and GNU/Linux, Windows was actually surprisingly workable as a development environment.
I've heard that the situation you describe is common in Silicon Valley. Based on my personal experience in Sydney, Australia, the distribution is about a 40/40/10% Win/Mac/Linux. I've seen about the same amount of companies giving either Mac or Windows as the default, and almost always people can request a different OS if there is a specific need. In all other countries where I've worked (Italy, Thailand, Indonesia, Brazil) it's more like 80% Windows. I'm basing this on my direct experience in companies I've worked at, I don't have statistical data.
I willingly use Windows. It's what I'm most familiar with, and I prefer the much nicer desktop environment where things "just work" a lot more. Anything I absolutely need to do in Linux will usually have a workaround in Windows (especially with WSL).
I've played with visual studio code ssh remote development with angular and it is relatively painless to set up for debugging with Firefox. Give it a shot if you'd like.
I’m a developer at Amazon and was at Disney before (both very corporate environments). In both companies I run Linux on my laptop/desktop as my primary development machine.
By contrast I'd never seen a developer use a Mac until a few years ago except maybe a few people at conferences. Then the past few jobs I've had have all been Mac-dominant.
ArchLinux with Plasma 5 for everything. Coding at work, automating at work, gaming, homelab and servers. I tried Windows 10, but WSL doesn't feel the same, too many walkarounds to get to my way of working. Tried MBP it was alright, but CPU is too hot with 2 external screens not even doing any work. Attaching 3rd screen doesn't always work, doesn't detect the screen, it seems to be a power-consumption issue, and then I run out of USB ports. Linux PC has best performance with 4 screens and gives be best tools.
Is it really developed on Windows if Windows is solely only used as thin client to access something else? I'd say for examples #2 and #3 the development OS is definitely Linux.
#1 is the only where I'd lean towards "Windows", since WSL tends to involve a much more split workflow, where a lot of your interactions happen outside the VM.
Why is #2 not Windows? He is in Windows. That remote machine hosting a notebook may tomorrow be replaced with Windows, and he would barely notice if he didn't put a lot of shell in his Python.
Yes, unfortunately phrased question. I think they are asking what OS is your development environment on, not deployment target. But a little ambiguous and so will probably be slightly unbalanced in it’s results.
From someone who has done heavy development on both - I would say it's quite difficult to get used to the filesystem, non-POSIX (which is why mac users and linux users tend to find affinity), windows API being a bit arcane (Things like user-groups, event viewer, and process explorer being mostly dated UI apps with unique and strange windows API calls), services vs daemons, session-zero.
I would say it's great at a user level, but under the covers you have to be a true windows grognard to know what is going on.
I've switched to Windows from Ubuntu on my desktop for development. I do miss some things but WSL2 is surprisingly good, the bluetooth stack doesn't randomly fail (as often) and having access to Windows and Linux tools at the same time without having to dual boot is very useful
Could you please elaborate why? I found macos/ios to be the most annoying platform to develop on by far, expecially if you are trying to make some kind of cross-platform software. For webdev grunt work, in 2022, I think there are no dramatic differences between the 3 OS...
It's not because you don't understand something that other people cannot live with it. Dare I say, I pity such lack of imagination? FWIW I use both limux and windows, if that even matters.
I used to develop on Linux, but eventually wanted something that "just works" so I switched back to Windows. Much less time spent tinkering and more time spent getting things done, and WSL saves me from having to learn Powershell (even if I only hear good things about it).
Never even considered MacOS as an option. Not as good for tinkering as Linux, and with 17% market share (both in my country and global average) it can't deliver the "everyone supports this, everything just works" that I got with Windows (it also doesn't help that Apple lately seems to happily break anything not sold by them)
It's actually more like 15% globally, if you use statcounter.com numbers [1]. I was being generous by using the early 2021 numbers. Statista probably uses the same source [2]. Netmarketshare puts it at about 10% [3]
> I used to develop on Linux, but eventually wanted something that "just works" so I switched back to Windows. Much less time spent tinkering and more time spent getting things done, and WSL saves me from having to learn Powershell (even if I only hear good things about it).
I must be the strange one here since WSL is a hardcore nope from me. Mainly because I've gave that setup a chance last year and then after two hours of work I've noticed Windows git or WSL changed all my carriage returns to CLRF and basically broke all scripts and pipelines.
> I used to develop on Linux, but eventually wanted something that "just works" so I switched back to Windows. Much less time spent tinkering and more time spent getting things done
I started recommending WSL on Windows to a few friends who wanted to get a taste of how Linux works after hearing praises about it although I've never actually used it myself. I recently realized that systemd doesn't work on WSL (without ugly hacks) and /mnt also mounts Windows disks.
I have stopped recommending WSL since then. Although I don't recommend anyone to use Linux either.
WSL works pretty well for typical command line usage (your typical "grep | sort | uniq" stuff) or for "this command line tool only runs/compiles on linux" usecases. If you push it much more than the abstraction starts getting leaky and you have to get more involved (though WSL2 can be pushed a lot more, e.g. getting systemd running in WSL2 doesn't seem that bad [1]).
Some might pity you for not being able to add those beefy GPU-s into your setup. I know, external GPU-s exists, which is cool if you miss the Commodore 64 era of plugging a bunch of devices together.
Why? My career as been split pretty close to 50/50 between developing on *nix and Windows. And while both have strengths and weaknesses I wouldn't say one is better than the other. If you put a gun to my head and said I could only use one desktop OS for the rest of my life I would probably choose Windows.
I use Windows to develop at home, and Ubuntu at work. I much prefer Windows. The only advantage Linux has is the terminal environment. The GUI is crappy. The memory handling is atrocious, if it starts swapping it'll freeze for twenty minutes before the OOM killer finally kicks in. Multiple monitor use is a crap shoot, I'll always get one black screen after resuming from suspend. Windows is miles more stable. And this on a Dell XPS 15 which is supposed to have great Linux support.
There are two major and many smaller desktop environments for Linux. KDE is more like Windows, you could try that. (sudo apt install tasksel; sudo tasksel install kubuntu-full to get a KUbuntu equivalent, or just sudo apt install kde-full for the main things. Though you may well have a colleague already using KDE.)
Unless you need it for the type of work you do, you could disable swap, or reduce it to a small amount.
(I don't have a laptop, so I can't comment on suspend.)
I develop on Windows voluntarily. Funnily I was not able to set-up Docker with CUDA on any of the Linux distributions I have tried, but on Windows with WSL it worked pretty much out of the box.
I use CLion on Ubuntu and it's an absolute joy to use. Debugger is absolutely on par with VS in my opinion - and if you are missing something, gdb is always avaliable within a terminal.
I primarily do backend (PHP) dev. I write code on a Windows machine. I test it on a server running GNU/Linux, and deployment is also usually on a server running GNU/Linux.
I've noticed more and more editors (TV news rather than movies) moving back to windows over the years, the stranglehold that FCP7 and the macbooks from 10 years ago (having supplanted avid/windows) had on shoot-edits isn't anywhere near as concrete as it used to be.
For producers and reporters, the OS has changed from Windows to Chrome
Unfortunately, Windows at work as of late. But I've been surprised at how not-that-bad it's been. With Webstorm + Windows Terminal + Chrome, I have an almost identical frontend workflow to my previous job on MacOS, and barely have to touch anything Windows-specific.
It's not been the easiest, but with little exceptions, I'm Nix and NixOS all the way down now. The end result has been very good once it's rolling though.
I use Arch Linux with dwm as my daily driver as a software engineer. Sure there is some initial pain setting it up but it’s been rock solid and super fast, never have any problems with it and I love how customised it is to my needs. I only use Windows to play games, while they may work okay with Linux this is certainly not the case with dwm.
Games on Linux are still hit or miss in my experience. With very simple setups (keyboard, mouse, one GPU) it can work okay-ish, but something "exotic" like gamepads, or multi-GPU setups still cause way too many problems.
Windows is a very fine game console, in comparison.
153 comments
[ 2.9 ms ] story [ 212 ms ] threadFor personal stuff, Linux.
For personal stuff, Linux right on the silicon.
[1] https://github.com/schlatterbeck/snxvpn/network/members
I tried installing a second disc in my laptop for Linux to try just this anyway, but I broke the laptop. Yeah this HP laptop has a 2.5" bay and an m.2 connector and it looks like you can use both at the same time, and you can! But if you read in the manual it says you can't because it puts strain on the connector and indeed, the "laptop died" after some days (pretty bad design I'd say). I didn't try anymore after that.
> you can't because it puts strain on the connector
Well that looks like a feature designed to sell more laptops.
My experience is that the only places where devs are using Windows is when it's mandatory, but when offered a choice, you end up with a 50/50 split Linux/MacOS +/- 25% depending on the company culture.
And even when Windows is mandatory, most devs try to find escape hatches like WSL2 or a VM
Regardless of the implementation, the fact that you have to use it in the first place instead of native windows tools speaks volumes about how useless windows is for development. I can not fathom how anyone can consider it anything other than an "escape hatch".
It's an interop layer to allow you to interact with GNU based operating systems from Windows. Linux (or Debian etc.) is the OS.
I have the Zsh terminal directly in the file explorer (slightly hidden in the screenshot), and also the KDE text editor (Kate). With the tab completion in Zsh, I often find it faster to navigate with "cd w-a/s/m/r/c/e/as<TAB><ENTER>" to go to "/home/symbiote/Workspace/work-app/src/main/resources/com/example/assets" than by clicking.
I also use KDE for the wide range of configuration options. From scratch, it takes me about 5 minutes to go through all the settings to put everything as I like it -- of course, this is only necessary on a completely new system, e.g. at a new job. On the screenshot, I think the only visible change from default is the ^^ and vv buttons next to minimize/maximize, which are "Keep this window above/below" toggles.
Invisible things are mostly keyboard shortcuts for moving windows around, mouse behaviour, auto-starting apps etc.
That is a very narrow (dare I say Silicon Valley) view of the world. I know tons of developers who love Visual Studio and cannot imagine programming without it. Plus there is a whole world of developers out there happily writing and shipping software that runs natively only on Windows.
Do not underestimate the power of full Visual Studio. It's a bit bloated, and it's even slower with Resharper, but if you're working in C# it will do a lot for you.
I also know some small shops enforcing it, but I don't know any dev who uses it because he wants to.
Windows isn’t such a bad place to develop these days, depending on what you’re developing of course, but I’ve never had issue using Python, dotnet (as in the cli, not visual studio) or anything related to typescript or node in general.
I don’t particularly like using windows. I can’t tell you why, I used to like it, but I haven’t since I switched from 7 to 10. Which is sort of ironic considering that developing on windows has gotten much better with windows 10, but well, it’s probably just my personal opinion. So I actually often work on things on my personal Mac, which is sort of easy in todays environment if most of your assets live in the cloud which ours do. But I don’t mind using windows, about the only thing that annoys me these days is that you use “cd” instead of “ls” in the non shell terminal.
I have the same issue with defining exactly why I don't like Windows. Part of the issue is my hand cramps up when I use it, but I don't know why. Windows seems sluggish, but people who measure these things says that it's not.
My experience working in a large Danish Corp. is that you need a really good reason before you can get a non-Windows machine, and if you do you still need a Windows machine on the side. Still, coming from a decade of OS X and GNU/Linux, Windows was actually surprisingly workable as a development environment.
Why would windows be not used by developers? The .net environment is _really_ good these days, and Visual Studio is a top notch IDE.
Even within SV, lots of companies are running Windows desktops.
I actually find it surprising that Linux and MacOs are so well represented.
By contrast I'd never seen a developer use a Mac until a few years ago except maybe a few people at conferences. Then the past few jobs I've had have all been Mac-dominant.
I’m not surprised to see Linux so well-represented (in this crowd). I’m wondering if Unix folks pick that, too, or just don’t participate.
Windows running WSL to support a Linux environment for Python...
Windows running a web browser accessing a colab notebook hosted on a Linux machine...
macOS ssh'd into a Linux box with a tmux "development environment"...
All (my) roads lead to Linux so I'll say Linux.
Basically in your case, in simple terms: Windows.
#1 is the only where I'd lean towards "Windows", since WSL tends to involve a much more split workflow, where a lot of your interactions happen outside the VM.
What are the main disadvantages to develop on Windows?
I would say it's great at a user level, but under the covers you have to be a true windows grognard to know what is going on.
Never even considered MacOS as an option. Not as good for tinkering as Linux, and with 17% market share (both in my country and global average) it can't deliver the "everyone supports this, everything just works" that I got with Windows (it also doesn't help that Apple lately seems to happily break anything not sold by them)
1: https://gs.statcounter.com/os-market-share/desktop/worldwide
2: https://www.statista.com/statistics/218089/global-market-sha...
3: https://netmarketshare.com/operating-system-market-share.asp...
I must be the strange one here since WSL is a hardcore nope from me. Mainly because I've gave that setup a chance last year and then after two hours of work I've noticed Windows git or WSL changed all my carriage returns to CLRF and basically broke all scripts and pipelines.
https://github.com/jftuga/chars
You can use the -f switch to help with pipelines and -j for JSON output.
I started recommending WSL on Windows to a few friends who wanted to get a taste of how Linux works after hearing praises about it although I've never actually used it myself. I recently realized that systemd doesn't work on WSL (without ugly hacks) and /mnt also mounts Windows disks.
I have stopped recommending WSL since then. Although I don't recommend anyone to use Linux either.
1: https://gist.github.com/djfdyuruiry/6720faa3f9fc59bfdf6284ee...
Unless you need it for the type of work you do, you could disable swap, or reduce it to a small amount.
(I don't have a laptop, so I can't comment on suspend.)
Things may have changed since then (8+ years ago)?
I also use Windows for development, but that is only when I do Windows specific stuff.
The OS where my text editor runs?
The OS where the build system runs?
The OS where the software I'm developing runs for testing?
The OS I log into first thing in the morning?
I think this poll is so unspecified the responses aren't going to be that meaningful.
Ubuntu Linux
> The OS where the build system runs in?
Ubuntu Linux
> The OS where the software I'm developing runs for testing?
Ubuntu Linux
> The OS I log into first thing in the morning?
Ubuntu Linux
MacOS would win in a forum which has professionals who work primarily in movie/music/animation sector
Windows if this was asked on internal platforms of enterprises
For producers and reporters, the OS has changed from Windows to Chrome
Windows is a very fine game console, in comparison.