@kensanata It goes further, most programming languages are based on English grammar as well. Even assembly language usually has verb-subject syntax.
This is one of the reasons that led me to create Haku, my Japanese programming language that I have been posting about recently: what happens if we use a different language with a different writing system and a different grammar?
Sorry, of course, that was a stupid mistake.
Of course one could argue that in the OO paradigm, the order is object.verb.
But then typically additional arguments go after the verb: object.verb(arg1,arg2).
In my Haku language, functions can be verbs, nouns or adjectives. And it is possible to turn the verbs into nouns and nouns into verbs. And even have adjectival verbs.
Yes indeed. But the grammar in Ruby is mostly OO-style. I once wrote a transliteration tool from Ruby to C++, and it did not need a full parser, mostly just simple syntax transformations.
The block syntax is probably the clearest example of the SOV influence, or more precisely, in Japanese, topic-action:
"With this thing, do something"
The language mentioned was asm.
call printline dec c call printc ld hl,line4
Those are VPs complete with O.
Similarly, objects in OOP are data structures that carry their own code for what can be done to them. Get, set, print… They’re all objects that get called and manipulated and bossed around. A language like CLOS makes this clearer, with the syntax (method object) instead object.method().
It’s at least as often beer.drink() as it is barPatron.drink(), and even in the latter case the patron is like a puppet being forced to drink by the real subjects pulled strings. The programmer.
Purely from a Japanese perspective, the whole SOV terminology does not really work very well anyway. Japanese works with topics rather than subject/objects, and even the distinction between a verb, a noun and an adjective is not very strong. Personally I think about it as
<list of topics> <list of subtopics assisting in the action> <action>
And in Haku I use this pattern to express binding a function call to a variable.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!