3 ms·
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
by ken 8y ago
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.
- deleted 8y ago[deleted]
- lucaslee 8y agoRead 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/2 https://github.com/CodeReaderMe/awesome-code-reading/issues/...
- afarrell 8y agoHave you actually done this? What was your experience?
- ken 8y agoNot 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.
- jammygit 8y agoHow long does this sort of thing take? Its a really neat approach but seems huge