Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #19302
| Path | csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail |
|---|---|
| From | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Assigning void |
| Date | Sat, 13 Oct 2012 20:21:04 +0000 (UTC) |
| Organization | Aioe.org NNTP Server |
| Lines | 44 |
| Message-ID | <k5cifg$nse$1@speranza.aioe.org> (permalink) |
| References | <mn.655e7dca256cdfb1.70216@a.com> <k5c2q6$hio$1@dont-email.me> <k5c6vs$p9v$1@speranza.aioe.org> <k5cbcn$9dl$1@dont-email.me> <k5cdi1$m0k$1@dont-email.me> |
| NNTP-Posting-Host | 0usSS01PZ8AI54GFz6in7A.user.speranza.aioe.org |
| X-Complaints-To | abuse@aioe.org |
| User-Agent | tin/1.9.6-20100522 ("Lochruan") (UNIX) (Linux/2.6.32-5-amd64 (x86_64)) |
| X-Notice | Filtered by postfilter v. 0.8.2 |
| Xref | csiph.com comp.lang.java.programmer:19302 |
Show key headers only | View raw
Jeff Higgins <jeff@invalid.invalid> wrote: (snip on use of expressions as statements) >> 6.5.15 of the C Rationale only states >> the construct is allowed and not why. >> 15.25 of the Java Spec. only states >> the construct is disallowed and not why. >> Does it sound childish to ask why? > Don't get me wrong. I understand that in both > languages this construct is the conditional "operator". > I'm asking only why it cannot also be shorthand for > an if-then-else statement. > boolean expression ? block : block C allows any expression as a statement, no matter how useless. It is most often used in C to ignore the return value of a function, not that it is always a good idea. Way too many programs ignore the return value of fclose() which may be the only indication that writing to a file failed. Java special cases the method call, but otherwise doesn't allow expressions that don't do assignment as statements. (Read the JLS for more specific details.) There are other Java restrictions that seem to be there to encourage better coding. For one, Java requires that the compiler be able to verify that a scalar variable is assigned a value before it is used. Most other languages trust the programmer to get it right, with no guarantees if it is wrong. Now, it would have been easier for Java to always initialize scalar variables to zero/false/null, but that doesn't encourage good coding practices. There is always a compromise between generality and readability. I don't know how many of the Java originators are still around to ask. If you really want to know, though, that is the way. -- glen
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Assigning void Wojtek <nowhere@a.com> - 2012-10-12 22:54 -0700
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-12 23:27 -0700
Re: Assigning void Wojtek <nowhere@a.com> - 2012-10-13 12:35 -0700
Re: Assigning void Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-13 09:26 -0400
Re: Assigning void Donkey Hottie <donkey@fredriksson.dy.fi> - 2012-10-13 17:06 +0300
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 10:34 -0400
Re: Assigning void Wanja Gayk <brixomatic@yahoo.com> - 2012-10-13 22:33 +0200
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 17:34 -0400
Re: Assigning void Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-13 17:45 -0400
Re: Assigning void Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-13 21:35 -0400
Re: Assigning void Wanja Gayk <brixomatic@yahoo.com> - 2012-10-16 00:16 +0200
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 11:59 -0400
Re: Assigning void glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-10-13 17:05 +0000
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 14:26 -0400
Re: Assigning void markspace <-@.> - 2012-10-13 11:51 -0700
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 15:08 -0400
Re: Assigning void Wojtek <nowhere@a.com> - 2012-10-13 12:28 -0700
Re: Assigning void markspace <-@.> - 2012-10-13 12:42 -0700
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-13 12:54 -0700
OT - Trolling Wojtek <nowhere@a.com> - 2012-10-13 14:16 -0700
Re: OT - Trolling Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 18:09 -0400
Re: OT - Trolling Gene Wirchenko <genew@ocis.net> - 2012-10-14 18:47 -0700
Re: Assigning void Martin Gregorie <martin@address-in-sig.invalid> - 2012-10-13 20:28 +0000
Re: Assigning void Wojtek <nowhere@a.com> - 2012-10-13 13:31 -0700
Re: Assigning void Joerg Meier <joergmmeier@arcor.de> - 2012-10-20 18:00 +0200
Re: Assigning void Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2012-10-20 09:56 -0700
Re: Assigning void "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2012-10-21 13:24 +0200
Re: Assigning void Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2012-10-21 10:23 -0700
Re: Assigning void "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2012-10-22 00:13 +0200
Re: Assigning void Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2012-10-21 16:25 -0700
Re: Assigning void "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2012-10-22 08:43 +0200
Re: Assigning void "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2012-10-22 10:18 +0200
Re: Assigning void Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2012-10-22 08:14 -0700
Re: Assigning void glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-10-21 19:45 +0000
Re: Assigning void "Peter J. Holzer" <hjp-usenet2@hjp.at> - 2012-10-22 00:14 +0200
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-13 12:44 -0700
Re: Assigning void Jukka Lahtinen <jtfjdehf@hotmail.com.invalid> - 2012-10-15 14:38 +0300
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-15 09:11 -0700
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 15:03 -0400
Re: Assigning void glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-10-13 20:21 +0000
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-13 12:38 -0700
Re: Assigning void markspace <-@.> - 2012-10-13 12:49 -0700
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-13 13:03 -0700
Re: Assigning void Robert Klemme <shortcutter@googlemail.com> - 2012-10-14 14:09 +0200
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-14 11:31 -0700
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 19:55 -0400
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 20:25 -0400
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-13 21:01 -0400
Re: Assigning void Gene Wirchenko <genew@ocis.net> - 2012-10-14 18:42 -0700
Re: Assigning void Roedy Green <see_website@mindprod.com.invalid> - 2012-10-14 00:51 -0700
Re: Assigning void Jeff Higgins <jeff@invalid.invalid> - 2012-10-14 10:40 -0400
Re: Assigning void Sven Köhler <remove-sven.koehler@gmail.com> - 2012-10-21 01:24 +0200
Re: Assigning void Wojtek <nowhere@a.com> - 2012-10-21 14:52 -0700
Re: Assigning void Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-21 20:13 -0400
Re: Assigning void Wojtek <nowhere@a.com> - 2012-10-21 20:20 -0700
Re: Assigning void Sven Köhler <remove-sven.koehler@gmail.com> - 2012-10-22 11:12 +0200
Re: Assigning void Wanja Gayk <brixomatic@yahoo.com> - 2012-10-24 22:03 +0200
Re: Assigning void Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-24 17:47 -0400
Re: Assigning void Wanja Gayk <brixomatic@yahoo.com> - 2012-10-25 01:02 +0200
Re: Assigning void Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-24 20:21 -0400
Re: Assigning void Martin Gregorie <martin@address-in-sig.invalid> - 2012-10-25 20:04 +0000
(OT) Re: Assigning void Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-25 16:31 -0400
Re: (OT) Re: Assigning void Martin Gregorie <martin@address-in-sig.invalid> - 2012-10-25 20:44 +0000
Re: Assigning void Arved Sandstrom <asandstrom2@eastlink.ca> - 2012-10-25 07:25 -0300
Re: Assigning void Lew <lewbloch@gmail.com> - 2012-10-25 11:12 -0700
Re: Assigning void Sven Köhler <remove-sven.koehler@gmail.com> - 2012-10-22 11:01 +0200
Re: Assigning void Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-10-23 00:38 +0200
csiph-web