So, I got this idea kicking around in my head a while back, something I mentally tagged as ‘javenglish’. Not very original, I know, but it stuck.

The whole thing started because, well, I was trying to get better at two things at once. My Java was okay, but my technical English? Let’s just say it needed some serious work. I figured, why not try to force myself to think and code purely in English for a project? Seemed like a solid plan at the time.
So, I picked a little personal project, nothing too crazy, and laid down the law for myself: everything had to be in English. I’m talking variable names, method names, the comments (obviously), but also my commit messages, any design docs I scribbled down, even the to-do notes I’d jot on a sticky pad. The full monty.
Fired up the old IDE, felt pretty good. First few bits were a breeze. You know, String customerName;
or int itemQuantity;
. “Easy,” I thought. “This ‘javenglish’ thing is gonna be great.” Famous last words, right?
Then I hit the more complex stuff. Trying to name a function that did, say, three different things related to processing some data. In my native language, I could come up with something quick and dirty that made sense to me. But in English? I’d sit there, staring at the screen, for like, ten minutes. Ten minutes for a function name! It was nuts. I probably spent more time consulting online thesauruses than actually writing logical code.
And the commit messages! Oh boy. I wanted them to be proper, descriptive. Not just ‘fixed bug’. So I’d end up writing these mini-essays for each commit. Something like: 'Implemented a revised algorithm for data aggregation to improve performance under heavy load conditions, specifically addressing the bottleneck identified in the previous profiling session.'
My fingers would ache. It was like writing a report every half hour.

The comments were another battle. I wanted them to be crystal clear, almost like I was explaining the code to someone who’d never seen Java before. Which is good practice, I guess, but man, it slowed me down. My code files started looking like novels with a few lines of Java sprinkled in. Some days, I’d just want to scream. I’d be wrestling with some tricky logic, and then I’d have to stop and think, “Okay, now how do I explain this complex, abstract mess in simple English?”
There were times I’d just give up for a bit. Write a quick comment in my own language, promising myself I’d translate it later. Sometimes I did. Sometimes… well, you know how it is.
So, what came of it all? Did my English improve? Yeah, I’d say so. Especially the technical vocabulary. I got much better at finding the right words for programming concepts. My Java probably got a tiny bit better too, just from having to think things through so deliberately.
But the biggest takeaway? It was exhausting. It made me realize how much I relied on my native language for the quick, intuitive parts of thinking and problem-solving when coding. Forcing that switch to English for every little thought was a real mental workout. It showed me that just knowing the English words isn’t the same as thinking fluently in English while wrestling with code.
I don’t enforce that strict ‘javenglish’ rule on myself anymore. It was a good experiment, a bit like running a marathon with weights on your ankles. You get stronger, sure, but it’s not sustainable for everyday work. Now, I just try to be more conscious about using clear, proper English in my code and commits. It’s more about finding a balance, you know? You’ve got to actually get stuff done too, not just win a prize for the most grammatically perfect comments.
