• Announcements

    • Robin

      Welcome!   03/05/2016

      Welcome, everyone, to the new 910CMX Community Forums. I'm still working on getting them running, so things may change.  If you're a 910 Comic creator and need your forum recreated, let me know and I'll get on it right away.  I'll do my best to make this new place as fun as the last one!
HarJIT

OOP CMD Regulations

Recommended Posts

Thinking about it, there are two forms that jump out that the Uryuom OOP CMD regulations might take:

  • Retail of cosmetic-morph devices implementing an object-oriented programming model is prohibited.
  • Retail of cosmetic-morph devices either implementing an object-oriented programming model, or potentially allowing the implementation of an object-oriented programming model by means of any official or third-party module, library, compiler, transpiler, interpreter or other software which either exists or is possible to create, is prohibited.

If it is the latter, that might explain why legal CMDs would be severely limited.

Share this post


Link to post
Share on other sites

The latter would, IMHO, effectively eliminate any CMD that applies a modification to the existing form - as opposed to imposing a completely canned form.

Not because only an OOP-programmed device could do mods. Rather, because any device capable of doing mods would also be capable of running OOP software. Perhaps slowly, perhaps even too slowly to be usable, but still capable.

Share this post


Link to post
Share on other sites

I can't help but think that the idea of morphs requiring OOP shows a certain lack of respect for Turing equivalence... the only way I can make it make sense is that the Uryuoms we've met are also hamstrung by a religiously-tinted mathematics background, just on the other side of a schism.

Share this post


Link to post
Share on other sites
45 minutes ago, WR...S said:

I can't help but think that the idea of morphs requiring OOP shows a certain lack of respect for Turing equivalence... the only way I can make it make sense is that the Uryuoms we've met are also hamstrung by a religiously-tinted mathematics background, just on the other side of a schism.

Well, I didn't say that morphs require OOP. What I said is that a system capable of doing morphs is also capable of hosting OOP. And one version of the proposed ban-text would cover any device capable of hosting OOP - whether it actually does so or not.

Share this post


Link to post
Share on other sites

Sure, the morphs could be done without OOP, but the cognitive load and labor hours involved for the programmer would be several times greater, not to mention the extra memory and processing cycles.

Share this post


Link to post
Share on other sites

Usually OOP requires more memory and processing cycles than a well-written functional program, though.  Though there's probably truth to labor hours and cognitive load - it may even be, if it evolved through OOP techniques, especially if religion's gotten mixed up, that the actual calculations are buried under centuries of abstraction.

Share this post


Link to post
Share on other sites

OOP probably allows more versatility and precision for morph that the legalized software can't do. OOP was probably banned for the potential harm it could do against the ruling government (dissidents impersonating prominent figures for example). Of course they didn't want to appear completely tyrannical so they didn't bother grandfathering the laws to include those who already owned OOP morphing devices, though they probably had their use restricted, or stated they can only be displayed but never used.

I'm guessing at least from what we've seen of Uryuoms so far, standard CMDs would allow things such as hair and size, Edward's assistant Lavender would be a good example of the extent a standard CMD would go for morphing, an OOP CMD would do more, as Will and Gill are evidence, they wanted to look fully human and standard CMDs couldn't do that so they had Tedd program an OOP CMD.

 

Share this post


Link to post
Share on other sites
9 minutes ago, Drachefly said:

I thought it wasn't OOP in general, just certain OOP that was banned.

Yeah, it was OOP when used with CMDs. OOP for other stuff would be fine though.

Share this post


Link to post
Share on other sites
55 minutes ago, Scotty said:

Yeah, it was OOP when used with CMDs. OOP for other stuff would be fine though.

I meant, using certain OOP practices with CMDs. So even OOP with CMD would be OK as long as you didn't do certain things with it.

Share this post


Link to post
Share on other sites

I'm just basing this on Will's description of it. When he says "other programming methods" I think of languages like C, Assembly or Fortran. The Uryuom governments would likely have restricted CMDs to use a non OOP language, I wouldn't know how they could properly restrict the use of OOP languages for CMDs, locks could be unlocked, mods could be added, etc. It would be easier to have CMDs programmed in a proprietary non-OOP language that most CMD users wouldn't be able to fiddle with.

Share this post


Link to post
Share on other sites

The problem is that if you're willing to put enough work into it, you can do OOP in machine code on any Turing-complete computer. Therefore, the proposed ban on any CMD capable of running an OOP system is effectively a ban on CMDs that are capable of making decisions about what to do.

Whatever "do exactly the same thing to everyone" means for a CMD, that's what a legal CMD would have to do.

Share this post


Link to post
Share on other sites

Turing contributed a lot more to the computer world than just theories about AI. what the Don is referring to isn't sentience, it's the ability to carry out scripted subroutines, and rudimentary automation. the kind of thing thats so simple you wouldn't think of it as AI,  but even a modern laptop or phone needs just to start itself up.

Share this post


