Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #29274
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Date | 2014-07-24 10:09 -0700 |
| References | <jvbts91r2f9onj1e3dbr5lvqp70hmofkum@4ax.com> <a4b9a521-1f38-4fc0-b131-fda06e47af68@googlegroups.com> <lqpv9p$llh$1@dont-email.me> |
| Message-ID | <38c5efcc-315c-4b8d-a478-89e352af7143@googlegroups.com> (permalink) |
| Subject | Re: Java blunders |
| From | taqmcg@gmail.com |
On Wednesday, July 23, 2014 11:41:25 PM UTC-4, Joshua Cranmer đ§ wrote: > On 7/23/2014 1:26 PM, taqmcg@... wrote: > > > - The vast mess that is Java IO and NIO with a myriad of classes that > > do almost the same thing. Streams and Readers and Channels and > > RandomAccessFile off on its own, and Buffers and Formatters and > > Charsets and Selectors and .... My suspicion is the the underlying > > problem here is that we've decided that I/O somehow is read out of > > the language itself -- it's an add-on library. Doing I/O is critical > > to essentially all programs but thinking that some syntax beyond > > method calls might be useful in making what how program does I/O > > clear is beyond the pale. I suspect that the desire to support > > printf-like calls was one of the big drivers for variable length > > argument lists but that's not even scratching the surface. > > Since you mentioned I/O in particular, I'll bring this up: > > I/O is *hard.* If you have any pretense of supporting non-ASCII, you > *need* to worry about charsets and not sweep them under the rug (notice > how many NNTP clients appear to mangle the character in my From > header--and this is a situation where the format literally shoves the > charset information in your face. Java's blunder was that it attempted > to hide the details and put both text and binary handling on streams > instead of having separate Reader/Writer implementations beyond the past. > > > The other problem is synchronous via asynchronous streams, or support > for select-like constructs. This is the sort of thing that is impossible > to retrofit onto existing libraries without potentially breaking a lot > of applications. It's also the sort of thing for which, looking at > several other languages and libraries, there is no universally-accepted > paradigm. Yes, it's a mess; yes, Java did it wrong. Then again, so did > everybody else, so I can't fault Java for that. > The bit that confuses me -- and I agree that Java is not the only place this happens -- is that everyone agrees that I/O is complex and difficult. And the first decision that seems to be made about it is that given this complex, difficult but critical element that all of our programs need, lets ensure that the only syntax that is available to address it is a method/function. Maybe some of the complexity could be addressed more cleanly if we thought about I/O as fundamental element of what we are doing through the language design process rather than something to be bolted on as library (or libraries) at the end. To illustrate this (and I'm designing this as I write it, trying to illustrate how we could integrate I/O within the language differently that we do now). suppose that we had the idea that all variables (both primitives and objects) in Java were emitters and receivers -- a basic property for all things. Primitives emit their byte representation and can receive bytes to get new value. Objects have some method defined for both operations. Arrays emit/receive their elements. We can also build filter objects that serve as receiver/emitters. With this kind of framework, we might consider a filter statement of the form emitter,emitter,... <<filter,filter,...>> receiver,receiver,... ; Now a write statement to an output stream could be of the form: x,y,z <<>> outputStream; There's no filter because we want to write out the bytes directly. If we want the equivalent of a Writer instead of an output stream we have x,y,z <<encoder>> outputStream; Or maybe we need to first transform our data into some string representation and then make sure that the string is properly encoded. x,y,z <<toString,encoder>> outputStream; I'm not proposing this syntax especially, but I think it illustrates the kind of syntactical constructs that might promote a cleaner representation of the users I/O needs than some ever more complex libraries of method calls. Maybe some special callback syntax would fit in nicely with asynchronous I/O... > > java.util.Date on the other hand... WHY IS JANUARY ASSIGNED A NUMERICAL > VALUE OF 0? DO YOU NOT HAVE AN OUNCE OF GREY MATTER IN YOUR SKULL? [Yes. > I know the rational. But when strftime's %MM value outputs 1 for > January, it's hard to argue that January doesn't have an intrinsic > numerical value worth more than 0-based indexing]. > True enough... But I deal with I/O in every program and the arcane aspects of Java's time system in very few. Regards, Tom McGlynn
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-22 11:41 -0700
Re: Java blunders Daniele Futtorovic <da.futt.news@laposte.net> - 2014-07-22 21:12 +0200
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-22 19:46 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 04:14 -0700
Re: Java blunders Joerg Meier <joergmmeier@arcor.de> - 2014-07-22 23:47 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 04:23 -0700
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-23 12:32 +0000
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-23 08:55 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 06:21 -0700
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-23 19:53 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 18:49 -0700
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-23 19:52 -0400
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-22 19:44 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 04:27 -0700
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-23 19:55 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 18:53 -0700
Re: Java blunders Joerg Meier <joergmmeier@arcor.de> - 2014-07-24 11:24 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-25 06:34 -0700
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-24 19:31 -0400
Re: Java blunders Gene Wirchenko <genew@telus.net> - 2014-07-25 13:22 -0700
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-25 17:17 -0400
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-25 23:12 +0000
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 09:06 -0700
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-26 20:11 +0000
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-26 17:27 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-27 10:49 -0700
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-27 10:10 -0700
Re: Java blunders Gene Wirchenko <genew@telus.net> - 2014-07-28 13:53 -0700
Re: Java blunders Stuart <DerTopper@web.de> - 2014-07-30 08:05 +0200
Re: Java blunders Sebastian <news@seyweiler.dyndns.org> - 2014-07-30 11:12 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-27 10:13 -0700
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-27 18:28 +0000
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-27 14:46 -0400
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-27 21:18 +0000
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-27 18:10 -0400
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-28 01:25 +0000
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-28 08:02 -0400
Re: Java blunders Mike Amling <mamling@chaff.us> - 2014-07-31 13:26 -0500
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-31 14:48 -0400
Re: Java blunders "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2014-07-28 13:22 +0100
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-28 12:52 +0000
Re: Java blunders Joerg Meier <joergmmeier@arcor.de> - 2014-07-28 23:38 +0200
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-28 23:17 +0000
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-29 13:34 +0200
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-29 12:45 +0000
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-29 17:10 +0200
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-29 16:29 +0000
Re: Java blunders lipska the kat <lipskathekat@example.com> - 2014-07-29 20:15 +0100
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-29 22:02 +0000
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-29 22:43 +0200
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-29 22:10 +0000
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-27 19:18 -0500
Re: Java blunders Gene Wirchenko <genew@telus.net> - 2014-07-28 13:54 -0700
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-31 23:07 -0400
Re: Java blunders James Hostick <james.hostick@gmail.com> - 2014-08-01 22:10 -0700
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 08:31 -0700
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-26 21:04 +0000
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-27 10:51 -0700
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-28 08:50 -0700
Re: Java blunders Joerg Meier <joergmmeier@arcor.de> - 2014-07-28 23:42 +0200
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-31 23:04 -0400
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-28 22:23 +0200
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-28 16:39 -0400
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-29 00:11 +0200
Re: Java blunders Jukka Lahtinen <jtfjdehf@hotmail.com.invalid> - 2014-07-30 12:07 +0300
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-30 08:05 -0400
Re: Java blunders Wanja Gayk <brixomatic@yahoo.com> - 2014-07-25 01:34 +0200
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-24 19:43 -0400
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-22 21:02 -0500
Re: Java blunders Leif Roar Moldskred <leifm@huldreskog.lan> - 2014-07-23 02:01 -0500
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 18:58 -0700
Re: Java blunders thinbluernime <thinbluernime3@gmail.com> - 2014-07-25 03:55 +0000
Re: Java blunders Leif Roar Moldskred <leifm@huldreskog.lan> - 2014-07-25 00:32 -0500
Re: Java blunders thinbluernime <thinbluernime3@gmail.com> - 2014-07-26 07:28 +0000
Re: Java blunders "Gavino" <invalid@invalid.invalid> - 2014-07-26 19:43 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-25 06:36 -0700
Re: Java blunders "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2014-07-25 15:47 +0100
Re: Java blunders David Postill <david.postill@gmail.com> - 2014-07-25 18:29 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 09:27 -0700
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-25 06:37 -0700
Re: Java blunders Joerg Meier <joergmmeier@arcor.de> - 2014-07-23 13:17 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 06:27 -0700
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 04:44 -0700
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-23 16:23 +0200
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-23 12:02 -0400
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-24 11:37 +0200
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-28 22:37 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 09:33 -0700
Re: Java blunders thinbluernime <thinbluernime3@gmail.com> - 2014-07-25 03:57 +0000
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-23 21:38 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 18:59 -0700
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-24 07:33 +0000
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-24 11:47 +0200
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-24 19:34 -0400
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-25 08:48 +0200
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-25 08:07 -0400
Re: Java blunders "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2014-07-25 13:54 +0100
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-31 22:53 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-25 07:04 -0700
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-28 22:01 +0200
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-28 21:56 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 06:28 -0700
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-23 08:33 -0500
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-23 21:34 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-23 19:06 -0700
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-23 22:11 -0500
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-24 07:36 +0000
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-24 19:39 -0400
Re: Java blunders "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2014-07-25 13:40 +0100
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-24 19:38 -0400
Re: Java blunders Gene Wirchenko <genew@telus.net> - 2014-07-25 13:30 -0700
Re: Java blunders taqmcg@gmail.com - 2014-07-23 11:26 -0700
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-23 15:14 -0400
Re: Java blunders thinbluernime <thinbluernime3@gmail.com> - 2014-07-25 04:07 +0000
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-07-25 08:35 -0400
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 09:41 -0700
Re: Java blunders Wanja Gayk <brixomatic@yahoo.com> - 2014-08-03 16:41 +0200
Re: Java blunders Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-08-03 11:31 -0400
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-23 22:41 -0500
Re: Java blunders taqmcg@gmail.com - 2014-07-24 10:09 -0700
Re: Java blunders "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2014-07-25 13:22 +0100
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-25 20:34 -0500
Re: Java blunders "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2014-07-28 13:33 +0100
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-28 08:35 -0500
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 09:44 -0700
Re: Java blunders Martin Gregorie <martin@address-in-sig.invalid> - 2014-07-26 23:36 +0000
Re: Java blunders Gene Wirchenko <genew@telus.net> - 2014-07-23 20:48 -0700
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-24 11:56 +0200
Re: Java blunders Silvio <silvio@internet.com> - 2014-07-24 16:07 +0200
Re: Java blunders Gene Wirchenko <genew@telus.net> - 2014-07-25 13:38 -0700
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 10:02 -0700
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-24 19:29 -0400
Re: Java blunders Gene Wirchenko <genew@telus.net> - 2014-07-25 13:45 -0700
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 10:53 -0700
Re: Java blunders Wanja Gayk <brixomatic@yahoo.com> - 2014-07-25 01:28 +0200
Re: Java blunders "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2014-07-25 14:16 +0100
Re: Java blunders Joerg Meier <joergmmeier@arcor.de> - 2014-07-25 17:39 +0200
Re: Java blunders Roedy Green <see_website@mindprod.com.invalid> - 2014-07-26 16:21 -0700
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-28 23:59 +0200
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-29 00:41 +0200
Re: Java blunders Josip Almasi <joe@vrspace.org> - 2014-07-29 01:54 +0200
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-31 22:38 -0400
Re: Java blunders Arne VajhĂžj <arne@vajhoej.dk> - 2014-07-31 22:39 -0400
Re: Java blunders w.tom.adams@gmail.com - 2014-07-30 07:57 -0700
Re: Java blunders Joshua Cranmer đ§ <Pidgeot18@verizon.invalid> - 2014-07-30 10:22 -0500
csiph-web