tags:

views:

98

answers:

3

Is there some reason that they've kept their same old lame shell?

+5  A: 

You obviously haven't seen PowerShell.

slugster
Even if you have seen PowerShell, it takes a while for a Unix user to really "get" it (I myself had this experience). The real power of PS is that it gets away from the Unix notion of a stream of bytes and into a richer object model. It's pretty cool, but takes some getting used to, and some people might prefer MSYS or Cygwin if they don't want to make this philosophical leap.
asveikau
@asveikau But it's definitely not lame.
steinar
I find it weird that this was voted down. So I +1'd it.
asveikau
A: 

Yes, powershell may be good. There are ports of unix shells to windows like cygwin and others.

Victor
+1  A: 

This question as multiple parts which I will address individually. The primary difference between OS X and Windows (as it petains to this question) is that OS X has a UNIX-based lineage, and modern Windows is derived from Windows NT.

To be slightly more specific, operating under the user interface layer there is set of lower layers that are derived from the FreeBSD UNIX distribution. Given that parts of the underlying OS are derrived from UNIX, it shouldn't come as a surprise that OS X has adopted the Bash shell.

Because I don't work for Apple, I can only speculate as to the reasons Bash was adopted in OS X, but the following points come to mind:

  1. It's highly likely that it was introduced indirectly as a result of inheriting parts of FreeBSD.
  2. I would consider Bash to be easier to grasp for a new user than many other shells. I imagine this would have appealed to Apple given that they tend to focus heavily on design and user experience.
  3. Many existing UNIX and UNIX-like operating systems use Bash as the default shell, maintaining an environment familiar to users of existing UNIX-like envionments may make attracting those users to OS X easier because the skills they already have can be leveraged once they move to OS X.
  4. There are many existing Bash scripts that have been written to aid in the development and deployment of software on UNIX, having Bash present and set as the default shell makes these easier to re-use on OS X, although system specific modifications may still be neccessary.

I hope that has shed some light on some possible explainations why Bash is the default shell on OS X.

Bash was developed at a time before GUI interfaces on computers running UNIX or UNIX-like environments were commonplace. Because Bash and other shells represented the primary (and often only) means for a user to interact with the operating system,considerable effort was made to male the interface both easy to interact with and powerful enough that a user could leverage the full capability of the system through the shell.

In contrast to UNIX, the Windows operating system has always been a graphical one, it's focus has always been the development of a graphical means to interact with the underlying operating system. There are some users who have and will never need to see the windows command-line because the graphical interface completely meets their needs. Given how large this group of users is, it's unsurprising that the development of a text-based interface is not as much of a focal point for Microsoft as it was when Bash was developed.

Notwithstanding all of the above, there is a segment of the Windows user base that does use the text based interface heavily, both to interact with the system and to automate tasks with scripts. For that group of people Microsoft developed PowerShell which ships with Windows 7 be default and is available for Windows Vista and XP

Crippledsmurf
Word up @Smurf, nice explanation. +1.
slugster