Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Stepping in the Footprints of a Perl Programmer

by magnus (Pilgrim)
on Feb 09, 2001 at 18:07 UTC ( #57378=perlmeditation: print w/replies, xml ) Need Help??

after reading and replying to tame1's post yestrday Missing Something it set me to thinking about being a perl programmer and i wanted to send out some thoughts to see if i can get some thoughts on the subject about the person behind/inside/beside/totally-seperate-from the perl programmer...

i aspire to being one of the those people who calls themselves a perl programer, and with the generosity of time and wisdom from the monks herein, feel that path not so dark as it once was... but still, i can only say i program in perl, a distinction, in my mind, that has come to represent a goal of when i can say proudly or loudly "i'm a perl programmer... where's the coffee machine?"...

i doubt that the moment is code based: when i can use the Mod::Thing within this block, i'll then have magically traded my jeans for a homespun hooded robe with a hemp sash... or that it is one moment... and i expect (read: hope) that i'll recognize it when it comes...

but, as i've never been a "geek" or computer guy, i don't eat and breathe the stuff, and i feel that others do, i wonder if i'll ever make the transition (meaning if i don't eat or breathe it and attend every YAPC, will i ever be so blessed/cursed)... i know i will, but it doesn't chase the feelings away when i bang through my code and then find a piece here on perlmonks that does what i did in two simple lines, and it took me 4 nested  while staments...

btw, that was example... i never had that happen... it was only two nested... =)

so i was looking for other people's experience from the persepective of an observer... when you step back and look at the person behind the programmer (of whatever level), did you ever feel similar?... if so, when did it change, if ever?... if not, why do you think?...

in five months, my contract runs out and i'm looking to get another in a Perl related job, even if it's Sys Admin-who-writes-perl-scripts-to-make-our-machine-cooler/faster/better (or just work period)... and i'm interested, in this node, in the journey part of the journey and how the code mirrored that journey for others...


Edit: 2001-03-03 by neshura

Replies are listed 'Best First'.
Re: Stepping in the Footprints of a Perl Programmer
by merlyn (Sage) on Feb 09, 2001 at 18:59 UTC
    I'm not a Perl programmer, but I play one on the net. {grin}

    Just weighing in with another datapoint, I started programming at age 9 (in 1970) when my dad brought home some PDP/8 manuals that a client had given him, including a manual for a clunky language named FOCAL. I read through the PDP/8 books, eagerly staring at the "assembly language", but was particularly fascinated by this "FOCAL" thing, so I actually wrote some FOCAL programs on paper.

    Dad saw this fascination with this programming thing, and figured out how to get me access to the high school's ASR-33 on the weekends so I could start programming for real. And after I had written and run my first real program (150 lines, no bugs!), I was hooked. I was going to grow up and be a programmer!

    Of course, at the time, programming was used only by banks and government. Little did I know that 10 years later, individuals could afford computers, and 20 years later, I'd be having email conversations with people in Moscow in near real-time and publishing a best-selling book on a fledgling computer language. And 25 years later, I'd be convicted of three felonies for doing my computer job, forever altering my life.

    So, I've been programming for 30 years, so at the core, I seem to "be a programmer", but I also play so many roles now, I try not to limit my self-definition that way. If asked on an airplane, I usually say "I'm a travelling stand-up comic", because that's the part of the job that most people can identify the easiest with.

    -- Randal L. Schwartz, Perl hacker

      Incredible isn't it? I read the plethora of articles on your conviction and to be honest I can't see that you were guilty of anything other than gross naiveté.

      Getting back to the subject in hand, there are different kinds of programmers: To use the metaphor from "Star Bright" (I forget the author, but it is in "Tomorrow's Children" edited by Isaac Himself, who is up in heaven now) there are "brights": People like Larry, Tom and Linus (at the high end) and all good programmers. There are "tweens", people like most of us here at Perlmonks (I count myself towards the lower end of this category) and then there are your everyday people who are aware that there are people who programs for computers but that is all.

      We each have our own abilities and focus: I like writing tersely procedural Perl but I am getting better at objects. One of my former co-workers thought in general terms and would then pick which of his many languages to drop the code into - a real 'bright'.

      Enjoy your code and be prepared to learn, for there is always something to learn.

      Elgon Update: Zigster - every day should be a day of revelation!

