5 ms·
Maybe it's just me, but I find -- style flags that are actually commands to be extremely irritating. The new firewall-cmd system is an example of how obnoxious
by astrodust 12y ago
Maybe it's just me, but I find -- style flags that are actually commands to be extremely irritating. The new firewall-cmd system is an example of how obnoxious this can be, where every operation requires arbitrary -- prefixes.
While git has received a lot of well-deserved criticism for it's complexity, "git commit" is a lot better than "git --commit".
- davexunit 12y agoI knew someone would complain about the longopts shown in the slides. That was done to make it easier to understand. Normally, you'd just use the short flag, '-i' instead of '--install'. Also, in Guix, you would say 'guix package', not 'guix --package'. A full example would be 'guix package -i emacs', which looks fine to me.
- zimbatm 12y agoYou're missing the point, it's not about the longopts. install is a command, not an option of a command.
- davexunit 12y agoInstall is not a command, it's a possible transaction type of 'guix package'. Since Guix is transactional, it's perfectly valid to install and remove software at the same time: guix package -i emacs -r zile
- zimbatm 12y agoI suppose you could see it like that although I don't see the use of it. Why not just have straight-forward commands like `guix install` `guix uninstall` `guix search` `guix update`
- dllthomas 12y agoIt's going to be much easier to read something like the above, guix package -i emacs -r zile than your alternative: guix package install emacs remove zile Bear in mind that a transaction could get arbitrarily long.
- astrodust 12y ago"Much easier" obviously means something different for you. So many utilities have "-r" meaning "recursive", for example, so it requires a real mental shift to think of it in these terms. Describing transactions with arguments seems clunky at best.
- dllthomas 12y ago"Much easier" because you can quickly tell the difference between a package you're installing or removing, versus the action to be taken with the package - as opposed to a bunch of strings of the form [a-z0-9]+ that you can't scan and need to actually read.