4 ms·
> Windows for that is very powerful, the UI goes quite a long way. Fine for doing the basics (slowly)... Until you need to do something even semi-powerful, the
by brokenmachine 10y ago
> Windows for that is very powerful, the UI goes quite a long way.
Fine for doing the basics (slowly)... Until you need to do something even semi-powerful, then you will curse the lack of a good CLI.
I find in Windows that because most programs don't actually support a CLI at all, it's actually impossible to do lots of stuff that I'd like to do.
Plus I get a nice feeling when I can put together an elegant little sed (or whatever) command to do exactly what I need to do in seconds. The learning curve is high but the satisfaction is great, same as learning programming.
I can see how having to google for commands is a bridge too far for some people, but I get much more annoyed having to do extra mouse clicks everywhere than having to google a command that I can hopefully find a use for later as well.
Source: linux user who is forced to use windows all day at work.
- cm2187 10y ago> Fine for doing the basics (slowly) I fundamentally disagree with that. If you are trying to set up a single Virtual Machine having never done it, you will go way faster with a UI than if you need to figure out the commands and how the whole thing works. If you need to set up 100 VMs then yes, CLI becomes the fast (and only practical) way. > I find in Windows that because most programs don't actually support a CLI at all Windows has CLI support for pretty much all advanced features, although admittedly scattered across various technologies. Where it lacks CLI is for user features, like customizing the UI of the desktop, switching off sounds, etc. > The learning curve is high but the satisfaction is great, same as learning programming. A steep learning curve is not a positive thing. Having a powerful IDE goes a long way to make a programming language self-discoverable and flattening the learning curve (Visual Studio for C# and VB is for that absolutely priceless). I wish CLIs had powerful autocomplete features that were aware of the state of the system (like you type "Stop-VM " and the autocomplete would suggest the names of the VMs available in that context). The most advanced CLI in windows (powershell) is miles away from being that good. And as far as I know there is none of that in Linux. And keep in mind the problem is not just having to "google the syntax". You have ten different distributions of linux, 10 different tools to do the same thing, all have different syntax, acronyms, concepts and commands that will break the system if used against the wrong version. Since there is no easy way to visualise the state of the system, it is very hard for a non experienced user to progress in linux, and trial and error is time consuming and not fun. I am not a fan of Windows, and in fact I am seriously considering switching to Linux rather than having to use Windows 10. But all these things are holding me back. I am not an IT professional and only have a limited amount of time I can spend re-learning the basics (firewalls, setting up websites, virtual machines, various jobs, etc). What I wish existed is an environment that was maintaining a perfect symmetry between UI and CLI, where everything can be done with a UI, but where the OS gives you the CLI equivalent of what you are doing with a UI (a bit like Excel's record macros).
- brokenmachine 10y agoExcellent points. Just a comment: you can use a GUI in linux just like in Windows, it's just that mostly everything is CLI-aware, or has a CLI command as well, which is nice when you want to script something. It would really be nice to see smarter autocomplete on the CLI, hopefully someone is working on it. I can see why it might be complicated to implement though as you'd need better integration with the terminal for autosuggest popups, etc, and this might not work well over ssh. Also a better way to find commands that you don't know about yet would be nice, maybe searching installed programs by feature? Like "findcommand image" would give you a list of programs that can modify images, and what they can do to them?
- zeta0134 10y agoI don't even Google most of my commands anymore, unless I'm pretty sure I'm running into some weird distro-specific issue. These command easily gets me through most of my day now: man [thing I want to know about] [command I'm trying to run] --help There is a learning curve for Linux, but realistically, I found it to be about the same learning curve as using anything I hadn't used before on a Windows system. For basic tasks, Ubuntu Desktop is pretty darn fantastic at working out of the box, and its Software Manager parallels the Windows app store quite nicely for programs that do normal things. (Web browsers, ftp clients, office software, music players, etc etc.) I choose to run something more complex (Arch linux, presently) because I want to know more about my system, and because I like experimenting with desktop environments. But once you understand how one package manager works, you can perform most basic system administration tasks between the various distributions without a huge amount of effort, and the package manager takes care of most of the fiddly configuration details for you in the process. I find this far easier than trying to set up services in Windows, or dealing with the awful registry. Of course, I do still keep Windows around. I have a dual boot on my home desktop, and I boot into Windows regularly for the sole purpose of playing games. For all the things I love about Linux, the one thing the community still hasn't gotten down as well as a Windows system is proper GPU acceleration. For now, Windows takes the cake easily on that, and it's reasonably stable when that's all I use it for.
- brokenmachine 10y agoYes, man [command] is good 95% of the time. Weirdly it doesn't seem to always show the options I need though, it sometimes just shows the basics, and I need to google "manpage [command]" to find the one I want. I do find the lack of standardization on command arguments slightly annoying in linux... Is it [command] --help, [command] -h, or just [command] by itself? It would be nice if there was something that could be relied upon. Also handling of filenames with spaces could be standardized as well. Is it -0, -print0, or --null to get null-termination? I always forget which program wants what. Unfortunately, I have to keep Windows around for Ableton Live. Linux is not great for professional-ish audio.