Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^5: The Basques introduced us to object orientation?

by choroba (Archbishop)
on Jan 27, 2021 at 21:52 UTC ( #11127543=note: print w/replies, xml ) Need Help??


in reply to Re^4: The Basques introduced us to object orientation?
in thread The Basques introduced us to object orientation?

> But something like push @a,$b is at best VSO for me

It is, but is it OO? It's still not SOV, anyway.

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Replies are listed 'Best First'.
Re^6: The Basques introduced us to object orientation? (Update)
by LanX (Cardinal) on Jan 27, 2021 at 22:11 UTC
    My mental model of programming is that the computer is the subject, the functions are verbs in imperative form ("commands" sic ;) and the arguments are direct and indirect objects.

    The benefit of OOP was to introduce "actors" which translates grammatically to subjects to me. So it should have better be named SOP.

    And this is not purely philosophical, because I'm struggling with people who design their class instances as data containers. (Remember this talk about "How Moose made me a bad OO programmer" ?)

    Hence the difference between push @a,$b and a.push(b) (the latter being JS) is passive vs active.

    The Perl form being "push into @a the $b" VOO

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

    Update

    ) actually that's incorrectly merging two phases, the programmer is the subject giving orders in imperative form, the program is the subject executing those orders.

    I'm starting to feel like a character from Tron ;)

      I think that your mental model has a number of advantages. These to me are:

      1. If you put yourself in the position of a computer you will more likely produce code that is computationally efficient.
      2. If a community of such people think in that way then the language itself will be more efficient than alternatives.
      3. Your putting yourself in the position of the provider, which is the computer, rather that the constructed reality (which is the virtual world)
      4. Your approach does not preclude a object implementation. But the alternative approach might preclude an efficient implementation (both in terms of computation and coder time).

      What they have done with the Basque language is made their environment the subject rather than themselves. This then forces them to put themselves in the context of their environment. This could be very useful in a complex environment. Not so useful if you speeding down an autobaud at 100 miles/hour. In the latter case you want a mental framework that puts you as the subject. It might even be that the Basque language forces people to be less selfish, which might have been a prerequisite to European living in ancient times. Interestingly people think that Indo-Europeans spread proto Indo-European on horseback. If you are on a horse you have to make yourself the subject. Maybe then the Basque language is more closely related to the languages of ancient Europe.
        > Interestingly people think that Indo-Europeans spread proto Indo-European on horseback

        Speaking of: Homer and Herodotus had already accounts from Amazons on horseback who delivered arrows by air into Greek chests!!!

        Jeff Bezos is certainly fluent in Scythian language ... and Agile SQL Standards ...

        Cheers Rolf
        (addicted to the Perl Programming Language :)
        Wikisyntax for the Monastery

Re^6: The Basques introduced us to object orientation? (Forth)
by LanX (Cardinal) on Jan 27, 2021 at 22:16 UTC
    > It's still not SOV, anyway.

    I'm no expert, but from what I remember is Forth very SOV...

    Update

    Or OOV depending on the POV

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

    ) point of view ;)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2021-04-23 07:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?