Re: Stepping in the Footprints of a Perl Programmer
by oakley (Scribe) on Feb 09, 2001 at 18:22 UTC
    I, like you, can only really say that I program in Perl. I have seen it stated here numerous times over (and as everyone has heard or read), TIMTOWTDI - There is always going to be someone bigger/badder/better/more experienced... but that's how you learn new stuff... talking to him/her, reading code that makes so sense and then figuring out what it does and trying to do it yourself.

    I may be way off of the point you are desiring here, but I know LOADS of just totally awesome programmers - friends and co-workers - and I have never met a one who wasnt willing to help me learn something new or expand on something existing.

    I feel similar to other Perl programmers in loads of ways... a good percentage of it, because I have been there... (more on the starting out and getting going side)... but then just the enjoyment I get from starting with something new and empty, and then ending up with something that DOES some sort of helpful task - even if small (kind of like writing a letter). The feelings along the way only change with time and experience... life is the same way.

    Just sit back and let happen what happens... and learn from it... and also, dont *ever* be afraid to ask - as that old phrase goes "The only stupid question is a question that goes un-asked"... and that's true...

    Embracing insanity - one twitch at a time >:)
Re: Stepping in the Footprints of a Perl Programmer
by davorg (Chancellor) on Feb 09, 2001 at 18:27 UTC

    I don't think that it's a "single moment of clarity" thing. It's more like a gradual process. When I first started writing Perl, my code looked like C (but that's OK - Larry said so!) These days I'm far more comfortable with Perl idioms, but there was no single point when I suddenly thought "Aha! I'm a Perl programmer now." I can look back on code that I wrote only a few weeks ago and improve it using techniques that I've learnt since then.

    I'm gradually becoming a better and better Perl programmer, but there are plenty of people around who are far better than me. I see enough of their code to realise that I've still got a long way to go - and that's part of the fun of Perl!


    "Perl makes the fun jobs fun
    and the boring jobs bearable" - me

Re: Stepping in the Footprints of a Perl Programmer
by stefan k (Curate) on Feb 09, 2001 at 18:21 UTC
    have a quick look at crush_data-node which was one of my first postings here. It took me some 30 or 40 lines to do what merlyn did in just one line. But -hey- that's simply OK, because there is a way you'll probably trod along while you sometimes use this or that language to fulfill this or that task.

    As long as you can acutally solve the problems you got at hand (say without further constraints like performance or the like) you're doing a good job as a (Perl)programmer. You'll probably get to points when the job has to be done particularly good (e.g. better than the coder before you did ;-) That will be one of the moments you start thinking thru things more precise and maybe find other (better) ways to fulfill a task. That is what programming in C is for me ;-)

    Anyway, in Perl I tend to refuse to think about further constraints as long as I get the job done, because at least 95% of the perljobs I do are straight forward and don't care whether they take 5 seconds or 5 minutes...

    Stefan K

    $dom = ""; ## May The Open Source Be With You! $Mail = "mail@$dom; $Url = "http://www.$dom";
Re: Stepping in the Footprints of a Perl Programmer
by arhuman (Vicar) on Feb 09, 2001 at 18:21 UTC
    My point of view, is totally biased as I'm a total computer-geek, spending most of my spare time/interest in improving my computer knowledge...

    Anyway I think that as long you keep the desire to become a perl programmer, as long as you learn (a monk said here something like 'as long as you stay a beginner') nothing will prevent you from becomming a good one.

    The love of the well done job, and a lot of work are enough to become a good programmer, the humility to allways learn will enable you to stay a good programmer.

Re: Stepping in the Footprints of a Perl Programmer
by zigster (Hermit) on Feb 09, 2001 at 18:24 UTC
    What do you want ?? You are a perl programmer are a programmer who writes perl. The IT bis is brilliant .. really it is there are always new challenges and new things to learn. If you ever get to a place where you feel you have learned everything you are deluding yourself. The trick is to see yourself in perspective from where you have been and where you are going.

    Dont compair yourself to others and see yourself lacking there will always be people more able than yourself. Compair yourself to the you of last month know you are a better person, programmer. Remember that on forums like perlmonks you are talking to the top 10% of the industry so chill. To quote from desiderata:

    Avoid loud and aggressive persons, they are vexations to the spirit. If you compare yourself with others, you may become vain and bitter; for always there will be greater and lesser persons than yourself. Enjoy your achievements as well as your plans.



      i was actually looking for a some "this is/was my experience..." i realize that comparsion never brings anything but dissillusionment...

      but your point is well taken, when dealing with the creme de la creme... =)

        I started with Perl AFTER I graduated with a CS degree. I graduated one year and eight months ago, and I have had three jobs (including my current one) that allowed me to use Perl.

        I was first exposed to Perl about 1996, when I was busy learning C++, Unix, and basic OOP stuff. I really wanted to learn Perl at that time - but I was not ready. What I mean is that I could write Perl like a second semester C++ student would attempt, but the serious stuff did not come until after I did it the hard way with other languages.

        Now I am trying to piece together all the little puzzle parts that were taught to me in my CS courses. This is something I will (hopefully) never finish, becuase the point of the journey is not to arrive - it's to keep learning. The more languages you understand, the more you understand about the essence of what a language is. In our case, it's just ways of arranging one's and zero's to get little chips to work in harmony with each other.

        I read from my Geek books everyday, even if I only have time to look at one page. I go back over the books that I have already read and try to engrave that knowledge permanantly into my head. The doctor says I should be out in a couple of months, but that's another story . . .

        So where am I now? Not too much further away from were I was 4 years ago. One day at a time . . . :)


        If you are asking when do you 'become a programmer' is there a moment of clarity and revalation? Dunno aint happened to me yet but I hope it never does. Looking for the revelation is the fun. I would hate to not want to know more stuff. I like learning.

      Although the 80's singer Rick Springfield isn't a Perl programmer, he did once say something that was quite relevant to Perl. After he hit it big he looked back over his 15 years of struggling to get there and advised:
      "Never compare yourself to anyone else, because you are your own worst critic, and you will always come up short."
      Along the same lines is the Stanislaw Lem short SF story "Tales of Pirx the Pilot" in which Pirx was the pilot everyone compared themselves to.

      Can I do something in Perl that Merlyn or Mirod cannot? Not likely, but maybe someday.

        I would disagree with the last paragraph. Stuff is only hard when you dont know how to do it. It is one of the great ironies of life. It is always hard to apreciate your own knowledge, well because you know it ;-) . There is no accounting aspects of your knowledge, things you find trivial, that other people will yearn for.

