Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #29331

Re: Java blunders

Path csiph.com!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Java blunders
Date Fri, 25 Jul 2014 20:34:44 -0500
Organization A noiseless patient Spider
Lines 48
Message-ID <lqv0km$dm3$1@dont-email.me> (permalink)
References <jvbts91r2f9onj1e3dbr5lvqp70hmofkum@4ax.com> <a4b9a521-1f38-4fc0-b131-fda06e47af68@googlegroups.com> <lqpv9p$llh$1@dont-email.me> <38c5efcc-315c-4b8d-a478-89e352af7143@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Sat, 26 Jul 2014 01:35:20 +0000 (UTC)
Injection-Info mx05.eternal-september.org; posting-host="8cedddb29338592f734c41b16a68fadc"; logging-data="14019"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18b0ODRrvhc1OGMB2auQjyE95uQLuBE5Fc="
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.0
In-Reply-To <38c5efcc-315c-4b8d-a478-89e352af7143@googlegroups.com>
Cancel-Lock sha1:wiWj22IHiIZuGsB7A5vNFjX1osA=
Xref csiph.com comp.lang.java.programmer:29331

Show key headers only | View raw


On 7/24/2014 12:09 PM, taqmcg@gmail.com wrote:
> 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.

You are making some presumptions here that I don't think are entirely 
true. The problem with I/O is, in part, there's no one-size-fits-all 
solution. Recursive descent parsers, for example, often really need 
blocking, "synchronous" [1] I/O to make them readable and maintainable. 
Many servers might care about zero-copy file-to-network streams, which 
requires different infrastructure. A database would rather just treat an 
entire file as a large block of memory (perhaps with detailed hints to 
kernel prefetching and page table management). Sometimes people want 
combinations of these approaches.

Library features tend to be preferred over language features because 
it's really easy to distribute libraries that have newer, "better" 
stuff. Baking things into the language requires a language update to be 
able to use them, and updating the compiler can take long times. It took 
a few years for the AP CS exam to start teaching Java 5, for example.

> 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...

The underlying belief here is that all I/O is essentially a "stream", 
which is perhaps unsurprising considering that most I/O libraries are 
exposed in some form of stream-y like nature. Yet, as mentioned above, 
that is not sufficient to model all forms of I/O.

[1] There exists techniques to use coroutine functionality to write 
asynchronous code like synchronous code (look up MS's async/await 
proposal for C++). Most languages only have "stackless" coroutines, 
though, which make it harder to use these techniques on parsers, much 
less use them performantly.

-- 
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


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