ilusm vs Python vs Go
An honest comparison. ilusm has a clear niche - here is what it is and is not.
Syntax density
The most visible difference: ilusm names are short by rule. Every keyword, builtin, and stdlib module is ≤5 characters.
Python
def greet(name):
message = "hello, " + name
print(message)
for i in range(5):
print(i)
numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled)
ilusm
greet(name) = msg = "hello, " + name prn(msg) n = 0 whl n < 5: prn(n) n = n + 1 nums = [1, 2, 3, 4, 5] doubled = trl.map(nums, \(x) x * 2) prn(doubled)
Feature comparison
| Feature | ilusm | Python | Go |
|---|---|---|---|
| Syntax density | Very high (≤5 chars) | Medium | Low |
| Stdlib breadth | 340+ modules | Very large | Large |
| Self-hosted | Mostly (C seed) | No (CPython) | Yes |
| Performance | Interpreted/VM | Interpreted | Compiled (fast) |
| Concurrency | Platform-dep. | GIL (threads) | Goroutines (excellent) |
| Type system | Dynamic | Dynamic | Static |
| Security tooling | First-class | Via pip | Via go get |
| Distribution | ilusm.dev only | PyPI | pkg.go.dev |
| Package manager | Not yet | pip | go mod |
| Maturity | Early | Mature | Mature |
Stdlib breadth
ilusm ships 340+ stdlib modules covering domains that typically require separate packages in Python or Go: crypto, OSINT, IoT, RF, game dev, ML, and more. Breadth is real source in-tree; how much you rely on a given domain still depends on host syscalls and your platform.
Self-hosting
ilusm's lexer, parser, compiler, and VM are written in ilusm. A small C seed bootstraps the process. Python (CPython) is implemented in C. Go is self-hosted. ilusm is on the journey to full self-hosting.
Performance
ilusm is a bytecode-compiled VM language. It is faster than a naive tree-walking interpreter but slower than Go (compiled to native code) and comparable to CPython for typical workloads. Performance is not the primary design goal.
When to use ilusm
- You want a compact scripting language with a very large stdlib
- You are doing security work and want offensive tooling as a first-class citizen
- You want to study a self-hosted language implementation
- You like the five-character aesthetic
- You are building backend scripts, automation, or network tools
When to use Python instead
- You need a mature, stable language with a massive ecosystem
- You need ML/AI libraries (NumPy, PyTorch, etc.)
- You need a large team to be productive immediately
When to use Go instead
- You need high performance and low latency
- You need excellent concurrency (goroutines)
- You are building production services at scale