Hacker News new | ask | show | jobs
by bobfarrell 5137 days ago
The main reason for this is actually that IPython has had (and, by design, in some cases still does have) the "problem" that code that works in IPython can work differently to the standard Python interpreter. This meant that people quite often had problems where the solution was "run it in the actual python interpreter". When I first started writing bpython one of the design goals was that all code that runs in bpython would also run the same in the vanilla REPL. This is why there is no extended syntax such as that provided by IPython (I don't actually use it so can't give good examples, but I think you can do things like "object?" to get help etc.). IPython also had some issues with unicode and encodings that may have since been resolved.

This is the only good reason I would recommend bpython over IPython objectively. Other than that, it's just a matter of taste - bpython is just a standard shell with some nice features to aid the user whereas IPython has a whole host of features and extensions and integrations that make it a great tool for lots of people. I don't think you have to use one or the other and I don't see them as competing pieces of software. IPython is a great tool and seems to suit a lot of people, particularly those in the mathematic and scientific communities.

Let me put it this way: if IPython implemented all of the features that bpython has and bpython became entirely redundant then I would only be happy that people have a great tool to help them with their development and that bpython may have played a part in helping it get to that state.