Many_Donut is a multi-language collection of the classic ASCII rotating donut animation, implemented in some of the most popular programming languages.
This project demonstrates how the same mathematical idea can be expressed across different languages, runtimes, and ecosystems.
Many_Donut/
│
├── donut.c
├── donut.cpp
├── donut.cs
├── donut.go
├── donut.java
├── donut.js
├── donut.lua
├── donut.py
├── donut.rs
├── donut.sh
├── donut.ts
└── README.md
python donut.pygcc donut.c -lm -o donut
./donutg++ donut.cpp -o donut
./donutjavac donut.java
java Donutdotnet run donut.cs(or compile with your preferred .NET setup)
node donut.jsts-node donut.ts(or compile with tsc then run with Node)
go run donut.gorustc donut.rs
./donutlua donut.luabash donut.sh-
ANSI-compatible terminal
-
Monospaced font recommended
-
Some versions require:
- GCC / G++
- Node.js
- Go
- Rust
- Java JDK
- .NET SDK
- Lua
The Donut Project is the inspiration here.