Dear Master Monks,

What task would you NOT use perl for?

My first thought would be a perl kernel ;-)

Thanks,
Gavin.

Janitored by holli - moved from Seekers of Perl Wisdom to Meditations

Walking the road to enlightenment... I found a penguin and a camel on the way.....
Fancy a yourname@perl.me.uk? Just ask!!!

Replies are listed 'Best First'.
Re: [OT?] Other Languages
by johnnywang (Priest) on May 24, 2005 at 06:36 UTC
    Many:
    • Something requiring a fancy GUI (perl/tk isn't good enough for me, perl/wxWidgets probably will be good, but don't know enough to do anything yet.)
    • On a pacemaker
    • Teaching as a first language
    • Real time games
    • packet filtering/firewall
    • Tasks that require threads and their interactions
    • Packaged off-the-shelf software
      I've used wxWidgets to do simple GUI but nothing advanced yet. However I am aware of the following interesting perl gui apps.:

      wxPerl which I and other monks are using, search for tutorials here and on perl.com.

      Frozen Bubble (a game using SDL-Perl)

      Digistrips (darn I wish they opened their code..) based on perl and TkZinc. This prototype for an air traffic control system apparently lets you drag simulated paper strips around a touch screen, TkZinc provides rich eye candy interface, etc. Anybody know about wxWidget code that could do things like this? Maybe I didn't do TkZinc because it didn't work on XP at the time. Apparently it does now. But development of the project seemed to be (and maybe still is) much slower than wxPerl.

      If anyone else has collected useful perl GUI code/sites please let me know. For now wxWidgets seems to have the most "undiscovered promise"..

      That said I'd guess the worst thing to do with perl is build a pacemaker, yup count me out. But I'm definitely not sure about how slow an OpenGL game would be using perl, after all once you've drawn something it is in the GL buffer right? Need a nice machine/graphics card to worry about that. I'm thinking maybe planetarium-style software might be difficult.. would like to be proven wrong though.

      But I am working on some online "packaged software" and with a free software installer, and packaging with pp it doesn't look impossible anyway. Definitely a lack of tutorials/tools to make it easy though. I think it's a matter of try it and see if it works.

Re: [OT?] Other Languages
by Ovid (Cardinal) on May 24, 2005 at 08:02 UTC

    Anything demanding truly high performance is often a bad fit for Perl. Many AI applications or graphics programs fall into this category. Also, declarative (or logical) programming tends to be a bad fit as Perl does not support this natively aside from a limited form with regular expressions.

    Cheers,
    Ovid

    New address of my CGI Course.

Re: [OT?] Other Languages
by adrianh (Chancellor) on May 24, 2005 at 15:21 UTC
    What task would you NOT use perl for?

    Any task that harder in Perl than it is in some other language :-) For example:

    • Tasks that need something faster than Perl can manage (assuming that it's not easier to throw hardware/intelligence at the problem). Then I might go for a good Lisp or Eiffel. If there is really no other choice maybe even C++ or C :-)
    • Tasks where a natural implementation wouldn't be a good fit. It's easier to write a declarative/logical program in Prolog. It's easier to write functional/currying code in ML. Etc.
    • Tasks where there is better support in another language. For example I'm looking for programmatic control of MSIE on Windows Ruby's WaTiR rocks (in my opinion anyway), so I'd probably use Ruby.
    • Tasks where the people I'm working with don't know Perl. If my organization or even just the development team is better at some other language then I would think long and hard before trying to get people to switch to Perl - even if I think it would be a better choice technically. It's often more pain than it's worth.
    • Tasks that are memory restricted. The environment needed to run Perl is quite large and Perl is mostly optimized for speed, not memory usage. If you can't throw more hardware at the problem some more memory efficient language would be a better choice.
    • Tasks where Perl won't run on the platform in question. For example Java runs on a lot more mobile devices than Perl does.
Re: [OT?] Other Languages
by Tanktalus (Canon) on May 24, 2005 at 13:42 UTC

    At work, we use a variety of languages: perl, shell, C/C++, Java. Perl does all the heavy lifting that we don't actually ship. It generates some (actually, just as of the last few weeks, it now generates all) shell code, some C++ code, and some Java code. Shell doesn't come with a preprocessor, so we fake it in perl, as well as generating data as we do in C++ and Java. We use Java for a GUI. We use C++ for our core non-interactive engine (which the GUI also invokes). And we use shell for all the simple filesystem manipulations (and I use the term "simple" very loosely). We ship a private JVM to run Java, but no private perl, so we don't ship perl code.

Re: [OT?] Other Languages
by astroboy (Chaplain) on May 24, 2005 at 19:04 UTC
      That article, although humorous and well written, is badly titled. Its not the fault of Perl, but that of the programmer and his lack of understanding of his chosen tool.

      Thanks for the link, I enjoyed it. :-)
Re: [OT?] Other Languages
by inman (Curate) on May 24, 2005 at 08:03 UTC
    I don't see perl being used for the systems control software in a nuclear power station. It's not so much that it wouldn't work it just seems that Perl is too nice and you wouldn't want it hanging around in a large industrial setting. Perl is much more suited to a nice office or university environment.
      I don't see perl being used for the systems control software in a nuclear power station.

      I realize you are half-joking here, but still, I have seen this exact same sentence quite a few times now so I will answer it here.

      I don't think the language used for the systems control software in a nuclear power station is really relevant. I would bet that along the ages such systems have been written in assembly language, Fortran, probably COBOL, C, C++, possibly ADA... none of which strike me as being really "safer" than Perl, whatever "safer" might mean. All that matters is that the development methodology is sound, that the software is tested extensively and that the developers know what they are doing. Perl, maybe with a touch of C for those really time-critical bits, would do just fine there.

      And BTW, I have never seen the code for such a control system, but I have been in contact with people that manage it, and believe me, it looks like a huge mess, just like any other project I have seen that involves dozens of subcontractors and hundreds of developers.

      Bah! Of course it can be used in a large industrial setting. At my prior place of employment, we were using it all over the place. Please see my write up at: How we use Perl.

      Unemployed!

        Oh dear. You are taking this much too seriously! I was merely anthropormorphising a computer language.

        I saw Perl sitting at a desk wearing slacks and a comfortable jumper rather than in a factory wearing overalls and welders goggles. C on the other hand is a highly trained individual who does his job really well but if you push him over the edge he will go haywire and people could get hurt.

        Suggestion for a new meditation -> If X were a person, they would be like... where X is a computer language. (I guess it has been done though!)

Re: [OT?] Other Languages
by TedPride (Priest) on May 24, 2005 at 17:57 UTC
    I use PHP when I have something simple I want to embed in a page and I don't want to mess with templates. I know a lot of Perl programmers think mixing code and HTML is evil, but the dark side of the force is seductive...

    It's too bad there isn't a page extension that lets you embed Perl. I'd dump PHP in a flash.

    <?perl print for reverse 1..10; print "BLASTOFF!"; ?>
      gloryhack mentioned HTML::EmbPerl. That would look like:
      <html> ... [- print for reverse 1..10; print "BLASTOFF!"; -] ... </html>
      There's also Apache::ASP. It would look so very different as to be:
      <html> ... <% print for reverse 1..10; print "BLASTOFF!"; %> ... </html>
      Egadz! There's also several others (for example HTML::Mason, which (much like Apache::ASP) can be used in a fairly light-weight manner, as well as more template-heavy). For what it's worth, I've used both and prefer Apache::ASP.
      ------------ :Wq Not an editor command: Wq