in reply to Learning by Doing

I think you're a bit too focused on the "Real World Problem" part. If I can automate something with Perl on my home machine, I'll do that. An application to gather some statistics on my mail or something else: a nice little project. Are those important in the grand scheme of the universe? Of course not, but it helps me in a number of ways: saving time by letting the computer do what it does best, generating potentially useful information and honing my Perl skills.

On the subject of Summarizing an array of IP's you write:

"You could probably write a script/module which would handle the general case of this problem which would create a cute little organized data structure for input like this."
You know what? You probably could. And you would learn an awful lot about IP addressing in the process. Most of the time, you learn more about the problem domain of the problem you're solving than about programming. Remember, a programming language is a tool to get something done. Most of the time, it is not an end in itself (altough Perl can easily be ;-).
And while such an excercise might be wholesome, it would still be just that, an excercise. Never would anyone have a need for this type of functionality, and it certainly wouldn't make the world a better place. And if it was something that was interesting or useful, someone would have undoubtedly put it on CPAN already.
I work for an ISP and I think that this type of functionality could very well be useful. Most of the time, you aren't programming to make the world a better place, but just to get the job done.

Don't let the fact that someone already has done something similar be an obstacle for you to learning something new. As a novice, you're bound to do things that other people have already done. That's part of the learning process. And the fact that something similar is on CPAN doesn't necessarily mean that it's very good. Maybe you can come up with a much better way.

Arjen

Replies are listed 'Best First'.
Re: Re: Learning by Doing
by chanio (Priest) on Jan 07, 2004 at 18:37 UTC
    In Phylosofy there are 2 types of science:
    • Applied Science
    • Pure Science
    • Guess what is the one used in the great inventions of our times? Pure Science: that is when you enjoy trying things, just for the joy. When there is no real need of doing it. It is also said that those inventions use to come from rebels or crazy living.

      Anyway, there are things that would be very useful if someone does them. For example, I actually don't have time to do a very useful thing: I need to classify all the incoming emails by the pop server that provides them. That is, having several email accounts, it would be very useful to have a detailed list of the addresses that emailed me at least once through each of these accounts. It is useful when you don't use that email acount any more and need to send your new address to every people that used that old one.

      I am planning to do this simple job by using the data that collects my spam server: PopFile that works in perl.

      I am also planning to offer that script to all the comunity that uses the same server. It might some day be an added service to that great application.