6 ms·
As a lifelong windows dev, what exactly makes linux worth moving to? I understand that coming from a linux world, doing what you like doing in linux isn't alway
by dan_mctree 4y ago
As a lifelong windows dev, what exactly makes linux worth moving to? I understand that coming from a linux world, doing what you like doing in linux isn't always possible on windows. But I've never really found a use for any of that console magic linux devs seem to love. Pipe this into that and through seven pieces of software that sound like glibgcd, add 8 arcane flags and in the end you have some kind of textfile that would've just as easily been made in some handmade program? What exactly is the selling point for devs?
- pksebben 4y agoI'm not sure what a handmade program on windows looks like, so I could be wrong here, but writing shell scripts to do work takes a matter of minutes and creates composable, reliable stuff that vastly reduces the time to do other work. This means that as time goes on, more of my workflow becomes scripted and I very, very rarely work on the same problem twice. Then there's the filesystem. It just works. Permissions are easy to grok and (most) error messages are clear about what's wrong. Everything being a file also means I use the same tools to: - investigate bugs in source code - check what processes are using what ports, files, sockets, etc - find files - find things in files there's very little that can't be done easily with [grep, cat, ls, mv, cd, echo, curl]. Also, manpages are incredible. All my important documentation, right there where I'm doing my work. It's really less about what's possible on windows / Linux, and more about how Linux lets me do things my way, which means I can consistently improve my methods. Also, all the good Linux stuff is free. Both kinds, so not only can I use most of it without worrying about the cost, I can fix it when it goes wrong or modify it to be more like what I want. I could go on and bore you more, but those are the key points.
- jon-wood 4y ago> writing shell scripts to do work takes a matter of minutes This is the core of it for me. Half the time I don’t even need to write a shell scrip, I just fling it straight onto the command line if I’m doing a quick one off task.
- zeppelin101 4y agoI'd also add the "Googlability" factor to this. If you want to check how to do anything in bash, you will have your answer within seconds. Not so with PowerShell. It's a much newer system that doesn't have decades of history.
- asciimov 4y agoEverybody has their pain points with every operating system. For me and windows it was when it updated a hibernating unplugged laptop overnight causing me to loose several hours of genealogy work. I had been using a new to me application that hadn't been doing any sort of background saving while I put in information. My had some niblings come over so I shut my unplugged laptop thinking id get back at it tomorrow. The next day when I opened the laptop I was greeted with the dreaded "Hi" screen, and my previous days work was gone. Windows also likes running the fans on my laptop way more than it should. Where linux keeps them off for most my typical work. Neither Windows or Mac have a Tiling Window Manager, for me not having to manage windows is a dream. Running docker as a first class application is nice. But linux has its issues too. Occasionally an update really borks my system and yes it is a pain to find what went wrong. I also love vim and emacs. They work better on linux.
- Dalewyn 4y ago>For me and windows it was when it updated a hibernating unplugged laptop overnight causing me to loose several hours of genealogy work. I had been using a new to me application that hadn't been doing any sort of background saving while I put in information. My had some niblings come over so I shut my unplugged laptop thinking id get back at it tomorrow. The next day when I opened the laptop I was greeted with the dreaded "Hi" screen, and my previous days work was gone. To be fair and with no personal offense intended, this sounds more like a case of PEBKAC rather than specifically a Windows deficiency. To be clear, I agree Windows's forced, silent autoupdates and reboots are crimes against humanity, but "losing work I did not save" is hardly something that only applies to Windows and is a lesson we all learn the hard way eventually. Always save, and if you think you saved, save again. Probably hit CTRL+S several times too for good measure. And keep backups; multiple, good, working backups.
- asciimov 4y agoIf it happens to me, an active computer user for 25 years, think of how often this has happened to others. How much work has frustratingly been lost because Windows knows better about when to update. Worse is technologically speaking this shouldn't even happen. Windows should be able to take a running application, save its state, do its update, reboot, then restore the application, without loosing a single byte of application state. Microsoft's lack of compassion for end users in this regard comes directly from it not effecting their bottom line.
- charlie0 4y agoI agree with you on that Windows -> Linux doesn't have much appeal. I tried it 2-3 times and gave up because Linux was not user friendly enough. However, I will say that Windows -> Mac is pretty awesome. IMO, the main benefits were the commmand line experience. Installing Homebrew on Mac was so much nicer than pointing and clicking everywhere in Windows to do things. I see that Windows is getting better with their Terminal app, but the MacOS functionalities beat it. If you value doing things from the keyboard rather than a mouse, then you'll see value in switching to MacOs. Otherwise, the appeal is rather muted.
- llanowarelves 4y agoChocolatey is a pretty good Windows package manager for both developing software and simply consuming full apps. The packages are written to handle all the manual GUI Windows-installer quirks for you (automating it) and makes it work just like Homebrew.
- jimbokun 4y ago> Pipe this into that and through seven pieces of software that sound like glibgcd, add 8 arcane flags and in the end you have some kind of textfile that would've just as easily been made in some handmade program? What exactly is the selling point for devs? No, that's exactly the selling point. Yes, you could write some hand made program. And piping software together IS a kind of hand made program. It's just going to be far faster to write that pipeline, than to write a custom program, deploy, and run it. And the pipeline might be much much faster. A classic example: https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html https://adamdrake.com/command-line-tools-can-be-235x-faster-...
- dan_mctree 4y ago>Yes, you could write some hand made program. And piping software together IS a kind of hand made program. It's just going to be far faster to write that pipeline, than to write a custom program, deploy, and run it. I suppose the speed of implementation depends entirely on your available experience. If I were to try to reproduce the data processing pipeline in your link, it would take me hours to get to this line "cat *.pgn | grep "Result" | sort | uniq -c", and would probably never be able to get to any of the further steps. Meanwhile, with my experience, I would've been able to write a 5 minute C# program that does exactly the same data processing. I don't know if it'd go down all the way to 12 seconds of execution time without serious effort, but I'm pretty sure it would handily beat the version I could write using the commandline. If this task is a single time kind of thing, the C# program more than suffices. If it's a many times kind of thing, I'd strongly prefer having it in C# code, so I can more easily adjust it and make it part of a larger automated workflow which will mostly consist of other C# code.
- jimbokun 4y agoWell sure. If you only know one tool and don’t invest in learning anything else, of course you’ll be faster implementing solutions in it than anything else.