News for hackers. Stuff that matters.
Re:Programs to Read by ken on Thursday November 29, 2018 @01:43PM (#18562630)
Nobody ever wrote a 25MLOC program from start to finish, so I don't think it makes much sense to read it that way.

I'd read it the way it was written: from the beginning. What's Linux 0.01 look like? What's the next changeset after that release look like? What was necessary to add the driver for your favorite device? What changes were made for your particular CPU?

Programs are not static works (except maybe TeX and Metafont). They exist in the form they do in order to be amenable to changes. So look at the changes that drove it.

Re:Programs to Read by lucaslee on Thursday November 29, 2018 @02:01PM (#18562826)
Read the early versions, that's exactly what I am doing too!

I read Bitcoin 0.1.5 [1], which only has 15,000LOC and is the first tagged version on Github. Compared with the current Bitcoin codebase with 320,000LOC, it's much less daunting!

[1]: https://github.com/CodeReaderMe/awesome-code-reading/issues/...

Re:Programs to Read by afarrell on Thursday November 29, 2018 @02:25PM (#18563092)
Have you actually done this? What was your experience?
Re:Programs to Read by ken on Thursday November 29, 2018 @03:31PM (#18563676)
Not for Linux, but it's how I approach new programs I have to work on.

I can't decipher this 1000-line function, but it came from somewhere. What did it start out as? That's what the author originally intended it to be. What caused it to grow? That's what features someone else thought it needed.

Re:Programs to Read by jammygit on Monday December 03, 2018 @03:25PM (#18592557)
How long does this sort of thing take? Its a really neat approach but seems huge