Hacker News new | past | comments | ask | show | jobs | submit login

> however it's this [...] that I think will keep it from being especially useful on non-Windows platforms.

Sure, and I acknowledge as much in my post above, that PowerShell's object orientation is most appropriate for the Windows environment. But even if you aren't concerned with COM, I still think PowerShell is pretty nice, and I wouldn't mind seeing a port to Linux. So for that reason I welcome its addition to the Community Promise.

> TBH I wish they'd added features to IronPython instead of making a new syntax, but such is life.

I don't think that would have worked well...

You have to keep in mind that PowerShell is intended to be used interactively, and this has all sorts of implications for the language design. For instance when you type

    PS > foo
at the PowerShell command line, "foo" may be a pure PowerShell function, but it could also be a cmdlet, or an external command somewhere else on the system. If this were a straight Python REPL instead, you'd have to do external calls differently from Python function calls, like so:

    Python > system("foo")
and that gets old real fast. Likewise you need to allow bare strings and ditch parentheses for function calls so you don't wind up saying cd("C:\"). You'd also have to come up with a more succinct syntax for chaining Python generators assuming that's what you want to use as a substitute for PowerShell's cmdlets. Plus there are concerns like, hey, we can't use the backslash as a string escape operator, because suck as it may, that's the traditional path separator on Windows, so we've gotta make it something else. By the time you're done, it's not even Python any more.

And on top of all that: in my opinion, as much as I love Python, significant whitespace really sucks for REPLs...

So I don't think Python would have been an appropriate choice for a new Windows command line interface. But the great thing about PowerShell is that even if it isn't interactive Python, you can always implement cmdlets for it in IronPython (or pretty much any other .NET language)...




Fair enough Re: differences between Python & PowerShell syntax.

I don't entirely agree with you on the REPL point, because I use Python in a REPL all the time (esp. with ipython.)

However, I agree with the rest. Although you could always define additional statements (ala print in Python 2.x), it could get messy very fast.




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

Search: