Seorang teman yang mempelajari Ruby sebagai bahasa pemrograman pertamanya bertanya kepada saya pertanyaan yang sama saat ini melalui Strings in Ruby pada seri Ruby Koans. Saya menjelaskannya kepadanya menggunakan analogi berikut;
Anda memiliki segelas air yang setengah penuh dan Anda perlu mengisi ulang gelas Anda.
Cara pertama Anda melakukannya dengan mengambil gelas baru, mengisinya setengah dengan air dari keran dan kemudian menggunakan gelas setengah penuh kedua ini untuk mengisi gelas minum Anda. Anda melakukan ini setiap kali Anda perlu mengisi ulang gelas Anda.
Cara kedua Anda mengambil setengah gelas penuh dan isi ulang dengan air langsung dari keran.
Pada akhir hari, Anda akan memiliki lebih banyak kacamata untuk dibersihkan jika Anda memilih untuk mengambil gelas baru setiap kali Anda perlu mengisi ulang gelas Anda.
Hal yang sama berlaku untuk operator shovel dan operator plus sama. Ditambah lagi operator yang sama mengambil 'gelas' baru setiap kali perlu mengisi ulang gelasnya sementara operator shovel hanya mengambil gelas yang sama dan mengisinya kembali. Pada akhirnya, lebih banyak koleksi 'gelas' untuk operator setara Plus.