Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: Perl and Linguistics

by Erez (Curate)
on Jul 05, 2008 at 10:50 UTC ( #695680=note: print w/ replies, xml ) Need Help??


in reply to Re: Perl and Linguistics
in thread Perl and Linguistics

I like to think the linguistic aspect is a novel feature of Perl and damned clever of Larry to pin point.

Then I submit that you miss the whole idea about Perl

Perl was designed as a programming language that is constructed as a spoken language.
Everything about it, TIMTOWDI, DWIM, different features, design ideas, all the in-language features, etc. are derived from this idea, not the other way. All the verbosity, non-orthogonality, the sigils, the context-interpretation of variables, you name it. It's all ideas that come from spoken language, and implemented in Perl.

Only that unlike COBOL, or VB, or the likes, it doesn't use English-like keywords thinking it will make the language "easier to read", but use concepts that are used in spoken language. This way, when you speak fluent Perl, you can express yourself better, and not just "do more".

Stop saying 'script'. Stop saying 'line-noise'.
We have nothing to lose but our metaphors.


Comment on Re^2: Perl and Linguistics
Re^3: Perl and Linguistics
by BrowserUk (Pope) on Jul 05, 2008 at 12:02 UTC
    Only that unlike COBOL, or VB, or the likes, it doesn't use English-like keywords thinking it will make the language "easier to read", but use concepts that are used in spoken language. This way, when you speak fluent Perl, you can express yourself better, and not just "do more".

    I wish I'd said that.

    No. Ireally mean it! I really wish that I had had the language skills or insight to have constructed those two sentences.

    It bugs me intensely when I see the posts around here that condemn, eschew, and deprecate the power of Perl's notation in favour of some hamstrung subset of lowest denominator commonality or CS-theoretically correct formality.

    For all the hype about CPAN, this is Perl's strength. So much of CPAN wastes space, time and cycles re-implementing Perl's built-in power, to 'correct' its non-orthogonality, or to 'make it OO-compliant'. And in the process, completely miss the reasons that make Perl uniquely powerful for expressing solutions to complex problems in productively concise and intuatively simple terms.

    Java and its libraries are extremely complete and powerful. Java's problem is that it takes so long to express the high level concepts that denote the algorithm you are trying to code, that you loose your way in all the low-level detail that it forces you to state explicitely and verbosely

    The beauty of Perl is that it allows you to say: "He'll process all the data", not "My assistant, John, 34, from Popocatepetl, married with 3 children, will go through all the data, starting from record one, and working his (John's) way through sequentially, record by record, until he has processed all the records!".


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
Re^3: Perl and Linguistics
by Withigo (Friar) on Jul 06, 2008 at 05:16 UTC
    Saying I miss the whole idea about Perl is a rather strong thing to say. I didn't say the linguistic design was a happy accident after Perl was designed--what I did mean to say is that it was clever of Larry to start with the linguistic approach and derive the language from that. Which is basically what you said, so we agree. :)

    Although, however nice these linguistic features can be in the small, I do think the linguistic approach ultimately breaks down since natural languages cannot be represented by a Turing machine. What we can represent on hardware as being computable is an infinitesimal subset of what we can represent in our minds with non-context-free(and context-sensitive) grammars, so I would argue that the real benefits and optimizations of the linguistic approach cannot even be realized in a programming language. (That is until some genius invents a non-recursive hyptercomputer.) And please don't take this as a hard opinion--I do recognize it's a fuzzy field in which I have no expertise, just interest.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2014-09-17 18:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (94 votes), past polls