Ask HN: How to best approach new codebase in an unfamiliar language

3 points by tpaschalis ↗ HN
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?

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.

What are your stories, HN? 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?

Edit : Typos

3 comments

[ 3.1 ms ] story [ 18.8 ms ] thread
Breakpoints, breakpoints, breakpoints.
Problems start when the code is not run in a standalone manner, but have dependencies on another API's calls, but you might be right.. For most intents and purposes (C, Python, Go) vi was more than enough, now I think I might have to invest in learning my way around Eclipse or something. :P
Breakpoints can still help you here. You really do need to use an IDE, because things like Goto definition, variable inspection live on breakpoints, being able to jump up and down the class hierarchy at a breakpoint and "find usages" will allow you to get a higher level overview of the project as a whole