So maybe the biggest "pro" for the traditional linux command line way is "inertia" - but I'm sure someone else has a much more satisfying answer than mine
In my view powershell was not designed as a shell, but more like programming tool specific for Windows administration with a REPL. Powershell looks designed for .NET programmers intending to write small administration scripts and occasionally drop to interactive shell. Bash and other Linux shells are designed for interactive use with programming features bolted on. All this makes bash much better alternative for glue between various tooling, exactly what a developer needs
I use Microsoft products since MS-DOS 3.3 and my path into UNIX was via Xenix and DG/UX, before GNU/Linux was a thing.
Being a developer doesn't mean using UNIX, rather producing software with whatever tools our employer uses for producing business value.
Powershell is much better concept for a CLI, taken from Lisp and Smalltalk REPLs than a pure UNIX shell.
Trying to write powershell scripts without the ISE (Interactive Scripting Environment) is very hard.
Also powershell is not suitable to just open and "bash" thigs out at it. For example to download a file, you need to remember the corresponding .net package. Or to list a directory, you use -without the alias- get-child-item etc.
I think the verb+noun syntax and the ability to use all .net packages are awesome. But you first need to do your research, find the modules, look up the required parameters, put those in a file etc.
In bash, most linux users just "bash" things out, if you don't know something no problem, you just "man" that.
Although the same thing could potentially established with powershell through aliases and extra binaries/scripts for utilities like diff/curl, powershell in its nature is a different beast.
I really like powershell, writing scripts with the ISE and the object oriented design are really powerful. That's why I think powershell resembles smalltalk rather than lisp.
In order to write powershell comfortably and efficiently you need to use its development environment with GUI.
While FOSS Lisp environments are pretty bare bones text CLIs, that is not how Lisp should like since Xerox PARC, TI and Genera days.
Sadly Lisp IDEs are all commercial, but the experience is pretty much Smalltalk like, or even better, given that they also AOT to native code.
Now I see that there is. The two lisp books I read (Paul Graham's ANSI Common Lisp and gigamonkey - Practical commmon lisp) always used text editors.
Whereas for smalltalk I installed a VM (scratch) that included a GUI.
And also even in an old issue(80s?) of Byte magazine dedicated to smalltalk there were extensive toolings with GUI. https://news.ycombinator.com/item?id=7052479
"By resembling smalltalk" I wanted to mean that the user needs to interact with a development environment to get the full benefits of powershell. And that this is in its nature.
Nevertheless, I stand corrected. I never knew that there were lisp implementations designed to work with an IDE.
Lisp stop being based on text mode environments in the late 70's, when it moved out of mainframes into systems with graphical displays.
Many of the Smalltalk ideas were inspired from Interlisp-D, the Lisp workstations used at Xerox PARC.
Text mode environments for Lisp is a GNU/Linux thing.
If you wish I can provide some links.
Thanks for pointing out, I'll do some research on this topic.
If you have links easily accesible to you, I'd appreciate them, if not no problem at all.
Which really makes it a questionable choice as a scripting language, IMO, and I say this as a fan.
Or as said on Quora some time ago: "A fool with a tool is still a fool."
It's 2017 and we're still distracted by obcessing over tools, and neglecting the real goal. That is results.
NO One uses a product because of the tools (the fools?) used to build it.
[1]: https://github.com/git/git/blob/master/contrib/completion/gi...
On the other hand, remember on the scale of computing, powershell is fairly recent. We used to have batch files and the 'cmd' shell, and they were fairly awful.
That does not replace continuous integration on a real Linux host but that might be a good way to do interactive development and debugging of cross-platform code directly on windows.
Which windows versions are we talking? Do they all have equally good support or are previous (Most people are still using Win7) versions crippled in some way?
actually - scratch that: its limited to the now coming version of windows 10. there are (to my knowledge) no plans to ever port it to any other system. this was stated in one of the earliest interviews about it iirc
It is not expected to be back-ported to Windows 7. (Why would it be?)