Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wanted to like PowerShell but I find the syntax choices absolutely exhausting. This looks far more comfortable to me even as someone who mostly uses Windows but also knows Unix shell.


I know the long cased commands like Foo-Bar can be alienating to Unix folks at first, but have you tried just using aliases and not caring about casing? PowerShell will accept any unambiguous case-insensitive abbreviation of commands and parameters, and has almost all frequently used commands aliased (see this thread, it's literally the same as nushell).

I often wonder if people just don't like it because all they see is PowerShell scripts, where people like to spell out commands so it's clearer what they do. Imo it's a nightmare that we write bash scripts with all these 2-3 letter commands and flags that no beginner could ever understand. (but if you want to write that way even in scripts, nothing is stopping you)


It's not the name of the commands that bother me; it's literally everything else from the operators, the sigils, to how functions are defined.

There is no excuse to make a new language that re-invents nearly every basic syntactic principle or borrows from the worst examples (bash, perl).

Although the naming isn't great either; the use of namespace prefixes rather than a flat namespace of long names might have been a better (and more logical) choice. It would have even allowed for better auto-complete.


I'm more of a Windows and C# guy, and even I just can't get along with the naming and syntax.

I tried using aliases instead, but there is a danger with this - some of the aliases are commands on Linux. For example, if I use the `ls` alias it will work as expected on Windows, but if you run the script on Linux, it will run the Linux `ls` command, rather than whatever the Powershell alias is for.


> I know the long cased commands like Foo-Bar can be alienating to Unix folks at first, but have you tried just using aliases and not caring about casing.

You'd have to alias every command and every option to make it enjoyable for interactive use.

And of course those aliases would need to be part of the standards powershell.


"PowerShell will accept any unambiguous case-insensitive abbreviation of commands and parameters, and has almost all frequently used commands aliased"


> PowerShell will accept any unambiguous case-insensitive abbreviation of commands and parameters.

Which due to the naming conventions are still too verbose.


That's why I wish this shell could replace both bash and PowerShell in the real life. That's a pity this is highly improbable.


Why not? On your own system you can use whatever shell you want and if you develop shell scripts that you plan to distribute you can just list it as a dependency.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: