7

This question was reopened on "English Language & Usage": https://english.stackexchange.com/questions/53683/synonyms-for-multiplexing-and-demultiplexing/

This question is related to something written in C#, but it can be answered by programmers familiar with any language, as the question pertains not to the code itself, but to naming of what the code does.

I posted a question on StackOverflow titled Multiplexing interface method calls into a single delegate and demultiplexing asking if anyone knows of any mechanism that will marshal interface method calls into invocations of a universal delegate (or single method interface) of the form object AnyCall( int method_selector, object[] arguments ) and marshal back from such invocations into the original interface method calls.

Since nothing suitable came up, I went ahead and I created such a mechanism. (If it is not clear to you what this mechanism does, please read the original question.) Then, I wrote a paper about this mechanism, which is almost ready, and I am about to publish it on CodeProject, but before I do that I need some help with my naming choices.

Naming is quite important to me, and I consider dictionary.com and thesaurus.com as programming tools, but sometimes help from native speakers is indispensable, especially when an attempt is being made to introduce a new concept, or to take an existing technique which had no special name assigned to it thus far, and give it a special name, thus promoting it to a concept.

Mike Nakis
  • 32,003
  • 7
  • 76
  • 111
  • I just acquired the privilege to add new tags, so I added "naming", "terminology" and "marshaling". I removed the "readability" and "style" tags, as they are not applicable. – Mike Nakis Dec 01 '11 at 05:47
  • 1
    Unless you had someone else write this question for you, I think you might just as well consider yourself a native speaker of English. For all intents and purposes your English seems perfect. – Igby Largeman Dec 06 '11 at 23:16
  • 1
    As for your question, I like "entwine", "untwine" and "intertwine", I think they sound cool, but I'm not sure that they're quite right for what you're doing. They bring to my mind images of "twisting" two or more things together, since that's what entwine actually means. – Igby Largeman Dec 06 '11 at 23:21
  • Thank you very much for your response, @Charles. I am taking notice of your comment and hoping that there will be more answers. At the same time, I am looking for better names. – Mike Nakis Dec 07 '11 at 06:58
  • Removed the [tag:naming] tag. [tag:terminology] is way more appropriate for what you are looking for. I was about to delete the whole "Naming is quite important to me" paragraph, as it doesn't add anything to the core question, in the sense that you don't really need to justify why terminology is important. Didn't delete it though, because _in practice_ it might protect you from questions/comments of the "why do you care so much" variety. – yannis Dec 21 '11 at 03:15
  • And I've posted a [meta question](http://meta.programmers.stackexchange.com/questions/2710/is-there-a-point-to-the-naming-tag) that describes my feelings on the naming tag, as removing it was more to the instinctual side. – yannis Dec 21 '11 at 03:49
  • 1
    @MikeNakis [Apperently](http://english.stackexchange.com/questions/46867/word-for-application-that-is-both-sender-and-receiver) the folks over at English Language & Usage Stack Exchange don't mind naming questions on cs topics. You could try there too, with a somewhat different version of your question (I'm not 100% certain what they feel is on topic)... – yannis Dec 26 '11 at 10:45
  • Why don't you just call the methods marshal and unmarshal? – kevin cline Jan 03 '12 at 07:25
  • @kevincline Because these words are too general, so I would have to be speaking of "interface marshaling" and "interface unmarshaling", and these terms are too long, let alone the fact that when you see them for the first time you might be tempted to believe you know what they mean, while in fact you probably don't, as they stand for a concept which you have probably not been previously aware of. – Mike Nakis Jan 03 '12 at 09:22

1 Answers1

3

fusion and fission?

fusion: the process of combining multiple elements into one. i.e. nuclear fusion.

fission: the process of breaking a single element into more basic parts. i.e. nuclear fission.

I like it because programmers are usually sci-fi nerds who already know what it means, it both connotes and denotes what you seem to be doing, and because there will be little doubt between cultures what you mean.

                name of action   name of performer   verb
marshaling:     fusion           fusor               fuse
unmarshaling:   fission          fissional/reactor?  fission

Another option may be coupling and decoupling.

Mike Nakis
  • 32,003
  • 7
  • 76
  • 111
Jonathan Henson
  • 5,039
  • 3
  • 26
  • 33
  • I like it, there's an established practice of borrowing terminology from math, natural sciences and [engineering disciplines](http://programmers.stackexchange.com/questions/120321/is-orm-an-anti-pattern/120338#120338). I wouldn't go as far as calling fusion and fission as more recognizable as scifi terms than as physics terms, but as a scifi nerd myself I do agree that they are immediately recognizable. But coupling I don't like, I don't really think what op describes fits entirely within the [generic definition of coupling](http://en.wikipedia.org/wiki/Coupling_(computer_programming)) – yannis Dec 21 '11 at 03:59
  • The problem with fusion and fission is that they do not inflect very well. How would you call the objects that perform fusion and fission? A fuser and a fisser? And how do you make verbs out of them so as to name the methods? Fuse and fiss? – Mike Nakis Dec 21 '11 at 09:14
  • I do not like coupling and decoupling because it already means other things. – Mike Nakis Dec 21 '11 at 09:14
  • @MikeNakis Actually an object that perform fusion would be called a [fusor](http://en.wikipedia.org/wiki/Fusor). The verb is indeed [fuse](http://en.wiktionary.org/wiki/fuse?rdfrom=Fuse). As for fission, apparently it works as a [verb](http://en.wiktionary.org/wiki/fission#Verb) and its objects could be called [fissional](http://en.wiktionary.org/wiki/fissional) and/or [fissile](http://en.wiktionary.org/wiki/fissile) - Yeap, ugly :) – yannis Dec 21 '11 at 10:45
  • @Yannis, I think fusor would work fine for the Fusing object name. w.r.t fissile, there has to be something better. – Jonathan Henson Dec 21 '11 at 15:44
  • @Yannis, I believe fissile is an adjective. i.e. A fissile isotope is unstable. The object should be nouns, correct? I believe the noun might be Reactor. – Jonathan Henson Dec 21 '11 at 15:48
  • Fissile would be an object that is able to undergo fission, but not one that performs it. The closest I can find is Reactor. Which, is --not just in a enginneering setting-- the performer of fission reactions. – Jonathan Henson Dec 21 '11 at 15:57