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.
Windows is a very fine game console, in comparison.
I spent the last 6 years on various linux laptops (even a system76 one), but unfortunately I couldn't get the same polished experience as with a macbook.
Between the three there's not terribly much that as a dev you can't just switch over. All your code is on a repo server, and there are IDEs for most languages on all of the OSes. According to rumor Windows scripting has caught us as well, so how different is it really?
There's a few under-the-hood things that might annoy you, eg kqueue vs IOCP vs epoll, but even that can be abstracted so that your dev machine can test things in similar way to your eventual deploy machine. If all else fails (eg I ran into an allocator issue yesterday) you can just VM anyway.
To do anything useful you need to install homebrew, and the hoops you have to jump through to get homebrew running are annoying. Not to mention the fact that it is a wholly unsupported third-party package management system that doesn't integrate properly into the rest of the OS.
Don't get me wrong, homebrew is awesome tech. It just seems that you have to use it to jump a bunch of barriers that Apple purposefully puts in the way before you get an actually useful and up-to-date development environment. Why do people put up with this?
OTOH, setting up brew is pretty simple, and installing Docker is even simpler.
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)?
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
I've used osx a long time ago and was never satisfied with homebrew. Switched to linux, but I needed excel, so switched to win + wsl. Now I don't really need excel, but the Win+WSL combo just works.
- Not full control over state of services running (e.g no kill -9, you can try to kill a service and it will simply tell you that you can’t despite being an admin).
- System directory tree. Not a big deal and a question of habits more than nothing.
- No culture of configuration in text files. You have to rely on Powershell. (Nothing against it, I simply don’t like it)
- The standard of using slash (/) instead of hyphens (-, —-) for arguments in the native command line tools.
- The limited set of native command line utilities.
- CMD feels limited and clunky and Powershell feels overkilling.
- It’s privative software. (To be fair, I use MacOS which is mostly privative too but I find a better balance)
- The inconsistencies on the UI in terms of aesthetics and also the mess they have with the old/new control panel options.
Pretty sure I am forgetting some more. Don’t get me wrong, I can see its good things and benefits but it’s just not my thing.
For personal stuff, Linux right on the silicon.
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.
A great experience on the whole. Only thing I can’t do is Remote Desktop, which is actually quite a pain and something I need to find a solution for eventually - but for now I get by. I have also found some weird GNOME bug where mouse gestures stop working when e.g. changing workspaces such that I have to reboot using only keyboard shortcuts (can’t even click reboot), this is also something I need to get to the bottom of.
Might have to give Linux a try again based on these poll results so far.
I also use Windows for development, but that is only when I do Windows specific stuff.
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
So really, I develop in linux using tmux+neovim but my user environment is OSX because I want an OS that I don't have to tweak, tune, and fight.
I have been working with Win 11 + WSL2 + x410 and it is really solid. I use x410 because WSLg is still a WIP.
For personal stuff, Linux.
I want to run on the same environment as my users.
Now I'm on MacOS. I can't stand where windows is going.
I use windows on my desktop machine for personal use. I code on it sometimes but not often. It’s mostly for gaming and whatever else I want to do.
Otherwise Linux is the only nice way.
Note: I would use unfortunately for all three. They are all bad in their own ways.
I just got frustrated with the sorry state of modern macOS, and managed to finally make the switch without too much pain.
L:236, M:168, W:108
L:46.1%, M: 32.8%, W:21.1%
I'd also like to see what platform people are developing for.
(Of course the options should include web and mobile platforms).