The IDE
The editor runs in your web browser. Choose a language, write a program, and run it on our machines. There is nothing to install and nothing to set up, and the editor works the same way in every language.
It is the same editor everywhere you meet it: on a language page, in a project you come back to, inside an embed in someone's article, and in an assessment a student is taking.
Opening a language
Every language has its own page, and it opens with a small working program. You can run that first, before you write anything, to see that everything works.
You are in a project from that moment. Projects are saved automatically, so closing the tab does not lose anything, and you will find it in My Projects later. There is no separate step where a scratch file becomes a project.
A name is generated for you when a project is created. Changing it to something that describes the work makes it easier to find later.
Single file and multi-file projects
Some programs fit in one file. Others need several. You choose which when you create the project.
A single file
One file, one language, and a Run button. This is what a language page opens with, and it is all most short programs need.
Good for a quick test, an example, or a program of one page.
A multi-file project
A file tree beside the editor, holding as many files and folders as you need. Your imports and includes work with real paths, as they do on your own machine. See multi-file projects.
Good for a program with several classes or modules, and anything you are building over time.
41 languages offer the multi-file editor. Where a language does not support it, there is no file tree, and that is a limit of the language rather than of your plan.
In a multi-file project, one file is the entry point. That is the file that runs, and it reaches your other files through your own imports.
What each language gives you
Every language runs in an environment on our machines. For most languages, that environment stays out of your way. You write, you run, and you see the output.
Nine of them give you access to more:
| Kind | Languages |
|---|---|
| Frameworks | React, Vue, Express, Flask, Spring Boot, Laravel |
| Databases | PostgreSQL, MySQL, MongoDB |
These give you a terminal, a browser preview, and a filesystem you can see. That is what a running application needs, and a single program does not. See frameworks and databases.
Twenty three languages and versions can also be stepped through with a breakpoint debugger, which stops the program on a line so you can read your variables while it is paused. See the debugger.
Limits
Every run has a time limit and a memory limit. How many runs you get each day depends on your plan. Free accounts get 1,000 a day. Paid plans are unlimited. A soft limit still sits behind that to prevent abuse, and on a paid plan you can ask support to raise it. See limits and what "unlimited" means.
The editor elsewhere
The same editor runs outside the browser tab as well.
- Browser extension. Run a snippet you find on any web page, without leaving it.
- Mobile app. Write and run code on a phone or tablet, on iOS and Android.
Both run one file at a time. Projects, libraries and sharing stay here.
What next
- Create a project, which is where most work starts.
- Giving a program input, for programs that read something.
- Share a project, for handing it to somebody else.
- The debugger, for when a program runs but does the wrong thing.