Thinking about the Agile Community it seems ob obvious, how many approaches, best practices and even design patterns were invented in the Smalltalk Community (like TDD , Pair-Programming MVC Pattern).
I was wondering about the roots of Smalltalk. There must be a reason for this name. I visited Wikipedia, but found nothing special. But maybe this name is a personal attitude to talk with others before coding.
Fun aside, Java is of course a awesome ecosystem with a rich pool of open source solutions. But it is to easy to fall in the habit of every developer to do the task of most fun: coding. But it is mostly better to talk with you colleague before.
An old colleague of mine has called this approach: „from brain directly to keyboard“. He always was talking that software itself has to be developed in several steps, playing around with all available control knobs.
And what is the best for controlling all knobs? It is pair programming. In my opinion you have more fun on „philosophizing“ about design of software than coding if-else the millionth time.
And if you go together to solve a problem in a new way, you will create more beautiful code. That’s real fun and flow without the „blind code funnel“.