3 ms·
I really miss VMS. Adding a command wasn't just simply a matter of throwing an executable on the path, it had to be declared, with two options: One was to decla
by dhosek 6y ago
I really miss VMS. Adding a command wasn't just simply a matter of throwing an executable on the path, it had to be declared, with two options: One was to declare a command that had its own argument parsing or the better option, there was a way of doing external configuration of the arguments using (iirc) a .cld file which provided a way of specifying all the arguments and options for the command in a straightforward way. I did this for all the TeX programs around 1990 (I think this might have been the first TeX version which didn't use separate binaries for iniTeX vs TeX). It was nice because the OS automatically managed things like abbreviations so you only needed to type as much of a verbose command or option as was necessary for it to be unique. So while the command might have been `DIRECTORY /FULL` one could just type `DIR /FU` to get the same result. The VMS help system was also fantastic and allowed for easy browsing of available commands and their instructions in a way that man+apropos only approximates (not to mention that the tradition of using relatively verbose but understandable commands and options made it supremely usable.
- laksdjfkasljdf 6y agonever understood why so many people complain about the short commands, but nobody contributes a central list of aliases with verbose names to them. alias copy_files_from_one_place_to_another=cp this tells me short names aren't a problem to begin with. And everyone would have the same discoverability problems with longer ones.
- deleted 6y ago[deleted]
- dhosek 6y agoVerbose is a relative thing. `copy` is an intuitive name, `cp` not so much. Likewise, it's a lot easier to remember how to do something like copy /exclude=* .bak [.work] [.prod] (that space after the asterisk shouldn't be there but markdown) than the equivalent command in a Unix shell, apparently: $ shopt -s extglob # to enable extglob $ cp work/!(*.bak) prod/
- dhosek 6y agoWhich is not to say there aren't things I like about unix. The ability to chain commands through pipes is very useful (assuming that the program is pipe-friendly), and the syntax for directories in unix feels more comfortable than the same syntax in VMS and both are by far much better than the hot mess which is the DOS/Windows shell.
- laksdjfkasljdf 6y agoYou realize all that has a huge IF you are a native english speaker, right? the glob stuff is a case of power vs convenience. but you can do very similar with bash [] or {} syntax. not being apologist, but I like unix approach of blurring the lines of a computer user and programmer. It makes everyone up their game both ways. Users being more demanding, and code being more accessible.