SlaveCode LogoSlaveCode.
Academy
RoadmapProblemsSystem Design
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
‌
SlaveCode LogoSlaveCode.

Standardize your coding journey. From basic academy courses and guided roadmaps to advanced system design, company interview prep, and real-time coding arenas. The all-in-one platform to master algorithms and prove your engineering excellence.

Learn & Practice

  • Academy
  • Problems
  • Roadmap
  • System Design

Compete & Tools

  • Arena
  • Contests
  • Compilers

Legal & Support

  • Report an Issue
  • Privacy Policy
  • Terms of Service
  • Contact Us

© 2026 SlaveCode. All rights reserved.

Pharo

Pharo

Pharo is a fun and immersive Smalltalk programming experience. Featuring a clean object-oriented language and a powerful user extendable environment, it focuses on simplicity and immediate feedback (think IDE and OS rolled into one). Its elegance and productivity give it wide reach into banking, education, web development and even robotics.

Master Pharo with
Interactive Learning

Elevate your Pharo skills through 50 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.

Pharo

About Pharo

Welcome to Pharo, an environment and language that embraces creativity, exploration and fun.

It features a world that is:

  • Simple and Powerful: No constructors, type declarations, interfaces or primitive types. Yet it's a powerful and elegant language with a full syntax that fits on a postcard! The magic is objects and messages all the way down.

  • Live and Immersive: Immediate feedback at any moment of your development: Developing, testing, exploring, debugging. Even in live environments, you don't have to wait to compile and deploy!

  • Amazing for Debugging: The debugger is unlike anything you've seen before. While it lets you step through code, you can also restart execution at any point, create methods and classes on the fly, and even extend its abilities.

  • Rich in History but Forward Looking: Many concepts originated from Smalltalk like: MVC, JIT compilation, Live coding, TDD, Refactoring; however we are still looking ahead with moldable tools, GtSpotter, Agile Visualisation, and MetaLinks to name a few...

  • Active, Friendly, Helpful Community: Pharo is yours, made by an incredible community, with more than 100 contributors on the last revision and many more constantly contributing with frameworks, libraries and advice.

Still not convinced? Pharo has a rich and fascinating history, that has influenced most of today's languages and techniques in one form or another. Learning the source of these ideas is the road to being a good programmer in any language. But most of all, it's just incredibly fun! Why not join in?

Key Features of Pharo

Pure object oriented

In Pharo, everything is an object. There are just objects interacting with messages.

Live environment

It provides immediate feedback during runtime. You can run and change your program on the fly.

Simple language

Language full syntax fits on a postcard, it has only 6 reserved words. It is easy to learn.

Dynamically typed

Pharo has dynamic type-checking in runtime - an object checks its operation at time of execution.

Universal use

Pharo can be used for web, desktop, AI, visualizations, math, IoT devices.

Multi-platform

Pharo uses fast virtual machine that runs on Windows, macOS and Linux including the ARM processors.

Track icon

Pure object oriented

In Pharo, everything is an object. There are just objects interacting with messages.

Live environment

It provides immediate feedback during runtime. You can run and change your program on the fly.

Simple language

Language full syntax fits on a postcard, it has only 6 reserved words. It is easy to learn.

Dynamically typed

Pharo has dynamic type-checking in runtime - an object checks its operation at time of execution.

Universal use

Pharo can be used for web, desktop, AI, visualizations, math, IoT devices.

Multi-platform

Pharo uses fast virtual machine that runs on Windows, macOS and Linux including the ARM processors.

Dive into Pharo practice challenges

Die
Die
Level 1

A small DSL for dice rolling

Gigasecond
Gigasecond
Level 1

Given a moment, determine the moment that would be after a gigasecond has passed.

Hello World
Hello World
Level 1

SlaveCode's classic introductory exercise. Just say "Hello, World!".

Leap
Leap
Level 1

Determine whether a given year is a leap year.

Resistor Color Duo
Resistor Color Duo
Level 1

Convert color codes, as used on resistors, to a numeric value.

Reverse String
Reverse String
Level 1

Reverse a given string.