3 ms·
I’ve tried developing on Windows and found it to be terrible. Even at the most fundamental basic level, like how files get locked when opened and cannot be remo
by atwood22 4y ago
I’ve tried developing on Windows and found it to be terrible. Even at the most fundamental basic level, like how files get locked when opened and cannot be removed unless the file handle is closed. And deploying on Windows is even worse. How do you run something when the server starts? Modify some random registry settings to log in a user and then setup some startup items (all via a GUI) to trigger your software. And of course there is no good way to get your software onto the host. There is no ssh equivalent and ssh sucks on windows because of the aforementioned file lock issue. Windows devs I talked to built new machine images (because no Docker) for each deployment, a process that takes like 30 minutes to an hour.
Oh, and there was that one time I accidentally let Unity install Visual Studio instead of VS Code. What a terrible IDE. By modern standards it’s so slow and heavyweight.
- oblio 4y agoYou don't seem to be having a ton of Windows experience and it shows. It's like someone who used Linux for a few weeks complaining, the entire community would pile on and send you to RTFM :-) Task Scheduler has a CLI. It's even usable from PowerShell. There are tons of remoting options, etc, etc.
- majkinetor 4y agoShameful how people come from one OS to completelly different one and expect the same things. All mentioned things are easy once you know where you came to and know how to behave properly.
- oblio 4y agoThis happens super frequently. Someone with a ton of POSIX experience, gained through blood, sweat and tears over years and years, moves over to the "easy" Windows world. Then they complain about not being able to do the exact same things on day 1, with 0 effort. They'd be laughed at for ages the other way round, and justifiably so.
- xorcist 4y agoThat's disregarding the real world a little bit. You may like or dislike it, but the fact is that Linux totally dominates the cloud era. Among those who have the luxury to choose their tools themselves, among them startups and hobbyists, it's basically down to Linux or Mac, unless you develop for the Microsoft ecosystem. Microsoft got a bit complacent during the decade before, and allowed single user considerations to influence the design (the registry, the small business-oriented administration tools, the complete lack of usable shell, terminal and editor), and they still pay the price of backwards compatibility with this despite most of it being fixed long ago. All languages and tools from the past two decades such as Python, Ruby, Node, Rust, Go, and so on and first class citizens on Linux. They all work with the file system, the shell, and the package management system because that's what people use. I'm sure there will be post-Linux era too, but that's not where we are now and when it comes it will not look the 90s again.
- majkinetor 4y agoSorry, but that is all crap. Everything is equally approachable on the Windows. Powershell is light years ahead compared to any Linux shell. Chocolatey is maybe most up to date package manager around, on par with Arch. One thing where I would use Linux over Windows any time is IoT simply due to size and price. Windows nano version is still pain compared to mini Linux distros.
- atwood22 4y agoI would love a PowerShell example that finds files in a directory tree matching a file name pattern, filters those files to those that contain a specific string in their contents, and then prints the filenames to a single output file.
- majkinetor 4y agoIn the root dir: ls -Recurse glob | ? { (gc $_ -Raw) -match pattern } | Out-File result.log Not tested, typed on phone before bad half a sleep.
- atwood22 4y agoYes, as I said, I don’t have a lot of experience. However, the little experience I have indicates that Windows is fundamentally worse. For instance, the file handle issue is clearly annoying when developing. You may be used to it, but I don’t see an argument on how Windows’ handling of files is better or even equal. Or take Poweshell. The *nix approach of composeable shell primitives is better for developers. Software development is the composition of primitives after all. And you can tell me to RTFM all you like, but the manual is leaves something to be desired. Google “run on system start linux api” and the first result is about systemd. Create a config file, put it in the right place, and done. Replace linux with windows and I don’t see an answer on the first page of results. If you learn on Windows first, or if you’re a masochist, then I’m sure it’s possible to tolerate or even enjoy Windows development. But I have never seen a convincing argument that it’s better or even on par with Linux development.
- oblio 4y ago> However, the little experience I have indicates that Windows is fundamentally worse. Fundamentally worse is extremely hard to prove and subjective. It's different, that's for sure. > For instance, the file handle issue is clearly annoying when developing. You may be used to it, but I don’t see an argument on how Windows’ handling of files is better or even equal. That's one of the things that's arguably worse in the modern era, I'm quite sure it comes from CP/M (1974) so it's a super ancient decision, one that would break a lot of things if they change it. It's one of "go left or right, but you can't go back, and you'll only find out in 20 years if you've made the right choice". > Or take Poweshell. The *nix approach of composable shell primitives is better for developers. Software development is the composition of primitives after all. That's ironic, since Powershell is super composable. If anything, it's even more composable since it sends structured data, not just raw streams of bytes. There's a reason a ton of alternative shells want to evolve POSIX shells to add structured data, they're all inspired by Powershell. See for example https://www.nushell.sh/ https://www.nushell.sh/ You don't even have to believe me, try to find blog posts from many devs of next generation POSIX shells and several of them mention Powershell explicitly as inspiration. > Google “run on system start linux api” and the first result is about systemd. Create a config file, put it in the right place, and done. Unless you want to use Gentoo or Devuan or FreeBSD or... And amusingly, systemd is inspired by MacOS and Windows service management (parts of them) plus it actually tries to create the unified userland that's inspired by... Windows :-) > And you can tell me to RTFM all you like, but the manual is leaves something to be desired. Windows docs are super disparate, but Linux ones are the same. Strictly man-ing stuff won't get you super far. You'll need to do the same forum and StackOverflow and whatever digging for years and years to get anywhere. You've already done it, you've just forgotten doing it. > If you learn on Windows first, or if you’re a masochist, then I’m sure it’s possible to tolerate or even enjoy Windows development. But I have never seen a convincing argument that it’s better or even on par with Linux development. If we're professionals, we use what's available and we learn stuff from it. I wouldn't say Windows is better, but it's definitely a lot better than strictly POSIX users complain about it, and it can be made super usable and more POSIX oriented. I've done it with Cygwin circa 2008 and I've been happily using the same setup since then. For example in terms of desktop/laptop support, on average, Windows still fares better than Linux.