Most languages were never built to be learned. This one was.
Ascent is a programming language and a built-in environment, designed for people who have never written a line of code. No terminal. No setup. No decade of legacy baggage to memorize first.
Runs in the browser. Nothing to install.
Do we really need a hundredth programming language?
Fair question. The honest answer: beginners get tripped up by two very different things, and most setups only ever fix one of them, if any.
The environment
Before you write anything interesting, you're wrestling with a terminal, a file system, and an IDE full of buttons. None of that is programming. Ascent gives you a text box and a Run button. That's the whole ceremony.
The language
Most languages were built to be fast and practical for professionals, with decades of quirks bolted on. Ascent is shaped by one question instead: can a complete beginner understand this?
Here's what Ascent looks like.
Have a taste. Hit Run and watch it work, the same loop you'll live in while you learn.
# No HTML, no input library. Ascent gathers the inputs, then runs your code.args (name: String, score: Int);type Grade = Honors | Pass | Fail;fix grade = if (score >= 90) { Honors } else if (score >= 50) { Pass } else { Fail };fix note = match (grade) { Honors -> "Outstanding work!"; Pass -> "Nicely done!"; Fail -> "Keep going, you'll get there!";};"Hi ${name}, you scored ${score}. ${note}"# The program returns the result of the last expression
Write a few lines, click Run, see the result. That's the whole ceremony.
The rules everything else answers to.
Every decision in the language traces back to these six.
Clear, honest semantics
Every construct means one thing, and it means it out loud. Nothing happens behind your back.
Remove the trap, don't label it
A dangerous thing is made impossible or impossible to ignore. A footnote nobody reads isn't a safety feature.
One obvious way
Generally one way to do each thing, so nobody memorizes five spellings of the same idea before writing a line.
A stepping stone, not a destination
Built to transfer to many languages, not to imitate one. The skills you build here carry over.
Errors are part of the lesson
When something breaks, the message is written for a beginner, in plain language, pointing at what they wrote.
Power is opt-in, and late
The advanced features arrive later, as their own chapter, once there's a reason to care about them.
Ready to write your first program?
Open the editor and run a line of Ascent. No account, no install, no terminal in sight.