[Pharo-dev] Swimming with the fish imagery

Ben Coman btc at openinworld.com
Fri Oct 6 21:16:11 EDT 2017

"Swimming with the fish" is a catchy phrase that I like which seems to
encompass the strength of Pharo's tight development feedback loop that
comes from operating in a world of live objects. I had some imagery
floating through my head on this I thought worth sharing. Only time for a
quick dump, but I hope you can piece it together...

In the style of one of those fast paced cartoon product videos...

Scene 1:
"The development process we all know..."
A neutral background with directed arcs in circle

Scene 2:
"In most languages...   debugging..."
Zoom in on Aquarium 1 to show a developer standing outside aquarium

reaching in through quarantine-box-like-gloxes to use telescopic tools to
pick up and examine fish at a distance...

until the lightbulb moment...

Scene 3:
"In most languages...   editing...."
Developer zooms out away from aquarium. It folds up into a tiny box and
drops in a bin.
Developer zooms in on an architectural drafting table with many drawings
with many different but simple flow diagrams on each. Quickly make required
edit to flow diagrams.

Scene 4:
"In most languages...    compiling..."
Drawings pass through a photocopier into a box that is transferred to site
At an empty flat construction site, supervisor opens box pulling out
drawings to review them.
Trucks and machines arrive and start building the aquarium at his
Two buildings clash when they overlap the same space (compile error).
Return to Scene 3 to fix design then rerun Scene 4 through to completion.

Scene 5:
" In most languages... execution..."
Water trucks arrive and pour water into the pool, then more trucks arrive
adding the fish.
(i.e. initialization and getting to the point of the program you want check

Scene 6:
"In most languages...   debugging..."
Complete the loop by starting scene 3 again.

Scene 7:
"In Pharo.... debugging..."
Zoom out, over and into Aquarium 2 where a developer is swimming inside the

Developer grabs a fish, shifts it aside, lets it go to swim some more,
grabs it again, holds it up close to look a small detail.  Out of nothing
creates a new fish to interact with the first fish.
Out of nothing creates some clay and then moulds a new scope-like tool from
it to look at the fish differently.

Lightbulb moment...

"In Pharo.... editing..."
Developer peers into brain of fish seeing many neurons, picks one out which
shows as simple flow diagram, makes a change to it.

"In Pharo.... compiling..."
Laser beam quickly scans the simple flow diagram and packs neuron back into
the fish.

"In Pharo.... execution..."
Fish swims off.

"In Pharo.... debugging..."
Developer grabs another fish...

Scene 8:
Zoom out to show both aquariums.
In Aquarium 1, repetitively run through Scenes 2 through 6
In Aquarium 2, repetitively run through Scene 7.
Play at 10x original speed.

Fade in a "Debug-->Edit-->Compile-->Run-->" over each aquarium, showing
synced state transitions.

Fade in "Come swim with the fish with Pharo"
Fade in "It will change the way you think about programming"

cheers -ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20171007/4bc1cbf6/attachment-0002.html>

More information about the Pharo-dev mailing list