Recs.
Updated
Specs
Pros
Pro Supports multiple different programming languages
Jupyter Notebook, formerly known as ipython, used to be specific to Python; however, in recent iterations, it has become capable of general purpose usage for any programming language. Thus it is possible to use this and have a consistent developer workflow, regardless of language.
Pro Web-based development allows for usage literally anywhere
Because the editor is a web app (the Jupyter Notebook program is a web server that you run on the host machine), it is possible to use this on quite literally any machine. Morever, you can have Jupyter Notebook run on one machine (like a VM that you have provisioned in the cloud) and access the web page / do your editing from a different machine (like a Chromebook).
Cons
Con First time setup is more difficult than for other IDEs
Since Jupyter Notebook really requires two programs (the server and your browser) getting things setup in a way that works for you is a little more complex than for an ordinary IDE. For example, if you run the server and edit on the same machine, creating a little wrapper script that starts the server and then launches the browser pointing to it and gives an icon to this script is a small amount of setup but is more involved than a simple installer for other IDEs. Likewise, if you do remote development, creating a URL that will lazily spawn the Jupyter Notebook server and then turn it down when it is no longer in use is also a little bit of work to setup.