(Mind you, I'm pretty much in agreement with much that others have said in this thread. You're looking for something that is not where you're looking for it. But, ...)
On Wed, Aug 28, 2013 at 10:36 AM, guojzzz <rush....@gmail.com> wrote: > 在 2013年8月28日星期三UTC+8上午9时00分01秒,Joel Rees写道: >> On Wed, Aug 28, 2013 at 1:50 AM, guojzzz <rush....@gmail.com> wrote: >> >> > [...] >> >> > I know some books of OS, as Linus mentioned in his biography book. The >> > reason why >> > I choose kernel code is that I think it strict and compact, it's >> > bug-less, it has a code style guide. Kernel is also huge and has a lot of implicit linkages/dependencies that you basically will never see in the code until you've hacked in the code for several years and made lots of mistakes because of the things you can't see. It's not a place to start unless you mean by start that you've already been through the original K&R book and it's most recent incarnation, have done all the practice exercises in a modern dev environment, and now need to start in on "real" code. In which case, you have to understand that there is not a single standard style in C any more than there was in the old CoBOL. And a good style for kernel may not be a good style for even some of the loadable modules and drivers. And most userland applications will use different styles, and will not benefit from kernel style rules. >> > But other softwares' codes may not. Which is irrelevant. >> > As a matter of fact, I've ever thought about starting a project on my own >> > and others may help me, >> >> > but I have little experience in C, hence it seems impossible. >> >> > You mean find project on Debian website - develop page? >> >> Most of what is in the debian distribution is packages of projects >> that are developed and maintained elsewhere. Those projects may be >> easier places to start because they deal more directly with the code >> itself. And the code is more focused. >> >> So if you're just trying to learn C, there are lots of interesting >> projects on github, sourceforge, and the other public repositories. >> >> Look for a project you are interested in and dig in. ********************************************************************************** *************** Read and understand this: >> Expect to find yourself learning a lot of things that you won't see an >> immediate use for. Don't worry about that, just keep mucking around. *************** There is no high road. ********************************************************************************** >> >> (I'd recommend my book on programming, but I haven't written it yet. ;-) >> [...] >> Archive: >> http://lists.debian.org/CAAr43iPuJ2q853i7gtZtxcjcO7mDOOw3dCaer-hSQ9=jcwb...@mail.gmail.com > > The reason why I choose some *formal* projects is that I think codes are > clear and there are less bugs. > I will see on Github and some other projects. I thought of minix after I posted the last post. Minix is on github and they have a site with documentation and user forums and stuff. http://en.wikipedia.org/wiki/MINIX http://www.minix3.org/ It's a university project specifically for studying and teaching operating systems, so the code has been worked on by many students and several professors for many years. Since it's intended for student work, they try to make the code clear. It's relatively clean and self-commenting. But it's not real-world code. Very usable for many things, but it's not real-world code. But then it seems that real-world code isn't what you're looking for. It apparently can be run in a VM, so that might be to your taste as well. -- Joel Rees -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/caar43inv6aexf2vhqsc3yl3lrvadcbwrp30xgckqxuy_vzc...@mail.gmail.com