Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.alt.folklore.computer > #50692
| From | Eric Bruecklmeier <nil@nil.nil> |
|---|---|
| Newsgroups | de.alt.folklore.computer |
| Subject | Re: COMAL |
| Date | 2025-06-13 08:32 +0200 |
| Message-ID | <mb1v0gFsc22U1@mid.individual.net> (permalink) |
| References | (13 earlier) <maq0e2Fh40dU1@mid.individual.net> <agnqhl-hkse.ln1@clauss-it.com> <Unterschied-20250612121822@ram.dialup.fu-berlin.de> <mavrrqFhlboU1@mid.individual.net> <slrn104m6df.36vic.hjp-usenet4@trintignant.hjp.at> |
Am 12.06.2025 um 20:17 schrieb Peter J. Holzer:
> On 2025-06-12 13:26, Eric Bruecklmeier <u@5i7.de> wrote:
>> Am 12.06.2025 um 13:19 schrieb Stefan Ram:
>>> # This is a simple Julia program demonstrating multiple dispatch
>>> # with a function called "add" that takes two numbers.
>>>
>>> # Define a method for add that takes two integers
>>> function add(x::Int, y::Int)
>>> println("Adding two integers:")
>>> return x + y
>>> end
>>>
>>> # Define a method for add that takes two floating-point numbers
>>> function add(x::Float64, y::Float64)
>>> println("Adding two floats:")
>>> return x + y
>>> end
>>>
>>> # Define a generic method for add that takes any two numbers
>>> function add(x::Number, y::Number)
>>> println("Adding two numbers of possibly different types:")
>>> return x + y
>>> end
>>>
>>> # The main program starts here
>>> result = add(2, 3) # This will call the first method (Int, Int)
>>> println("Result: ", result)
>>>
>>> # You can also try other combinations:
>>> result2 = add(2.5, 3.1) # Calls the Float64, Float64 method
>>> println("Result: ", result2)
>>>
>>> result3 = add(2, 3.5) # Calls the generic Number, Number method
>>> println("Result: ", result3)
>>>
>>>
>>
>> So ganz leuchtet mir nicht ein, worin bei multiple dispatch der Vorteil
>> gegenüber klassischen Methoden "object.method" liegen soll.
>
> Wie Stefan schon mehrfach geschrieben hat, muss man zwischen Syntax und
> Mechanismus unterscheiden.
Und wie ich schon mehrfach geschrieben hatte, ist object.methode für
mich ganz einfach ein Platzhalter für OOP - die Syntax ist hier völlig
egal. Daher schrieb ich "klassische Methode".
> Ich versuche im Folgenden die Syntax zu
> ignorieren. Ob man in einer objektorientierten Sprache object.method(x,
> y) oder method(object, x, y) oder [object method: x, y] schreibt, sollte
> für die Betrachtung egal sein.
Darum ging es nie s.o.
>
> Als Mechanismus existiert multiple dispatch auch in vielen
> objektorientierten Sprachen (z.B. Java). Wenn ich in Java o.m(x, y)
> schreibe, entscheidet Java auf Grund des Typs von o, x und y, welche
> Methode tatsächlich aufgerufen wird.
>
> Allerdings müssen z.B. in Java alle Methoden o.m(...) in der Klasse von
> o definiert werden. Man kann also zu einer existierenden Klasse keine
> Methoden mehr hinzufügen (man kann eine Subklasse ableiten, aber das ist
> dann eine andere Klasse). In Julia hingegen kann man - wie man sieht - die
> Funktionen irgendwo definieren und sie können Parameter beliebigen Typs
> haben. In Go geht etwas ähnliches, WIMRE.
>
>> Ducktyping stelle ich mir damit schwierig vor. Aber ich bin lernfähig!
>
> Für multiple dispatch braucht man zumindest ein optionales statisches
> Typsystem: Man muss deklarieren können, für welche Typen welche
> Funktion/Methode aufgerufen werden soll (bei Klassenbasierten
> objektorientierten Sprachen ist der Typ des Objekt-Parameters durch den
> Ort der Definition implizit). Theoretisch könnte das auch über
> Eigenschaften des Typs gehen statt über einen definierten Typ. Ich weiß
> nicht, ob es eine Sprache gibt, die das kann, aber es würde mich nicht
> wundern. Ob das praktisch ist, ist eine andere Frage (ich persönlich
> finde das Typkonzept von TypeScript z.B. eher verwirrend als hilfreich).
>
Da gefällt mir persönlich das dynamische Konzept von Ruby zusammen mit
Ducktyping deutlich besser - aber ja, ich weiß um die Risiken...
Back to de.alt.folklore.computer | Previous | Next — Previous in thread | Next in thread | Find similar
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-05-31 10:16 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-01 17:19 +0200
Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-01 23:57 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-02 08:16 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-02 12:56 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-02 11:17 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-02 17:10 +0200
Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-04 11:54 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-04 13:16 +0200
Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-08 22:19 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-09 09:47 +0200
Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-09 16:38 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-09 12:06 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-09 14:59 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-09 14:02 +0000
Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-06-10 08:08 +0200
Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 09:36 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-10 12:10 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 18:41 +0200
Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 21:03 +0000
Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-06-11 07:01 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 18:37 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-10 18:49 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 20:52 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 19:12 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 07:22 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-11 05:51 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 08:15 +0200
Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-11 08:04 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 11:41 +0200
Re: COMAL Dietrich Clauss <dietrich@clauss-it.com> - 2025-06-12 12:47 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-12 16:50 +0000
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-11 17:13 +0000
Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-06-12 07:41 +0200
Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-06-12 08:22 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-12 19:41 +0000
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-12 20:00 +0000
Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-06-13 08:20 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-13 16:55 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-14 10:45 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-14 09:24 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-14 11:29 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-14 09:36 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-14 11:41 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-14 14:37 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-14 14:41 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-14 15:01 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-14 13:25 +0000
Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-06-14 21:20 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-14 21:52 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-14 20:20 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-16 13:28 +0000
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-15 07:42 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-14 16:13 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-15 00:49 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-15 11:09 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-15 17:01 +0200
Re: COMAL "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2025-06-16 08:56 +0000
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-17 07:03 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-14 14:49 +0000
Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-06-14 21:20 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-14 21:58 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-15 00:51 +0200
Re: COMAL Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-06-17 10:40 +0200
Re: COMAL Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-06-17 10:29 +0200
Re: COMAL Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-06-17 10:16 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-17 08:44 +0000
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-14 14:34 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-14 13:23 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-14 14:45 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-15 12:41 +0000
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-15 13:05 +0000
Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-15 13:17 +0000
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-15 13:43 +0000
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-15 16:52 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-15 15:32 +0000
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-15 21:25 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-16 07:00 +0000
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-16 18:38 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-15 19:23 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-15 18:08 +0000
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-15 21:31 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-16 06:56 +0000
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-15 21:32 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-15 22:22 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-16 06:58 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-16 11:46 +0000
Re: COMAL Peter Müller <invalid@invalid.invalid> - 2025-06-16 19:13 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-16 11:40 +0000
Re: COMAL Stefan Reuther <stefan.news@arcor.de> - 2025-06-16 18:25 +0200
Re: COMAL Arno Welzel <usenet@arnowelzel.de> - 2025-06-15 17:02 +0200
Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-06-15 19:08 +0200
Re: COMAL Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-06-17 10:58 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 13:06 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-11 12:24 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 15:12 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 15:11 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 16:43 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 17:59 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 12:53 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 15:14 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 16:35 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 18:00 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 17:22 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-10 19:25 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 20:06 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-11 09:48 +0000
Re: COMAL Dietrich Clauss <dietrich@clauss-it.com> - 2025-06-12 12:41 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-12 11:19 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-12 13:26 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-12 20:17 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-12 18:38 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-12 18:54 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-12 19:16 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-12 19:34 +0000
Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-06-12 20:56 +0200
Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-12 21:26 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-12 20:02 +0000
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-12 20:09 +0000
Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-06-13 06:48 +0200
Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-12 19:44 +0000
Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-06-13 08:32 +0200
Re: COMAL Dietrich Clauss <dietrich@clauss-it.com> - 2025-06-13 09:49 +0200
Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-13 08:23 +0000
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-13 10:43 +0200
Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-13 10:47 +0200
Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 06:18 +0000
OOP (was: COMAL) "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 18:57 +0200
Re: OOP ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 17:34 +0000
Re: OOP ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 17:40 +0000
Re: OOP Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 21:12 +0000
Re: OOP "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 12:33 +0200
Re: OOP ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-11 12:14 +0000
Re: OOP Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-06-13 11:25 +0200
Re: OOP ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-13 09:59 +0000
csiph-web