Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Stagnancy and good practice

by Macphisto (Hermit)
on Apr 11, 2001 at 09:03 UTC ( [id://71593]=perlmeditation: print w/replies, xml ) Need Help??

Being a college student I rarely have enough time to find a really good project and just dive into it. So usually most of the scripts I write in perl tend to be maintenance scripts to keep my linux boxes neat and clean and running tidy.

One thing I never really looked into was being able to do everything I can on the linux machines and the *nix machines on the Win2k machine. As it turns out, most likely what you decided to train yourself in will be the exact opposite of what you're asked.

Example: After setting up the linux machine to act as a firewall and do some IP Masquerading, some friends asked me to show them how to do it ... on their Windows Machine. Had it been a professional scenario, I would have been caught with my foot in my mouth as it took me a bit of exploring about to find the exact things I wanted to do.

Something that would seem to me as a very good practice -- as well something I don't see very often in my peer programmers, would be to make sure your programs can run across platform. For some this is a no-brainer, but when I brought it up to a fellow student they said, "Who cares ... if they hire us for one platform and it doesn't work on another they happened to try it on, it's their own d*mn fault." As important as it is for your name to stay stable and trustworthy/respectable in the programming field, I found this to be rather disturbing. As it stands, I've been going back through all my programs ( Java, C, C++, and Perl ) and trying to edit them to make them run across all the operating systems at my disposal. For what it's worth, and as one of the reasons it is my favorite language, perl has moved through this process with blinding speed. With rarely an edit needed ( except for filesystems quirks/pragma ) it far outshines the changes I needed to make in the other languages. I wish I'd kept a running tally, so I could post some numbers. Compared to the programs I wrote in Java for Computer Graphics, the ratio was staggering! As well, it's just good practice to be able to say, "Oh wait, this snippet throws an exception, I better catch it or find a better way to of doing it." It's a pretty good learning experience. If you haven't done it, perhaps it is something you might want to look into. It opens you up to a larger population of Employers and Code.

Macphisto

p.s. Right, no more kool-aide and fried rice for me at midnight...

Everyone has their demons....

Replies are listed 'Best First'.
Re: Stagnancy and good practice
by jepri (Parson) on Apr 11, 2001 at 14:19 UTC
    I've got this mindset where I want to be able to say "My code runs on UNIX and windows. I'm even happier now that Mac OS X is out, and includes a copy of Perl. Once Tk is ported I'll be able to claim that it runs unchanged on 3 platforms.

    That probably sounds a bit overdoing it, but I figure if I'm aiming at perfect programs(*) I might as well make them cross platform as well.

    As for Perl being a great language to do this in, it's better than most I've tried. I found my Scheme programme translated OK

    I suspect if MS ever releases MS office for U|L inux then VBscripts will work perfectly on both.

    * - I didn't say I was achieving perfection, just aiming for it.

    ____________________
    Jeremy
    I didn't believe in evil until I dated it.

Re: Stagnancy and good practice
by Masem (Monsignor) on Apr 11, 2001 at 17:04 UTC
    While I would suspect that most programmers (or at least most programmers that are self-taught or come from the *nix side of things) agree that cross-platform as well as intra-platform support is a Holy Grail, most of these issues are killed by management who want it done quickly. And to do such they will sacrfice the cross-platform support in leiu of rapid application development (unless of course the project requires it). I would certainly expect that as a college student of a freelance programmer on their own time to take the time needed to make things as platform-less dependant as possible, but when you get into the workplace, even if you are working with a language like perl (which nearly forces you to include code to make it non-platform independant), the higher ups do not value this.

    Which, of course is really a shame. Why settle for only 90% of the market when you can have 100% of the market for just a little more work?

    (And of course, all this also applies to web design as well...)


    Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
Re: Stagnancy and good practice
by Macphisto (Hermit) on Apr 11, 2001 at 17:52 UTC
    I got a msg from someone who thought my post was disconnected and they're right, it was late and mybrain was cluttered from studying for a Chemistry Examination. I referred to Stagnancy because as a college student, I find myself wrapped up in studying, and exams, and papers, and rarely get to write code that I feel stretches my abilities. When I work ( I work as a systems administrator at a small consulting firm in DC over the breaks ) I tend to be asked to write scripts that are challenging and also teach me a thing or two along the way. Most of the code I have to write for classes, doesn't teach me much and like most school work tends to be busy work. I was saying that testing your scripts/programs across as many platforms as you can is a good way to get out of that stagnancy without getting into too much trouble. Trouble being defined as writing programs when you should be studying ... I get into trouble a lot! Just wanted to post to try to tie it together for the monk who felt it was disconnected.
    Regards,
    Mac

    Everyone has their demons....

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://71593]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (7)
As of 2024-03-28 15:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found