Pros

Pro

Designed to teach programming

Pro

Fully functional terminal

Codio gives you full access to a terminal, with all the ubuntu commands. You can use the terminal within the page, or you can access by SSH from your computer.

Pro

Emmet

Emmet support for a whole range of features that really boost productivity when working with HTML and CSS. These features include expanding abbreviations into full HTML or CSS as well as some very powerful keyboard shortcuts.

Pro

BitBucket integration

It's possible to launch Codio from within BitBucket's repo by adding Codio integration as an add-on.

Pro

Server-side environment

Pro

Node.js included by default.

Pro

Monokai

Includes Monokai style theme by Luigi Maselli.

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).

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

Interactive

Most IDEs require you to separately run Python to see the output of a particular piece of code. By contrast, Jupyter Notebook can evaluate Python statements inline, giving you the immediate feedback of interactive use of the interpreter while keeping your changes saved.

Pro

Open source

Because it is open source, you can review the source code and also propose extensions and fixes to it. It is also possible to fork the repository and make changes to it to customize it for your specific use case.

Pro

Graphing , charting, and other math/numeric capabilities

The interactive editor is able to display complex equations, charts, graphs, etc. making this particular editor very well-regarded among data scientists.

Cons

Con

Private projects aren't free

Con

Interactive usage takes some getting used to

While the interactiveness is extremely, extremely powerful and useful, it does take a little bit of work getting to a point where it is "normal".

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.

Con

Non-trivial security configuration for remote access

By default, the editor is only accessible from localhost; however, if you want to run Jupyter on a VM in the cloud and do your editing through a web browser on a different computer (e.g. a Chromebook), there is some non-trivial security work to ensure that it is set up in a secure manner.