Link to post
Share on other sites

I doubt the Uryuom parent planet outlaws an CMD capable of running OOP software, just that it outlaws the device using OOP software. Will mentioned that there are sanctioned programming languages, so it's possible that it's not just a ban on OOP programming, but a ban on programming for the CMD with languages that aren't sanctioned and none of the sanctioned languages are OOP languages. So if a device is found with software that wasn't designed with a sanctioned language, the device would probably be confiscated and the owner/builder fined. The problem that Will and Gill had was that the sanctioned languages have limitations, redundancies, and complexities. It might theoretically possible to design clone morphs with the sanctioned languages, but doing so would be incredibly difficult and might require more system resources than the average CMD has available. (Tedd had to perform hardware upgrades on the TFG before it could do clone forms, even with more efficient programming languages at his disposal)

Share this post


Link to post
Share on other sites

I would imagine that exactly specifying all attributes of a form would take more memory and processing cycles than a simple "add X to the target", so I can see the need for the hardware upgrades.

Share this post


Link to post
Share on other sites

The programmer in me wants to loudly and pointed scream that if a function based language, such as c or Pascal, supports function pointers, a structure that includes them generates the same general effect as an object oriented language does, it just requires a bit of work.  Back when I was working on voice mail systems, we did them in ANSI c with jump tables.  Actually for some types of tricky OOP things like selective multiple inheritance, it's easier to do with a jump table than with a set of classes.

Function pointers were my thing back in the day.  Remind me to tell the story about the stripper and function pointers some time.

Share this post


Link to post
Share on other sites

I have spent some time wondering why religious authorities would make such a ban. Then finally it came to me. Clearly these OOP language functions were created by the Uryuom equivalent of Microsoft, and accordingly the religious authorities pronounced anathema on them.

Share this post


Link to post
Share on other sites
9 minutes ago, The Old Hack said:

I have spent some time wondering why religious authorities would make such a ban. Then finally it came to me. Clearly these OOP language functions were created by the Uryuom equivalent of Microsoft, and accordingly the religious authorities pronounced anathema on them.

AT&T Bell Labs on line two. Something about stolen credit. Borland Software one line one, something about first to market on non UNIX platform. Zortech Software on line three, something about first full ANSI compliance for non UNIX platform. Who do you want to talk to first?

Share this post


Link to post
Share on other sites
1 hour ago, mlooney said:
1 hour ago, The Old Hack said:

I have spent some time wondering why religious authorities would make such a ban. Then finally it came to me. Clearly these OOP language functions were created by the Uryuom equivalent of Microsoft, and accordingly the religious authorities pronounced anathema on them.

AT&T Bell Labs on line two. Something about stolen credit. Borland Software one line one, something about first to market on non UNIX platform. Zortech Software on line three, something about first full ANSI compliance for non UNIX platform. Who do you want to talk to first?

And along those lines, a similar event on the last panel of this comic.

Share this post


Link to post
Share on other sites
3 hours ago, mlooney said:

The programmer in me wants to loudly and pointed scream that if a function based language, such as c or Pascal, supports function pointers, a structure that includes them generates the same general effect as an object oriented language does, it just requires a bit of work.

And if your function based language doesn't, you can do it in Assembler. As long as your hardware doesn't enforce a firm division between program memory and data (and possibly even if it does). It'll probably take even more work than it would in a function-based language, but it can be done.

Seriously -  there is nothing you can do, and no programming technique you can use, in any language, that you cannot do in Assembler. Pure Assembler is the human-readable direct equivalent of machine code - any one machine-code instruction is expressed as one line of that processor type's Assembler. Programs exist to translate in both directions. (What you get from a basic machine-code-to-Assembler translator is effectively unreadable, though. Comments are extremely beneficial. As are NAMES for blocks of code and chunks of storage space. Along with macros packaging complex and frequently-used chunks of code - such as "write that block of data to this file".)

3 hours ago, mlooney said:

Function pointers were my thing back in the day.  Remind me to tell the story about the stripper and function pointers some time.

You said we should remind you to tell this story...

Share this post


Link to post
Share on other sites

Wait. He said 'methods'. I wonder if the term 'method' was meant in the OOP sense, which basically boils down to 'function of an object and perhaps some other arguments'. In other worse, the restriction might be very narrow - 'do not execute this algorithm on this data type'. Which, incidentally, I think has the potential to be a reasonable restriction, depending on the algorithm and data type (if you implement a sentient being, say)

I'm pretty sure that's not what was meant, but there's wiggle room for it to be that, if an author (Dan or a fic-writer) wanted to interpret it that way.

Share this post


Link to post
Share on other sites

"Except that it uses object oriented programming methods that are condemned by certain religious leaders when used with things like this."

Hmm, so "object oriented programming methods that are condemned": one of:

  • OOP techniques in general
  • Specific OOP techniques
  • OOP member functions
  • Specific OOP member functions

You make a good point, @Drachefly.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now