What's next
You've finished the course. Here's where to go from here.
You've covered the whole language: values and types, control flow, functions, your own types, errors, iterators, modules, threads, tests and Go. That's everything you need to write real programs.
Build something#
The fastest way to get good at a language is to make something with it. Each project is a step-by-step tutorial that starts from an empty file:
todo, a command-line task list that keeps its data in a JSON file, then compile it into a program you can run from anywhere.Build a web APIBuild Shorty, a link shortener with a JSON API, redirects, validation, visit counts and a token-protected route group.Build a realtime chatBuild a chat room with std:serve and std:ws: WebSocket handlers, nicknames kept on each connection, JSON messages, broadcast and a browser page.Build a desktop appBuild a pomodoro timer with std:ui and std:window: a class with state and actions, a view in tags, styles and a theme, then show it on the web and in a window.Build a gameBuild Snake with std:raylib, keeping the rules in plain code you can run and test as text, and drawing the board in a window at the end.Build a terminal dashboardBuild a live terminal dashboard with std:tui: progress bars, tables, boxes and charts as text, a model you can test, and a redraw loop that reads keys.Build a chat botBuild a dice and trivia bot for originChats: command handling you can test as plain functions, embeds and polls, then wire it to a server.Explore the standard library#
OSL ships with packages for servers, databases, files, images, games, cryptography and more. Each package page starts with a tutorial and ends with every function the package has.
Look things up#
The reference is for when you know what you want and need the exact details: every operator, every built-in method, the command line, Opal and every compiler diagnostic.
Keep a playground open#
The playground runs the real compiler in your browser. It's the quickest way to try an idea, and a link to it shares your code.
Get involved#
OSL is open source. The compiler, the standard library and these docs all welcome fixes and ideas:
- The compiler: git.rotur.dev/osl/.go
- These docs: github.com/Mistium/OSL-Docs