What if a Developer can Help Improve Software Development in Java?
My journey to help improve the Java ecosystem continues.
Things happen sometimes when you ask “What if?” It’s not enough to just ask the question. You have to invest yourself in exploring the answer and convince others the thing you are thinking or talking about is important to consider. Sometimes you should write a blog. Sometimes you should write some code. Sometimes you’ll need to engage in open community discussions. Sometimes you should write a book. Regardless, any changes to a programming language or library requires a commitment of patience and persistence. If you believe strongly in your “what if”, then just do it. Even if you have to go it alone at first , the view might be very pleasant when you get there. If and when others see what you see, they may enjoy the view as well, and commit themselves to the cause. It’s ok if no one else sees what you see, or if the value is deemed to not meet the cost, or if it simply is not a priority. Everyone needs an incentive to do something. Sometimes incentives won’t align. If you learned something, then take that as the win and move on. There’s plenty of work to do.
I shared this post originally on LinkedIn. The blogs I referenced are all on Medium, so I am sharing it here as well.
When I decided at the end of 2023 to take time off to travel and to write a book about the open source Eclipse Collections library, I didn’t start by travelling or writing the book. I started by blogging.
In the first fifteen days of 2024, I wrote three “What if Java…” blogs. These blogs created the necessary distance and space for me to think about what I might want to write about in a book about a Java collections library I had created and worked on for twenty years. I wanted to recall some of what motivated me to create Eclipse Collections twenty years earlier. The simple answer was “because Smalltalk”, but there were many more nuanced answers, that most Java developers would not immediately appreciate or understand.
I’ve written a couple more “What if Java…” style blogs since writing the first three. If you want to see some of how I see the world of software development, through my former Smalltalk developer lens, then check out these blogs.
📔 What if null was an Object in Java?
📔 What if Java had Symmetric Converter Methods on Collection?
📔 What if Java didn’t have modCount?
If you want to understand why I believed that Java would get lambdas all the way back in 2004, then this is the blog to read. [This was really my first “What if Java got support for lambdas?” blog.]
📔 My ten year quest for concise lambda expressions in Java
Twenty years after starting this quest, I began the journey writing the book about an improbable open source Java library. While I have written and published the first edition of the book, my journey hasn’t finished yet. I continue to convey the message to all Java developers, that there are different, sometimes better, ways to approach solving problems in Java. Java is a great programming language. Developers who program in Java can and should learn a lot from classic programming languages, like Smalltalk.
The following is the story I wrote after completing the book writing portion of my journey. There is an appendix dedicated to Smalltalk, and the whole organization of the book owes much to the idea of message categories I learned from Smalltalk over thirty years ago.
📙 My Twenty-one Year Journey to Write and Publish My First Book
Thanks for reading! 🙏
I am the creator of and committer for the Eclipse Collections OSS project, which is managed at the Eclipse Foundation. Eclipse Collections is open for contributions. I am the author of the book, Eclipse Collections Categorically: Level up your programming game.
