Philosophers and linguists have long asked the question, Does the language we speak shape the way we think?
We now have academic research to help answer this fascinating question. The data seems to indicate that language does indeed affect the way we think. It can even impact our ability to perform.
Lera Boroditsky, Ph.D has a wonderful TED talk that introduces linguistic and cognitive studies to the masses.
She demonstrates that language influences a tremendous amount of the way we perceive and interact with the world. Everything from our sense of direction to our understanding of time and distance. It touches our ability to count or quantify, our awareness of colors, our perception of intent, credit and blame, even our concepts of gender.
Our language changes what we pay attention to and notice. What we place emphasis on. What our biases are. It impacts our capacity and speed at which we can accomplish various tasks. It can even change the physical characteristics of our brain.
Language acts as a stepping stone into entirely new cognitive realms and can lead to big differences in creative and intellectual ability.
Yukihiro Matsumoto (Matz) has indicated that Ruby was inspired and influenced by several other programming languages. Lisp, Smalltalk, Perl, Eiffel, Ada, Basic, and others. More recently, Rust, Go, and Elixir.
I knew many languages before I created Ruby, but I was never fully satisfied with them. They were uglier, tougher, more complex, or more simple than I expected.
Throughout the development of the Ruby language, I’ve focused my energies on making programming faster and easier.
Ruby is designed to make programmers happy.
Ruby has a long history of assimilating the best ideas, patterns, and practices from other programming languages. In many ways, it is the convergence of the most exceptional features from other languages.
Admittedly this can feel messy or chaotic at times, but it delivers the widest range of options to the programmer. Ruby's culture of embracing and including the best from other languages dramatically increases the solution space and directly impacts our capacity to think and perform as developers.
Does this mean we should ignore other languages and trust the MRI team will always get it right? Of course not. Learning another language will improve your ability to work with Ruby... or any language for that matter.
To have a second language is to have a second soul.
Having said that, Ruby is the most malleable and flexible language I've ever worked with. It frees my mind to explore solutions that I may not have considered or even been aware of in another language.
I should point out that Rails wouldn't exist without Ruby. DHH appropriated Ruby's culture of inclusivity and created a framework that is a delightful melting pot of tools, patterns, and techniques. All made possible by Ruby. Language choice may also help explain why no other web framework has materialized that shares the same eminence and stamina.
This is why I still love Ruby, even after 10 years of working with it.