Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > de.comp.lang.java > #13390
| Path | csiph.com!news.mixmin.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a547-b4bc-0-dd70-2411-a49f-7510.ipv6dyn.netcologne.de!not-for-mail |
|---|---|
| From | Patrick Roemer <sangamon@netcologne.de> |
| Newsgroups | de.comp.lang.java |
| Subject | Re: guter Stil void oder boolean |
| Date | Mon, 11 Jul 2022 13:26:48 +0200 |
| Organization | news.netcologne.de |
| Distribution | world |
| Message-ID | <tah1do$c4r$1@newsreader4.netcologne.de> (permalink) |
| References | <1a3b5a2f-84da-4710-978b-c953f1262955n@googlegroups.com> <void-20220709224802@ram.dialup.fu-berlin.de> <void-20220710074558@ram.dialup.fu-berlin.de> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | 8bit |
| Injection-Date | Mon, 11 Jul 2022 11:26:48 -0000 (UTC) |
| Injection-Info | newsreader4.netcologne.de; posting-host="2a0a-a547-b4bc-0-dd70-2411-a49f-7510.ipv6dyn.netcologne.de:2a0a:a547:b4bc:0:dd70:2411:a49f:7510"; logging-data="12443"; mail-complaints-to="abuse@netcologne.de" |
| User-Agent | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.24) Gecko/20100411 Thunderbird/2.0.0.24 Mnenhy/0.7.6.0 |
| Content-Language | en-US |
| In-Reply-To | <void-20220710074558@ram.dialup.fu-berlin.de> |
| Xref | csiph.com de.comp.lang.java:13390 |
Show key headers only | View raw
Responding to Stefan Ram:
> ram@zedat.fu-berlin.de (Stefan Ram) writes:
>>Dabei ist eine Bedeutung des englischen Adjektivs "void"
>>laut einem allgemeinen Englisch-Wörterbuch: "Not occupied;
>>unfilled", das Substantiv "void" bedeutet auch: "An open
>>space; a gap. - das wäre ja genau die richtige Bedeutung!
>>Also eher "void".
>
> Dazu paßt auch, daß »void« kein Typ ist, sondern ein
> Schlüsselwort, das eine Alternative zur Angabe eines
> Typs darstellt:
>
> |Result:
> | UnannType
> | void
> JLS 8.4.5
Dass "void" in Java nur ein Pseudotyp ist (eine void-Methode gibt _gar
nichts_ zurück, hat also keinen Rückgabetyp), ist eine von C geerbte
Eigenheit. In anderen Sprachen wird dasselbe Konzept z.B. durch einen
echten Typ "Unit" ausgedrückt, der genau einen Wert "()" besitzt - und
damit natürlich genau gar keine Bedeutung trägt.
Ich finde es recht erstaunlich, dass die JLS keine tragfähige Definition
für "void" beinhaltet (vielleicht habe ich heute auch nur ganz
schlechtes Suchkarma), aber ich bin mir sehr sicher, dass die Semantik
"diese Methode hat nur Nebeneffekte" ist, und nicht "diese Methode weiss
noch nicht so recht, was sie zurückgeben will".
Eine etwas bessere (aber längst nicht passende) Annäherung an diese
Bedeutung wäre der Typ "Nothing" in Scala, der keinen Wert beinhaltet,
der aber ein Subtyp jedes anderen Typs ist. Im Zusammenspiel mit
Inferenz für Methodenrückgabetypen könnte man da eine Methode so
"evolvieren":
// inferred return type: Nothing
def foo(i: Int) =
??? // throws NotImplemented, type: Nothing
// inferred return type: Int
def foo(i: Int) =
if(i >= 0)
then i
else ???
// inferred return type: Int
def foo(i: Int) =
if(i >= 0)
then i
else -i
// Fertig!
def foo(i: Int): Int =
if(i >= 0)
then i
else -i
...aber empfehlen würde ich dieses Vorgehen sicher nicht - erst denken,
dann tippen.
Back to de.comp.lang.java | Previous | Next — Previous in thread | Next in thread | Find similar
guter Stil void oder boolean Luis Bischof <luisbischof@gmx.de> - 2022-07-09 08:41 -0700
Re: guter Stil void oder boolean Michael Paap <feunews@mpaap.de> - 2022-07-09 20:53 +0200
Re: guter Stil void oder boolean Wanja Gayk <brixomatic@yahoo.com> - 2022-08-14 21:41 +0200
Re: guter Stil void oder boolean Michael Paap <feunews@mpaap.de> - 2022-07-10 00:46 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 12:57 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 16:25 +0200
Re: guter Stil void oder boolean Michael Paap <feunews@mpaap.de> - 2022-07-11 17:16 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 17:43 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 13:26 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 17:29 +0200
Re: guter Stil void oder boolean Patrick Roemer <sangamon@netcologne.de> - 2022-07-11 17:44 +0200
csiph-web