Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Real Languages vs. Perl

by doran (Deacon)
on Jan 20, 2001 at 09:09 UTC ( #53168=perlmeditation: print w/replies, xml ) Need Help??

Well, I was poking through the February 2001 issue of Dr. Dobb's Journal when I came across the following in Michael Swaine's Programming Paradigms article entitled "Alternatives to Java". After saying that a number of scripting languages (including Perl) can claim similar portability as Java, he writes:

What they can't claim, as Perl can't, are the benefits of a real, full programming language.

So my questions are:
  • Why isn't Perl a real, full programming language?
  • What benefits are we missing by using Perl?

Okay, a compiled binary is one benefit. But what other things is he talking about? This is the kind of thing that I expect from PHBs, but I have (quite a bit) more respect for Mr. Swaine and so now I'm wondering what I'm missing. I've always thought Perl was a real, full, albeit interpreted, programming language. Am I wrong? Is Mike mistaken? Are we both wrong?


Replies are listed 'Best First'.
Re: Real Languages vs. Perl
by tye (Sage) on Jan 20, 2001 at 10:32 UTC

    Gee, I'd like to know what Mr. Swaine has to say to justify that statement. (: It really just sounds like someone who doesn't know much about Perl (I'm not saying that Mr. Swaine knows nothing about Perl, just that the one quote from him that you gave makes him sound like he doesn't).

    I find myself missing features of Perl when I write in other languages much more often than I find myself missing features of other languages when I write in Perl.

    I'll take a guess and say "strong typing".

            - tye (but my friends call me "Tye")
      Ahhhhhhhhh, strong typing. That's one (at least for some). Also, I know Perl probably isn't the best for complex math (unless you know what you're doing).

      So there are a couple of benefits. Still, that doesn't make Perl less than a real, full language, does it?

      Like I said, if an average joe said this, I'd just pass it off, but M. Swaine isn't an average joe. So...

      Maybe he's just pissed about TPJ being sold. ;}

        Strong typing as usually implemented is a lot less useful than people imagine. See Smalltalk for a language without it which is very well suited to large projects. (In fact I have heard as a complaint that it is really only suited to large projects.)

        But yes. Perl is a real language. You can write real programs in it. They will do real work. You can get a real job being paid real money for this. Be happy. :-)

        I wouldn't sweat M. Swaine's comments. It can be debated until the end of time what's "real" and what's not, but to my way of thinking, "real" is whatever gets the job done. If a language can be used to correctly solve a problem in a repeatable, timely manner (elegance is always good, too), then that's real enough.
Re: Real Languages vs. Perl
by dws (Chancellor) on Jan 20, 2001 at 10:27 UTC
    One of the great benefits of not defining what you mean by "real" or "full" is that you can let them mean whatever you want them to, and nobody can prove you wrong.

    Unless you lay out (and agree on) your criteria for comparing languages first, "real" is just a throwaway term that can mean whatever the author wants it to.

      Agreed. That's why I was asking. Cuz the way he worded the statement made it sound like it was something obvious to those "in the know", which is something I'm not ready to lay claim to... yet.
(ichimunki) Re: Real Languages vs. Perl
by ichimunki (Priest) on Jan 20, 2001 at 18:15 UTC
    That sentence looks like a typo more than anything. Maybe a better use of natural language will help Mr. Swaine be more exact.

    There is only one programming language. It looks like this when you try to represent it with symbols 11010110101011101000101010000100100010110.

    I consider that painful to write and maintain, especially when you consider that cell phones have more RAM in them than the first home computers. Thankfully, so did a lot of other people, who invented various systems to write stuff down, then wrote programs to interpret that stuff into an appropriate set of 1s and 0s.

    Every command-line command, every GUI point-and-click, every script, and every compiled C program has to be turned into that stuff before the computer is going to do anything with it.

    The interesting question isn't what does Perl lack that makes it less full (although a hardcore compiler would nice, Perl favors a recursive view of the language which means that any free-standing compiled Perl script has to include or link to a full perl executable).

    The interesting question is when does something stop being a program?
Re: Real Languages vs. Perl
by cat2014 (Monk) on Jan 20, 2001 at 21:17 UTC
    One of the most basic definitions of "what a real programming language is" says that any language which could implement a Turing machine is a "real" programming lanuage. Everything after that is syntactic sugar. (; so i'd say perl is a "real" language. -- cat
Re: Real Languages vs. Perl
by Maclir (Curate) on Jan 22, 2001 at 02:48 UTC
    Well, in my computing career, I have programmed in many languages - Fortran, COBOL, APL, Pascal, Algol, Simula, DEC PDP-11 Assembler, OS/370 Assembler, RPG III, Basic, C, Rexx and Perl. Not to mention a variety of shell style scripting languages (such as Unix shells, IBM S/38 and AS/400 CL).

    Perl is just as much a "real" programming language as any I have used. It has its strengths - and its weaknesses too - but when used by competant programmers for appropriate purposes, it is just as sound, just as productive as any other programming language. I do not refer to Perl as "a scripting language". It has all the features and power of any programming language. I suspect Mr. Swaine is talking through is arse, as us Aussies would say.

Re: Real Languages vs. Perl
by Anonymous Monk on Jan 21, 2001 at 08:53 UTC

    While I don't know Mr. Swaine's qualifications, it has always seemed rather pointless to me to worry very much about what anyone who isn't very familiar with a language has to say about it. I write most of my code for work in Common Lisp, Perl, and (just now starting) Smalltalk, and on the occasions when I might discuss this with others, it's quite interesting to hear just how many misconceptions they have about these languages. When it comes to language advocacy, I think it's much more appropriate to talk about all the wonderful things one's own favorite(s) can do than what others can't, if for no other reason than one is often (though not always) less knowledgable about those others.

Re: Real Languages vs. Perl
by Anonymous Monk on Jan 22, 2001 at 21:40 UTC
    To risk getting caught up in semantics... First, in defense of Perl: "Real" programming languages as opposed to "toy" languages tend to display features including 1. Object oriented capabilities 2. The ability to reference any structure 3. eval Last time I checked Perl had all of these, so it must be a "Real" language. Of course, he may be refering to the fact that Java has a stricter OO structure, but then again, is it really necessary to make *everything* an object. Not that Java is a bad language. It's very well constructed. But it seems that Mr. Swaine has fallen prey to the same "my language is better than yours" attitude that so many people exhibit these days. It's sad people have to be "Java" or "C" or "Perl" programmers instead of just plain programmers. -osorronophris
Re: Real Languages vs. Perl
by jepri (Parson) on Jan 20, 2001 at 10:00 UTC
    In the monastary, you can look for nodes like this. A quick look through will go into more detail.

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

      You kinda missed my questions. I realize that there are times when Perl isn't the first, best choice. My questions really are "Why isn't Perl a real, full programming language?" and "What benefits (other than the obvious ones in the node you mention) are being missed by folks who program in Perl?" I suspect Michael Swaine was talking about more than just legacy code and Real Time apps and I'm curious if others here share his view.


        Yep, fair enough, I thought this was another when ain't it the best thread. I'm with everyone else here - Perl is Turing complete and has plenty of nice feautres on top of that. I've noticed amoung my friends that Perl tends to be put down the hardest by crazed C programmers who feel that a language that mollycoddles it's programmers by making programming easier can't be a real language. So that statement "Why isn't Perl a real, full programming language" probably has a lot of cultural overtones we are missing from the lack of context.

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

      Not having read the article, I can't comment on it. "Real" is one of those words with no real meaning. It's just a funny, squishy, feel-good sort of word.

      About this thread, though... I think it's pointless to worry about these kinds of comments. Even experts have their strong opinions and bigotries based on bad experiences, misinformation, bar conversations, or stock options.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://53168]
Approved by root
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2018-07-20 09:12 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (427 votes). Check out past polls.