I realize this is a very open-ended and possibly silly question, but how does one get acquainted as fast as possible with a new codebase, in a language he/she's not very proficient in?<p>I've been recently trying to pick apart some convoluted code in Java, which contains heavy-ish OOPisms. Ι come primarily from a Python/Go background, and I haven't worked with Java in a deeper level before, so I find myself trying different things. Unfortunately I haven't truly been productive yet, and I'm occasionally getting frustrated.<p><i>What are your stories, HN?</i> Do you use IDE features to look up things quickly? Pen-and-paper notes and diagrams? Get a minimum example working and hack on it ASAP? Keep banging on the walls, hoping to make cracks?<p>Edit : Typos