http://www.perlmonks.org?node_id=489698

There are few things, which I really miss, while using Perl over the years. I see it at perlmonks and around the web for various things, yet I become hesitant to learn something new and continue my practices. There could be many reasons, no-need-to-change mentality, other responsibility, adding little to existing code and making workable solutions etc..

I feel that, there are few things which I really miss, that would have made me a better programmer. I guess that new things always come to the market and in the back of my mind, I will continue to have these feelings. Updating myself on contineous base could be a nice project, but than current requirement and needs always take priority over learning "new and/or proven, but might be very useful" technologies.

Do you feel same way? What is the next action?

--Artist

Replies are listed 'Best First'.
Re: I miss
by QM (Parson) on Sep 06, 2005 at 22:56 UTC
    You have to run in place, or slide backwards.

    When you hear of something new, not too far off your beaten path, take a minute and find out what it is, why people think it's useful, and whether it's "A Good Thing".

    You may not need it now; you may never need it, but just make note of it in case you do. And when you converse with others, you'll know what they're talking about. When you come across a problem that it might apply to, you'll dig deeper.

    For instance, I don't need Feature_X much in my real-world programming, but when I come across a new idea or implementation, I learn a little bit about it. If I ever had to use or develop something serious with Feature_X, I know something of the fundamentals, the keywords, the basic relationships. I'm not afraid of Feature_X. And by knowing something about it, and not being afraid of it, I can make reasonable choices about whether and how to use it, depending on the problem.

    But BehindTheCurve never took the time to understand it. When s/he came upon a use for it, well, you can imagine the tearing of hair and grinding of teeth that occurred. Mostly unnecessarily, too. Because newer Perls and newer modules can do wonderful things with Feature_X, that BehindTheCurve won't be aware of, or even know where to look.

    Of course, no one can keep up with everything new -- it's accelerating exponentially (somewhat driven by Big Marketing, but also by more people communicating more freely, and just being creative and inventive like they always were). That's why I suggest limiting your excursions into new areas based on proximity to your current experience. If you don't have time for anything, then I might convince you to take time for something paralleling your work and experience. Trying to convince you to see Antarctica when you don't have time to leave your neighborhood is perhaps a waste of both of our times.

    To answer your other question, I often feel like I'm missing out on new developments. But if I do just a little bit of catching up, that feeling goes away, at least for a time.

    I recently followed my own advice, and learned a bit about Prolog from Ovid recently. It expanded my horizons by making me think outside of the Perl idiom, and about different ways to state problems and ask questions. And I can now write Prolog in Perl if I want. Hopefully just one of my many excursions to come in the future.

    -QM
    --
    Quantum Mechanics: The dreams stuff is made of

Re: I miss
by punch_card_don (Curate) on Sep 06, 2005 at 23:48 UTC
    This is especially true for independents, and even more so for independents with a full business slate and a life.

    You know you should be spending more time learning new tricks that you know would make your code more efficient, but at the end of a 50 hour week just keeping up with your contracts, it's hard to justify ignoring your family/wife/investments/home-maintenance/etc/etc for something you have no urgent and immeditae need for. The purists will label you un-committed, un-professional, but you don't mind too much 'cause you have a life and a full business slate. Sometimes you gotta choose.

    Forget that fear of gravity,
    Get a little savagery in your life.

      I can definitely understand where your coming from with this. Although I'm not self employed and only work 40 hours a week, I have difficulty finding the inspiration to work on my home projects, which include learning (and experimenting with) new languages and techniques.

Re: I miss
by 5mi11er (Deacon) on Sep 06, 2005 at 22:57 UTC
    Wow, ok, some tortured english in there, took me 3 or 4 reads to finally get through it, I'm still not certain I know exactly what you're after.

    The phrase "really miss" is usually directed at something that one used to have/feel, but no longer do. So that is throwing me a bit, I think you are asking what concepts that you don't currently understand that would have made you a better programmer.

    I don't think there is a good answer to your question, it could be nearly an infinite list. Being a Saint, I assume you have a lot of good understanding about a lot of things, so I can't shake the feeling that you've got a relatively short list of things already in mind, but chose not to share with us.

    Need, and driving curiosity are the biggest reasons most people will learn new things. So, if you have a need, or can see how something might make life easier for you in the relatively near future, the barriers to new comprehension tend to be pretty low. Or a driving curiosity for whatever reason can help in learning new ideas/skills.

    So, yes, I think all of us feel some desire to learn something that we don't currently have the time/energy available to pursue. The next step to further enlightement? The next new need that shows up in your life; whether that's an actual need or a driving curiosity doesn't matter for the end result.

    But, you need to have some knowledge about what else is out there, and how it might apply so you know that this IS an opportunity to learn something new. So, I choose to read a lot of posts here at the monestary. Browsing CPAN can help. Staying knowledgable about other languages, industries, etc. It all involves a lot of reading, or listening. I guess it really boils down to: stay involved; don't get complacent.

    -Scott

Re: I miss
by blazar (Canon) on Sep 07, 2005 at 09:23 UTC
    Do you feel same way? What is the next action?
    Well, not exactly. But it is somewhat obvious that after an intial phase of rapid changes in correcting bad habits got who knows where, and ganing conscience of features and idiomatic forms that make Perl so... ehm perlish1, one's own coding style crystallizes along one's preferred structures, techniques, whatever. Well, at least mine did.

    Now changes in my own coding style do happen, but definitely at a much slower pace. Yet there's still so much I have and want to learn... basically it all depends on what I'll put my hands on, i.e. on the particular area of application in which will be spending my efforts.

    In particular, as I have already written elsewhere, I'm only marginally proficient in OO techniques (and concepts), since in my production relatively small scripts outnumber "big" projects, which is where OO typically (but not exclusively!) results to be most useful.


    1 But then I guess it's fundamentally the same for other languages as well.