Learning a little Python using the Eclipse Collections Pet Kata

Eclipse Collections Pet Kata on GitHub (left) : Python implementation of Person class from Pet Kata

A time to learn Python

I’ve programmed in more than twenty programming languages over the past four decades. I’ve coded in Java for 20+ years, and am the creator of a Java collections framework called Eclipse Collections. I have never tried to learn Python before. That is, until now.

Why learn Python?

I am a Java Champion, and regularly teach and advocate for the Java programming language. My learning Python might seem a bit odd to some. In fact, some of my friends started pinging me on Twitter after I posted several tweets about me solving the Pet…

Everything I know about software development in a single page of quotes.

Goat Fell, Isle of Arran — Scotland — Photo taken by Donald Raab in 2004


At the end of 2003, I accepted an opportunity to go on an extended business trip with my family to England. We moved to London in January of 2004, and returned back to the states at the end of the same year. Before I left, I decided I wanted to distill everything I knew about software development down to a set of memorable quotes. I used to read a lot of books. Most of the books I read were technical, but some were about leadership and project management…

Out of hundreds of possibilities, these are some of my favorite methods available on the Eclipse Collections API.

My favorite methods in Eclipse Collections

The Eclipse Collections API

Eclipse Collections has a very feature rich API. If you ever wished a Java Collection could do something more “collection-like”, Eclipse Collections probably has a method that does it. The following blog has a mind-map of the methods available on the Eclipse Collections API.

Visualizing the Results

You can try and debug the results above in your mind, but I thought it would be more helpful if I just showed you the results inline using IntelliJ.

A poem about limiting yourself.

Reaching for the sky and staying in the same place with the same group — Armstrong Redwoods State Natural Reserve — Photo taken by Donald Raab


This is a poem I wrote in 1988 that was published in my high school’s art and literary magazine. I hope you enjoy the poem, and my selection of pictures to go with it.

The Clique

Watch out little fly,
Don’t get caught,
You’re in danger, run away quick!
Don’t you understand,
Spider’s web means spider,
Spider means death.
Oh well, if you must follow every other fly’s mistake,
Learn for yourself.
You’re about to join an exclusive group,
And once you’re in the web,
You kill off all other possibilities.
To put it simply,
You’re stuck.

-Donald Raab

Smalltalk helped me become the software engineer that I am today.

Working on the Deck of Cards Kata in a modern Smalltalk IDE (Pharo 8.0)

Say it, then Do it

I first learned IBM VisualAge Smalltalk in 1994. I took part in a five week Object-Oriented Immersion class with Smalltalk that IBM offered as part of its Object Technology University program. I fell in love with the Smalltalk language and IDE almost immediately, and spent countless hours in the evenings over the five weeks experimenting with VisualAge Smalltalk in the lab. I have never encountered a more immersive developer experience to this day. I stopped programming professionally in Smalltalk around March 2000.

Twenty plus years later, I am still…

A poem about poker and marriage

Playing cards I bought on a trip I took to Toronto


My grandmother taught me and my siblings how to play poker and other card games when we were growing up. We’d play lots of different kinds of card games with her and my mom. Her favorite poker game was “Follow the Queen”. I miss my grandmother. She lived into her 90’s, and I have many wonderful memories of her growing up. She lived long enough to see me get married and have two children of my own. I’ve been happily married now for over 25 years. My parents have been happily married for over…

Consistency, clarity, and convenience of API driven by symmetry

A window to San Francisco Bay

A dedication to API Symmetry

We have driven the evolution of the API in Eclipse Collections by responding to and meeting the needs of real use cases encountered in applications in Financial Services and other industries served by developers working in the open source community. We use symmetry to guide the design and implementation of Eclipse Collections. Our collective experience has shown us that symmetry is a good guide to improving the design of our API.

Mutable Converter Methods

We have had primarily mutable converter methods in Eclipse Collections since 1.0 of the product.

A poem about politics written in 1989

FDR Memorial, Washington, D.C.


I wrote this poem in 1989 and it was published in my high school art and literary magazine. This is probably the only poem I have written about politics. The major events in 1989 would begin with the inauguration of George H. W. Bush in January as the 41st U.S. president, and end with the fall of the Berlin Wall, premier of The Simpsons on FOX and attempt to overthrow Manuel Noriega.

A Brush-Cut World

Someone’s head, caught in the mirror, Twisting and turning. Fierce comb putting all into place, Strays hoarded and fixed. But strays…

A poem about the quest for knowledge

Can you find the Alligator?


This is a poem I wrote in 1988 that was published in my high school’s art and literary magazine. I hope you enjoy the poem, and my selection of pictures to go with it.

The Shadow of Life

When I was just an infant, My mind was as dark as night, An endless void of shadows, No perception of wrong or right. As I grew, I learned to love, To care, to hold, to learn, My thoughts began to set off sparks, And the shadows began to burn. Gradually a candle stood, Where shadows were only known…

Better late than never?

A perfect dinner setting after 7 years of planning — Grounds for Sculpture, Hamilton, NJ

Self-service only

In 2004, I was an architect coding in Java at a large financial services firm. Java was missing most of the collection productivity features I had in Smalltalk, so I decided I would “Just do it” and started building the first utility classes in what would eventually become an open-source Java library called Eclipse Collections. I blogged about this a year ago.

Serving a full menu dinner every day for 40 years

Smalltalk has always had converter methods for its collection types. A converter method allows you to convert one type to another via an intention revealing method name. In Smalltalk, the converter methods all started…

Donald Raab

Java Champion. Creator of the Eclipse Collections OSS Java library (http://www.eclipse.org/collections/). Inspired by Smalltalk. Opinions are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store