Pharo

Join the Pharo Track
The immersive, modern, Smalltalk programming experience
Track mentors

0 Mentors

Our mentors are friendly, experienced Pharo developers who will help teach you new techniques and tricks.
Track students

11 Students

Join hundreds of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

6 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Pharo

Pharo is an open source, pure object-oriented programming language and powerful environment, focused on simplicity and immediate feedback (think IDE and OS rolled into one).

It features an environment that is:

  • Simple and Powerful: No constructors, type declarations, interfaces and 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 need 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 the execution of methods, create methods on the fly, and much more!
  • Rich in History but Forward Looking: Many concepts originated from Smalltalk: MVC, JIT compilation, Live coding, TDD, Refactoring and many more. However we are still looking ahead with moldable tools, GtSpotter, Agile Visualisation, and Pharo 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.
Join the Pharo track
Class { "A sample SUnit test"
	#name : #HelloWorldTest,
	#superclass : #TestCase,
	#category : #'Exercism-Exercises' }

{ #category : #testing }
HelloWorldTest >> testSayHello [
	self
	    assert: HelloWorld sayHello
	    equals: 'Hello, World!'. ]

Exercism is a great website

Exercism is a great website where I was able to have some very interesting challenges.

Fun. Challenging. Interesting

Community-sourced Pharo exercises

These are a few of the 6 exercises on the Pharo track. You can see all the exercises here.

Acronym
easy
strings
iteration
parsing
text formatting
Two Fer
easy
strings
text formatting
Leap
easy
booleans
conditionals
logic
Hello World
easy
introduction
Sum Of Multiples
easy
iteration
filtering
math
Reverse String
easy
strings
text formatting
iteration
Passionate. Knowledgeable. Creative.

Meet the Pharo Track maintainers

The Pharo Maintainers are the brains behind the Pharo Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Samuel Wilson

Samuel Wilson

A Ruby on Rails dev by day, a Rust and Smalltalk programmer by night. I have found Pharo Smalltalk a delight to use. I'm here to spread the good news.
Avatar of Tim Mackinnon

Tim Mackinnon

I'm the co-inventor of Mock Objects, Gold Cards, and many retrospective techniques, but still a developer at heart and using Pharo Smalltalk as a platform to explore further new exciting ideas.

Get started with the Pharo track. As with everything on Exercism, it's 100% free!

Join the Pharo Track