On Thu, Jun 21, 2012 at 05:22:08PM +0200, Gilles Chehade wrote: > On Thu, Jun 21, 2012 at 12:09:47PM -0300, Christiano F. Haesbaert wrote: > > Tedu's suggestion is the best one in my IMHO, implement a webserver. > > > > I would try to do the following: > > - Read K&R > > - Join ##c on freenode, they can help a *lot*. > > - Read manpages of every function. > > - Code small UNIX utilities, start with cat, then wc. > > - Code something like a webserver, this is where you'll actually learn. > > > > Actually, before a webserver, I'd recommend learning how to write a shell > as it will have you deal with lots of concepts you would not see > otherwise ... then network programming :-p
Just because you suffered thru a fucked-up education that's ass-backwards doesn't mean you should wish it on other people. ('may you live in interesting times', the old chinese curse). A shell is one of the most complicated pieces of C code to get right, between the fucked-up parser, the lazy evaluation, the arcane shit you have to do to various file descriptors, and the signal handling. Among other things. Heck, write your own kernel, it's simpler ;)