Programming notebooks and online IDEs

Today many tools exist to write and test some code without actually opening any traditional programming IDE or even simple text editor. Many of these tools are in fact web applications. I decided to sum up some of them:

Jupyter Lab, – Powerful notebook with support for many languages. Although Python is the default, built-in programming language, users can install support for many other languages (kernels). Demo is available online. Local instances can be installed with pip or conda. Supported programing languages: Python (built-in), C, C++, R, Ruby, SQL, etc (see

Colaboratory, – google’s Python notebook with access to GPUs and TPUs. Based on the Jupyter project. Notebooks can be saved to google drive and shared.

CodeSandbox, – full blown online IDE focused on web development. It offers creating, testing, and deploying apps written in HTML, JavaScript, TypeScript, Node.JS together with popular frameworks and libraries.

Franchise, – web SQL notebook with support for many different database backends. Users can easily display data as charts, maps and export results to several file types. Franchise is an open source initiative with a repository hosted on GitHub.

SQL Notebook, – desktop SQL notebook for Windows. Can connect to external databases as well as to built-in SQLite db. Data can be imported and exported.

CodeChef , – CodeChef site is all about programming challenges. Their simple “IDE” support a few dozen languages including C#, Java, Rust or even the NASM assembler.

OnlineGDB, – online compiler with debugging. Many languages supported: C++, Java, Objective C, C#, SQL, etc. Code can be shared and stored in an online account.

C++ shell, – simple online c++ compiler with support for capturing input. Rather old, currently up to C++14. GCC is used underneath.

ShaderToy, – show me your shader site. Popular among game developers. Do not launch this page on weak machines: the main page often features heavy shaders. Supported programming language: GLSL (only fragment shader, and custom “sound shader”).