The languages your course actually teaches.
Python, C, C++, Java and JavaScript run in the ScriptOnX desktop beta, plus SQL in Database Lab. Beta languages run on their real compiler, interpreter or database.
Language examples
def average(nums): return sum(nums) / len(nums)print(average([]))ZeroDivisionError: division by zero
Concept behind it: Edge cases: empty input
The examples here are illustrative. In the ScriptOnX beta, programs in the languages marked Beta run on real compilers and interpreters, and SQL runs in Database Lab.
A real compiler error. Explained in place.

Real toolchains
C and C++ compile with the machine's compiler, Java with the JDK, Python and JavaScript with their interpreters.
Setup, checked
Learning environments check that the tools a course needs are installed and working. One-click installs are in testing.
The same explanation format
A missing semicolon in C gets the same what, why and how-to-fix treatment as an IndexError in Python.
- Screenshot from the desktop beta, with a demo program.
One workspace. An honest status for each language.
| Language | Typical stumbling block | Status |
|---|---|---|
| Python | Edge cases: empty input | Beta |
| C | Pointers & memory | Beta |
| C++ | Bounds & off-by-one | Beta |
| Java | Object references | BetaNeeds a Java Development Kit (JDK) on the computer. |
| JavaScript | Objects & undefined | BetaRuns on Node.js. |
| SQL | WHERE vs HAVING | BetaIn Database Lab, on SQLite. MySQL and MongoDB connections are in testing. |
| TypeScript | Static types | Planned |
| HTML/CSS | Document structure | Planned |
See your next error differently.