Reflections in a Lake of Perl
by japhy (Canon) on Feb 09, 2001 at 20:48 UTC
    I started programming Perl 4 years ago. At the time, I didn't consider myself a programming person, or anything near a computer geek. I'd tried learning C++ (for one of my classes) in high school, and I didn't like it. I had done some BASIC programming on my Commodore 64, and I bit of JavaScript here and there, but it wasn't amazing. I'd never PEEKed or POKEed in BASIC, and, well, JavaScript isn't really advanced.

    So I started learning Perl. It was for my home page, just making little mail-me forms and whatnot. I started by looking at one of my friend's programs. Then I decided to check IRC. Luckily, I chose EFnet (by random). I was scorned and such, for my lack of effort in reading the docs and all. And I was kicked (and probably banned) for my insolence and ignorance. But I learned. I got the camel. I learned Perl from books, and people that knew it (and people whose job it was to make sure people kept learning and liking Perl).

    And so why do I program Perl? Maybe I'm a geek (I don't think so, though -- I'm just enthusiastic), maybe not. But I program in Perl because it's fluent for me -- I program as much as I speak (or at least, I'd like to).

    When did I realize I had a talent for using Perl? When did I figure out that I knew how to do things efficiently? When I looked at my first programs, and shrunk them tremendously. When I started answering questions on IRC instead of asking them.

    I never expected Perl to be as big a part of my life as it is now (it's my career, and will be for a long time, if I have anything to say about it). So looking back, this is all a surprise (a good one). Perl increased my awareness about the programming world, and was a gateway drug (I know some C, C++, Python, and Befunge now, thanks to Perl).

    Maybe you don't feel as gung-ho as others, and maybe you won't. Don't try to force Perl to be something for you. If it's not fun now, maybe it will make itself fun for you later. You'll find a groove, eventually.

    japhy -- Perl and Regex Hacker
      You know the world is coming to an end when......people are listing Befunge as a language that they know... yikes

      Time for you to learn malbolge now :)
      japhy wrote:

      > When did I realize I had a talent for using Perl? When did I figure out that I knew how to do things
      > efficiently? When I looked at my first programs, and shrunk them tremendously.

      I think you hit the nail on the head there. I think the best indication of progress for me is when I look back at old programs and see how much I've learned since I wrote them. It feels good to turn 20 or 30 lines of old code into five or so.

      I also like seeing remnants of C influence in older code (e.g., using for ($i=0;$i<@arr;$i++) to walk through an array) that I've since replaced with Perl idioms (foreach is my friend).

Re: Stepping in the Footprints of a Perl Programmer
by bent (Scribe) on Feb 09, 2001 at 20:14 UTC

    For me, programming perl is not about learning or using perl. Programming perl is a search for the "Ah hah" moment: the moment when everything crystallises and youre brain finally groks an idea. I've been lucky to be introduced to coding as a subset of the whole idea of computers/machines, because I study Electrical Engineering, not CS. I think that it's the moment of realisation that lends coding its appeal, not the particulars of what is being discussed. I get as much enjoyment from doing/studying maths and physics as I do from coding because it's the effect on ME that's important, not the results.

    All code becomes superceded and all ideas about how the world works become outdated, but the process of learning is always a joy.

Re: Stepping in the Footprints of a Perl Programmer
by Fastolfe (Vicar) on Feb 09, 2001 at 21:39 UTC
    looking to get another in a Perl related job, even if it's Sys Admin-who-writes-perl-scripts-to-make-our-machine-cooler/faster/better

    What do you mean "even if"? In my opinion, this is the best Perl job you can have. You're not tied down to building some large web application to someone else's specs, you have freedom to investigate new ideas and ways of doing your job, and the automation you'll get out of it will not only make your job easier, but you'll get it done in half the time that everyone else is.

    I made the move from "programming" to "operations/administration" 6 or 8 months ago, and I will never go back.

A perl epiphany
by Coyote (Deacon) on Feb 10, 2001 at 01:01 UTC
    I clearly remember the moment that became a perl programmer. I followed a fairly common programming path: BASIC and Pascal on the Apple II; Pascal, C, and COBOL; and Visual Basic, REXX and Java after college. Writting database front ends in VB and Java 8-12 hours day was enough to drive me out of the programming business and into a sysadmin position working with Novell, OS2 and Unixware servers. My only exposure to perl at this point was a poorly written "Teach Your Self Perl 5 in 21 Days" book and buggy "cargo cult" CGI scripts my users gave to put on our webserver. Remember Matt's Script Archive? Needless to say, I considered perl to be buggy, obfusciated, line noise.

    After a couple of years, I went back to graduate school to persue a Masters degree in a non CS related field. My master's thesis involved analyzing 4.5 data points of time series data. I started anaylzing my thesis data using Mathematica and some programs I had written in Java. While I was in the early stages of the data analysis, I took a long weekend trip to New Orleans to visit a friend who was there on business. Since I knew that I would be spending quite a bit in airports and waiting for my friend to finish up meetings and the like, I borrowed an old laptop running Redhat Linux to work on my thesis. I copied my data to the laptop, but I didn't think to check to see if the it had a java compiler or a JVM installed. While waiting for my flight to New Orleans, I realized that the Redhat installation on the laptop had perl, python, tcl/tk, gcc, and a couple dozen variations of lisp and scheme, but no java compiler or JRE. I either had to find some other way to work or resign myself to hauling an extra 10 pounds of dead weight around the French Quarter. As I mentioned before, I wasn't fond of perl and I hadn't touched C since my undergraduate days, so I started writting some new data anaysis programs in Python. I ran into some problems early in the process and the documentation that I had on the laptop for Python wasn't terribly helpful. At this point I decided to give perl another chance. After writting a couple of "hello, worlds" and looking through the FAQ, I had a working data anaylsis program and my perception of perl had changed a bit -- perl wasn't a bad language, I probably wouldn't use it if I could use java, but it wasn't a bad language. The epiphany came a few days later after a night of too many hurricanes and too much gumbo. I was working on my thesis in Cafe du Monde drinking coffee and eating order after order of those fried, powdered sugar donut like things they sell when it struck me that the best way to describe patterns in my data was to describe them using perl's regular expressions. The text of my thesis is peppered with regular expressions and snippets of perl code. I have graphs where the axes are labeled with regular expressions. Perl is unique in its rich expressiveness. You can see this clearly in the poetry, obfusications, and JAPH signitures. For me perl was not only a better tool than Java or Python to deal with my data, it was a better language than English to describe my data. It was at this point that I became a perl programmer.


Re: Stepping in the Footprints of a Perl Programmer
by yakko (Friar) on Feb 09, 2001 at 22:04 UTC
    I started programming in 1984 (the Apple II, FPBASIC). My interest didn't really take until 1986, when I had a IIe at the library downtown. Once I was allowed to go thru larval stage by spending all my free time there, my interest in computing was here to stay. After that, I went on to do not only programming, but most of the other aspects of computing (hardware, sysadmin, and currently network infrastructure). My interest in programming remains good because of that old Apple, and has actually increased thanks to Perl itself and this site.

    I too wish to step in the footprints of the Perl programmers who can reduce my 50-line "program" to less than 80 chars... and I've tried, but I currently find myself falling down huge holes. It'll take time. Things are sticking. If I could teach myself 6502 assembly without much documentation (or a net.presence in 1987), then I think I stand a good chance of doing something great (or even "mediocre++") in Perl. :o)

    Me spell chucker work grate. Need grandma chicken.

Re: Stepping in the Footprints of a Perl Programmer
by Crulx (Monk) on Feb 10, 2001 at 16:18 UTC
    Ahh, but the answer you seek is so simple, grasshopper.

    I will now reveal the secret to being a Perl programmer.

    1. Write code in Perl.
    2. Repeat.
    To be a great Perl programmer? The formula is just as simple, my child.
    1. Write great Perl code.
    2. Repeat.
    No field of human endevor has laws that alter in the slightest from these.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2022-11-28 01:51 GMT
Find Nodes?
    Voting Booth?