That seems fundamentally correct to me (up to some grammar issues in the second sentence… probably you mean “durch Argumente bestimmte Kompilierung von Funktionen”, or “argument-bestimmte Kompilierung von Funktionen”, lowercase and with a dash or compounded into a single word). I’m also not sure if or how that second sentence would have a place in a discussion about Julia specifically, since Julia doesn’t compile functions, only methods. But you should probably have one of the CS people / Julia inventors have the last word on that.
Wait, why are we claiming multimethods isn’t a synonym for having multiple dispatch? I dont agree with that
Sorry I should have made clearer that I was joking while making a drive-by lunch break comment…
I’d second the anglicism “multiple dispatch”, and would even clarify to “dynamic multiple dispatch”, in order to clearly distinguish from overloading / Überladung (…here the term is usually translated in German. We Germans are totally inconsistent.).
If you want to sound like a native German, you’d use a mixed-language abomination like “dynamischer multi-Dispatch” ![]()
(note how dynamic got Germanized, and how dispatch got capitalized and implicitly coded as male, but the “multi” still stands apart. A true horror and mutilation of German grammar, as is customary when translating technical terms.)
I’m also confused as to why “Multimethoden” seems to sound bad to most of the German native speakers here. It sounds perfectly fine to me and is the clearest and most concise translation of “multiple dispatch” in this thread so far in my opinion.
The phrase is just as ambiguous as “multiple dispatch” itself. Are there multiple layers of dispatch? Does something get dispatched multiple times? Are there multiple arguments on which something is dispatched? etc. Without the full explanation/definition, the concept of multiple dispatch cannot be compressed into 1-2 words (that already have some meaning) anyway, but that’s just the nature of language I guess.
In any sort of technical context, I would just go for using “multiple dispatch” in German as-is – everyone I talk to in German about Julia just uses the term directly. The previously mentioned “dynamischer multi-Dispatch” also sounds like something I might use if I had to make up a translation on the spot. “Multipler Dispatch” would be another one that doesn’t really explain what the concept is about, but sounds and looks more German if that’s the goal. In principle, there is no issue taking a noun from other languages and making it German, we do it all the time ![]()
In other domains where „dispatch“ is being used (e.g. vehicle or worker dispatching problems), an established translation is sometimes „Disposition“, „to dispatch“ would be „disponieren“ and a dispatcher is a „Disponent“. I don‘t think they would become sticky though as there are just too many English words in use in German when it comes to CS.
To be honest (as a native German) if you started talking to me about “Multi-Disponenten”, I would have absolutely no idea what you might be talking about (even if I was familiar with multiple dispatch)
In eastern Germany, “Dispatcher” used to be a profession, see Dispatcher – Wikipedia . Interestingly they write that it is a back translation from the Russian dispetsher (диспечер). I can confirm that this word exists in Russian, so this may be quite possible.
So one could argue that “Mehrfachdispatch” would be another option, once “Dispatcher” is already in the language for may years, albeit not so much in the Western part. But than it might be better to stick just to “multiple dispatch” (which I usualy do). However this is what ChatGPT suggests: Mehrfach-Dispatch. Quote: “Most natural mix for German developers; widely understood and mirrors the English term.”
“Mehrfachversand” really appears weird to me, as it suggests that something is being sent (same germanic root as versenden/Versand) somewhere which is not quite true here. It is more about taking a decision on which method should be invoked.
In https://de.bab.la/woerterbuch/englisch-deutsch/dispatching occurs “Zuordnung”. This lets me think about “parameterypenbasierte Methodenzuordnung” Back to englisch “parameter type based method assignment” , which again can be misleading, because it is about the choice of which method to use, and assigment in the coding context is something quite different.
Ok then my choice is: “parametertypenbasierte Methodenwahl”.
On behalf of all Norwegians and Swedes I must point out that this only applies to Danish. The rest of us aren’t that far along yet!
I like it in a way - it’s both precise and ugly.
C#, clojure, common lisp, etc also support dynamic multiple dispatch, so I wanted to look at how professionals translate the term. Übersicht über dynamische Sprachlaufzeit - .NET Framework | Microsoft Learn talks about “dynamischer Versand” ![]()
The term “Laufzeitüberladungsauflösung” (runtime overload resolution) does sound very fun, though! (nobody would use that term in real life. But it fits all cliches about German language, and it does make sense)
“parametertypenbasierte Methodenwahl”
This is unfortunately not precise at all, because it does not distinguish from the widely used (java, C++) single-dynamic multiple-static dispatch (virtual method with multiple overloads). The important aspect is that both “multiple” parameters are considered, and their “dynamic type” / “runtime-type” matters for “dispatch”.
The term “multiple dispatch” simply sucks, it should have been “dynamic multiple dispatch” in the first place. This ship has sailed, but you should either fix it in translation or refer to pre-existing translations / German terms.
And this is not idle nit-picking: People outside the julia bubble regularly misunderstand the difference a la “overload resultion is mutltiple dispatch”. Yes, overload resolution is static multiple dispatch. But “multiple dispatch” is not two English words, it is a technical term with a definition, and a shortening of “dynamic multiple dispatch”.
Mathematicians have better style, they would have called it “Bobrow dispatch”, leaving absolutely no ambiguity whether this is a collection of English words with meaning or a technical term with a definition.
multiparametertypenbasierte Laufzeit-Methodenwahl?
Look here (to see how it was translated in the book ‘Objektorientierte Programmierung’, which I haven’t read). Otherwise, Linguee is good for context-based translations.
As I see it, they properly translate the English “multiple dispatch” into German “Multiple Dispatch”.
I continue to be baffled by why everyone here is just taking the premise for granted that multimethoden is bad and should be replaced. Multimethod is the right term to describe a method which dispatches on the types of all the arguments.
Given that multimethod has a good, straightforward translation to German, I really don’t see why not jsut use it for the German wikipedia page.
The very first line of the English wikipedia page for multiple dispatch even says
Multiple dispatch or multimethods is a feature of some programming languages in which a function or method can be dynamically dispatched based on the run-time (dynamic) type or, in the more general case, some other attribute of more than one of its arguments
I recall reading this more often several years ago.
Eg. section two of the 2012 paper: “Julia: A Fast Dynamic Language for Technical Computing” begins
2 Language Design
Julia’s primary means of abstraction is dynamic multiple dispatch. Much of a language consists
of mechanisms for selecting code to run in different situations — from method selection to
instruction selection. We use only dynamic multiple dispatch for this purpose,
I also have seen this consistently (although I’m not at all an expert). For example, see the box labeled “Multimethods vs. Method Overloading” at the bottom of Chapter 16 in Practical Common Lisp
That’s partly because the Geschwindigkeitsbegrenzung in Germany is so high that you would not have time to read the word if it were printed on a road sign.
One almost always can deconstruct these compound nouns into several words in order to write less abstract style. This then could become (also taking into account some of the criticisms): “durch die Typen der Parameter gesteuerte Auswahl der auszuführenden Methoden einer Funktion während der Laufzeit” . This the also includes that methods in Julia belong to functions.
I am not sure about “Multimethoden” or multimethods - this is as catchy as “multiple dispatch” while IMHO also not being precise enough. Also, in many cases these explanations are addressed to people not very well familiar with computer science definitions or other languages.
So as it stands now, I would write in an introduction something like this:
“Ein wesentliches Merkmal von Julia ist die durch die Typen der übergebenen Parameter gesteuerte Auswahl der auszuführenden Methode einer Funktion während der Laufzeit, auch parametertypengesteuerte Methodenauswahl oder Multiple Dispatch genannt” .
And may be English texts also could have this combination of precise description and catchy name.
Both “dynamic multiple dispatch” and “multimethods” are terms of art. The first one is sometimes just “multiple dispatch”. But “dynamic multiple dispatch” has been used repeatedly and intentionally by the authors of Julia. Wikipedia is full of terms of art. I don’t see the advantage of non-authors and non-“experts” (such as myself) re-litigating the terms to suit our fancy.