Can Comprehend Languages understand a language similar to “Darmok and Jalad”?

This is inspired by, but I don’t think duplicates, questions about artificial languages and "secret" "codes".

In crossing geekdoms, the Tamarian language comes from a Star Trek:The Next Generation episode called "Darmok"; from which viewers always recall the phrase "Darmok and Jalad". In the language, they use metaphors, symbolism, and stories to communicate. A classic example is, "Sokath, his eyes uncovered," which means to understand.

Given that, would Comprehend Language work on such a language?

It’s not "artificial", it’s a fully developed language with syntax and grammar. It’s not coded in any way like Thieves’ Cant. They say exactly what they mean to communicate.

When they say, "Temba, his arms wide/open," it’s literally about Temba and how they held their arms. But the actual meaning is about giving a gift.

The spell states, "you understand the literal meaning of any spoken language that you hear." So would the caster hear literally about a person in a hug pose, or would they get the meaning of gift?

Can I repeatedly Awaken something in order to give it a variety of languages?

So, the Awaken spell must be cast on a beast or plant with int of 3 or less. For beasts, it has the following permanent effect: "The target gains an Intelligence of 10. The target also gains the ability to speak one language you know." It has a casting time of 8 hours.

The Feeblemind spell will, among other things, reduce the target’s int to 1 for a duration measured in months. The 4d6 psychic damage is nontrivial, but still manageable. Feeblemind does not appear to do anything to known languages, and can be cured with Greater Restoration, Heal, or Wish.

Would it be possible, then, to repeatedly Feeblemind and Awaken something so as to give it an arbitrary number of spoken languages? (Assuming you could get the assistance of reasonably high-level druids who knew the various languages in question.)

Why take Linguistics if you can cast Comprehend Languages?

Given the nature of the spell Comprehend Languages in Pathfinder, is there any particular advantage to taking Linguistics for a character who can cast it? Especially given the chance of severe (or horribly entertaining, depending on your point of view) failure with Linguistics that doesn’t seem to exist for Comprehend Languages.

What is the origin of Faerun’s languages?

I’m not a D&D pro but I’m writing a thesis about how Tolkien created his languages and which was/is their following influence.

A friend of mine told me that the languages of Faerun are inspired by Tolkien, isn’t it?

I would like to find something technical about the origins of Faerun languages.

Have you got any suggestions? What is the origin of Faerun’s languages?

[Just to be clear: how inventors developed the languages, on which basis]

Using other programming languages for malware against EDR?

As an example, one of the most basic malware to inject into a process to get a C2 beacon goes like this:

Get Handle of a process -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread 

Now writing this in C/C++ is quite native as it can easily communicate with WinAPI. Are there any benefits in writing this in another programming language such as Golang or Rust to fight against EDR, not just an AV with static analysis checks? More specifically EDRs that are hooking and calling JMP to those WinAPI calls?

My question comes from the rise of .NET and C# with a lot of use cases such as using LOLBAS csc.exe to compile on machine or execute-assembly to load .NET assemblies in unmanaged codespace or process. However, this still use WinAPI by using P/Invoke (and now D/Invoke).

  1. Are there any benefits in using other programming language to call WinAPI function to fight against EDR?
  2. Are there any other ways of creating malware (e.g. dropper) besides calling WinAPI?
  3. Like with .NET and C#, will there be a new rise in existing (other) languages such as Go or Rust.

Why does PHP’s strtotime() not understand a Unix timestamp? Or: Why don’t programming languages support “versions” of themselves? [closed]

Yes, I know that strtotime returns a Unix timestamp from a "time string". However, there are numerous situations where I’ve fed a semi-unknown "time string" into it and been baffled when I got a bool(false) returned instead of it just returning the same integer back:

$  current_timestamp = time(); var_dump(strtotime($  current_timestamp)); 

Output:

bool(false) 

I have long since made a wrapper function to strtotime, as I have done with every single PHP function I use, which handles this for it, so it’s not a practical problem for me anymore. However, it’s very interesting to me how this kind of situation can happen.

Why do such smart people (no, this is not sarcasm), who are able to create a highly advanced and complex programming language, which I could never do myself even if I got 50 years of "paused time" from now to do it, just seem to "overlook" many such basic "details"?

Is this another case of "we knew about it early on, and agree that it was not right, but people had begun expecting this bad behaviour from the function, and then we couldn’t change it, and as time went by, it became less and less possible"?

I’m very torn about things like this. This particular thing I find idiotic, but there is a good point against changing things around. Just look at the nightmare that is Python. I wouldn’t want to have to constantly try to re-read the manual for every single PHP function I use, wondering if PHP 8.1 or something has changed the parameter order around or something evil like that. If I have to choose between that or fix things myself, I choose the latter.

I just wish that language authors, and in particular PHP since it’s what I use, would just introduce some kind of "legacy mode" where the old/original versions of functions are kept around in the "engine", but only activated unless the user does <?php8 for their scripts, or something like that. Or maybe set a configuration option, to make the source code files less ugly. That seems like a perfect compromise to me. Why is that not actually done?

Remote APIs, such as Stripe (payment-related), frequently have "versions" where old ones are supported for ages/ever, so why can’t local programming language engines also do that?