Learning to code

life

april 25

Yesterday I found a piece of code that I wrote when I was 14. It was a simple IRC service daemon, PHP Oper Services. It had the ability to link with Undernet IRC Daemon in order to provide an operator service. In order to do that it required a parser, in order to understand what the ircd said, as well as a backend database for its users.

When I was younger, I liked playing with something, acquiring its “juice”, and then move to something else. While some criticized this approach to learn, stating that I will never learn anything this way and that I was behaving “immaturely”, since I was continuously changing subjects.

This service was one of those pet projects, I’ve developed a hand-written parser that was able to link successfully with the IRCD, obeying the server-to-server grammar. Since I never read any books explaining what a parser is, I just read code examples, I had to discover myself the “secrets” of parsing.

This semester I took the “Languages & Compilation” course, which of course started with what a grammar is, and moved up to a lexical analyzer, parser and finally compilation. Reading the theory and seeing the example code I had the feeling that I’ve seen these stuff before. And indeed I had. That first hand-written parser I wrote back then, gave me with the practical knowledge and experience I needed to have now a more solid understanding of how stuff works [TM].

This is just an example of the little pet projects I had. I have a bunch of them. Little small unfinished projects, focusing on different aspects of computer science. All that programming I’ve done, all those projects gave me the foundations to evolve my coding style and extend my knowledge, even a little. Now that I have real tasks to accomplish, I have that experience to start with.

Your thoughts please

Your Information

No personal information provided here will be used for unlawful purposes and your email will not be displayed on the web blog.
Website is used for linking your name.
Review comment policy before posting.
* = required
Thanks!

Thought-dump here

Thought Preview