Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Perl for the Masses?

by Superlman (Pilgrim)
on Jul 25, 2001 at 11:06 UTC ( #99592=perlmeditation: print w/replies, xml ) Need Help??

One of the common attitudes I've seen (elsewhere) on the net is that Perl isn't a "true" language. Unfortunately, most of the things I've seen in Perl are things for which this might very well appear to be true- Perl programs with GUIs are few and far between, and there are very few programs which would hold appeal for people other than sysadmins and their ilk.

Further, many people hold the opinion that Perl is good only for data munging (Like, say, Practical Extraction and Reports ;-) and CGI, but if you want to do REAL work, you should use some other language.

Has anyone seen any truely impressive programs built in Perl which do whiz-bang things, have shiny bells and whistles which impress PHBs, and generally demonstrates that Perl is both easy to use AND powerful?

Update:
(In case I wasn't clear enough above, this is not a criticism of Perl... I love it, but have a hard time convincing other people of its merits.)

Update II: On a slightly more glib note, one might note that Perl is easily provable to be a "true" language. Need to convince someone?

if("Perl") { print "I told you it was \"True\"!!"; }

Replies are listed 'Best First'.
Re: Perl for the Masses?
by jepri (Parson) on Jul 25, 2001 at 12:05 UTC
    The moaning Goat Meter. Definately the MGM. It's damned funny, and it's shiny. I think it even whistles.

    On the user side, (shameless plug) I wrote a little program to show me all my active connections (incoming and outgoing). It could look nicer, but if you run it on windows you can show people what your browser is up to.

    ichimunki was working on a web browser in Perl/Tk, and there is another one here.

    I'm sure if you wander over to Freshmeat there and type in Perl/Tk there will be a few things there.

    There are also two programs I found for designing interfaces in Perl/Tk, a la MS IDEs, but I lost the links to them. Try freshmeat/sourceforge again.

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

Re: Perl for the Masses?
by toadi (Chaplain) on Jul 25, 2001 at 12:25 UTC
Re: Perl for the Masses?
by ariels (Curate) on Jul 25, 2001 at 11:37 UTC
    Well, some of the things I've seen Perl used for here at work are (in alphabetical order):
    • Automated data fetching
    • Data munging
    • Filtering
    • Flow management and scheduling
    • Format translation
    • Prototyping
    • Viewer backends
    • Viewers (ASCII, CGI, Perl/Tk based)
    All of which is Real Work.

    We also have programs running in C and in C++, of course.

Re: Perl for the Masses?
by azatoth (Curate) on Jul 25, 2001 at 12:22 UTC
Re: Perl for the Masses?
by Albannach (Prior) on Jul 25, 2001 at 16:47 UTC
    The act of sorting languages by overall utility is an exercise that is unlikely to yield useful results, and measuring a language by how appealing typical applications are to the general public also seems rather silly to me. If GUI sophistication is the measure of a "true" language, then Perl is probably not going to show very well, though the tools to do good GUI development do exist as has already been pointed out. It may be that the kinds of tasks that Perl is most often applied to don't need or want a GUI front-end... unless you count your web browser!

    I think what you may be seeing is the way Perl is viewed by the general 'net population, to whom VB or even Excel macros ar far more familiar and friendly, and Perl is cryptic and foreign. How that leads one to believe that data manipulation is not real work I am at a loss to explain. It sounds more like these people you are refering to are judging their languages by their user interfaces. That may be appropriate for some, but for me at least, data munging is by far more real and important than flashy interfaces (but then I'm not currently writing end-user applications).

    I've coded seriously in many languages for my work and research, and though my Perl code is neither flashy nor whiz-bang, it certainly makes my job much easier (and more enjoyable) than anything else I've used. Try moving any other code from a DOS to a VAX to Win32 to LINUX without any significant modifications - Fortran always put up a big fight but Perl copes very well. In the end, it is how well a given language suits your specific task and environment that should determine whether you use it, and the huge code resource of CPAN combined with the awesome teaching power of The Monastery are two significant bonuses for me.

    --
    I'd like to be able to assign to an luser

Re: Perl for the Masses?
by dragonchild (Archbishop) on Jul 25, 2001 at 16:47 UTC
    How about a tool used to simulate a portion of a cellphone network in order to test another portion. A few features of the tool:
    1. Updates took (usually) 10 minutes, once we got the info.
    2. Was used for 90% of the workload for 2 groups, and 50% for a third
    3. Was requested by both an internal group and a customer to be sold outside the company, in lieu of we were selling right now.
    4. One and a half people supported it, as opposed to the similar JAVA application, which required 20 people.
    5. Supported 3 incompatible versions of messaging (and could support more easily)
    6. The same code ran on both Unix and Win32. (We didn't release the Win32 version solely because of trying to figure out distribution issues.)
    7. Had its own scripting language that was used to automate over 10,000 tests, saving close to 25,000 man-hours per year. (That's not an exaggeration.)
    And, I could've kept typing.

    Now, it didn't have a ton of bells and whistles, but our primary users (engineers) didn't want them. I wanted to add them, but kept being yelled at. :)

    Now, in case you're wondering about the merits of Perl, this is what they are:

    1. Ease of development. You might not release it in Perl, but you prototype it in Perl.
    2. Ease of maintenance. I've found that it's easier to keep something current in Perl, due to the speedier edit-run cycle.
    3. Extensibility. Something not in the language? Add it, at the compiler level!
    4. Ease of transition. Since it's easier to teach someone Perl than, say, C++ or Java, it takes less time for someone to come up to speed to take over your job.
    Very frankly, most of the benefits of Perl over VB aren't easy for non-programmers to understand ... cause they're programmer benefits. And, Perl isn't for every job. For what I do, Perl is generally the best option. But, if I was going to sketch out a GUI, I'd use VB. If I was going to write an AI for a game, I'd use C (or asm). Not Perl.
Re: Perl for the Masses?
by perchance (Monk) on Jul 25, 2001 at 14:49 UTC
    Slightly off-topic, I think it's important to understand that (IMHO) Perl is not a bells-and-whistles language. People who think VB is God's gift to anything will not (in general) be able to appreciate the strength and beauty of a proper tool.
    As for PHBs, once they need a speedy solution to a serious problem, they'll thank God (and you). The GUIs can come later. I'm not saying it can't, or doesn't, happen differently, it's simply how I've seen it happen - a group of scripts grew in size and importance until it became important to supply an interface for the general public.

    --- prechance

      And the difference between

      'Perl isn't a "true" language'

      and

      People who think VB is God's gift to anything will not ... appreciate ... a proper tool.

      is what, exactly?

      Scott


      ... they decided that Sneetches are Sneetches
      And no kind of Sneetch is the best on the beaches,
      That day, all the Sneetches forgot about stars
      And whether they had one, or not, upon thars.

        I think the first probably means that the compiled snobs are saying that Perl's partially-interpreted nature means it's not a "true" language.

        The second refers to the idiocy of people who speak on topics that they have no knowledge of. :)

        Now, in VB's defense, it is a very, very useful tool. It makes the MS products (partially) extensible, and extensibility is (almost) always a "Good Thing"(tm). It's also great for sketching GUI's, just as Perl is great for sketching programs. But, just try writing a multi-platform data-munging tool in VB. *grins*

        Very little difference, but somehow I don't think that's what you meant. You see, in my opinion People who say Perl isn't a "true" language, are guilty of much the same thing as those who think VB can solve all their problems. Granted, I may have been more strongly worded on the second issue (I suppose personal histories have shaped that), but both are closed-minded, and unproductive.

        Find the useful tool.

        --- perchance
        p.s. I don't have anything in particular against VB, more against bosses who extoll without cause.
Re: Perl for the Masses?
by toma (Vicar) on Jul 26, 2001 at 11:17 UTC
    One of the important things for a 'real' language is a slick GUI-based debugger. I demonstrate ptkdb to show a decent GUI and a great debugger. I have often squelched perl criticism by demonstrating ptkdb.

    The primary critique of perl is actually economic. The idea that best-in-class tools are open-source scares many people. The feasibility of open-source implies that someone could destroy a closed-source business with a competetive open-source program. Many people would like to deny that this is possible or desirable.

    These same people are often afraid of non-perl open-source tools such as Linux. Such people can sometimes be reassured by telling them that you can buy support for these tools from a reputable support organization. Then they get to think, "Well, our world-class support organization will prevent an open-source upstart from knocking us off."

    Often perl source code is hidden on a web server, where people can get the benefits of running the program without having access to the source code. If your business model is "I write source code and sell the executable," you are likely to think "perl is a web-server language."

    I think that perl is an anomaly in the software world because it is clean, fast, and cheap. As such, it violates people's expectations. If you agree with me and you want be a perl advocate, consider that this anomaly may require extra explanation.

    I like explain the benefits of perl using the FURPS model:
    Functionality
    Usability
    Reliability
    Performance
    Supportability
    By running down this list and showing how perl stacks up, you can make a good case.

    It should work perfectly the first time! - toma

      One of the important things for a 'real' language is a slick GUI-based debugger.

      And and in perland goes, for free. Check Open Perl @ sourceforge.net. Slick GUI debugger, like Visual Basic (hoovering mouse over variable displays current value, etc.). For ActiveState/Windows perl only.

      pmas
      To make errors is human. But to make million errors per second, you need a computer.

        ptkdb is also a slick GUI debugger, and it works on Linux, HP-UX, windows, etc. It has hovering, watch variables, breakpoints, stepping, etc.

        I really like debugging cgi programs with it. In X-Windows I set the $ENV{DISPLAY} in the BEGIN block and call ptkdb in the shebang:

        #!/usr/bin/perl -d:ptkdb $|++; BEGIN { $ENV{DISPLAY}; }
        You can single step or set breakpoints in your cgi and watch the output get rendered in your browser as you go.

        It should work perfectly the first time! - toma

Re: Perl for the Masses?
by John M. Dlugosz (Monsignor) on Jul 25, 2001 at 22:35 UTC
    Yes. I have a internal component distribution manager that uses Tk, keeps track of dependancies, reconfigures the build environment, and all kinds of stuff. it has menus, right-click popup, icons, the works.

    And don't forget, CGI stuff can indeed be whiz-bang impressive. Like, PerlMonks itself.

Re: Perl for the Masses?
by Ea (Chaplain) on Jul 26, 2001 at 14:23 UTC
    We in Support have been using WREQ (Author: Yunliang Yu wreq@math.duke.edu) to track tech and systems requests. It's web based and available to anybody to view what progress is being made on their requests. It keeps the small, dificult jobs from falling through the holes and actually lets the staff know that we have more important things to do than changing the little banner that used to appear on their email printouts. Now, our mantra over the phone for requests that take more than 5 minutes is "Put it in the WREQ". I recommend (should that be wreqommend? ;) it highly.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2021-03-08 00:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favorite kind of desktop background is:











    Results (123 votes). Check out past polls.

    Notices?