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


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

Re: Java blunders

From Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Java blunders
Date 2014-07-22 21:02 -0500
Organization A noiseless patient Spider
Message-ID <lqn53i$huq$1@dont-email.me> (permalink)
References <jvbts91r2f9onj1e3dbr5lvqp70hmofkum@4ax.com>

Show all headers | View raw


On 7/22/2014 1:41 PM, Roedy Green wrote:
> I have composed an essay about what I consider were the blunders in
> the design of Java.  I hold out hope many of them will eventually
> be fixed. You might like to add to the list.
>
>
> see http://mindprod.com/jgloss/javablunders.html

*stare*

Biggest blunders IMHO:
1. signed byte, and signed short to a lesser degree. Sub-integer types 
should have always been unsigned even if unsigned types weren't a 
fixture of the language.

2. 16-bit char. Unicode is a steaming pile of insanity and extremely 
difficult to work with properly. 16-bit chars makes the problem even 
worse. (Granted, Java predates the Unicode oops-we-screwed-up that made 
the mess, but it's a blunder that would need to be fixed if it could).

3. Non-reified generics.

4. Default-fallthrough switch statements. There are very little times 
you want to do:
switch (a) {
case 0:
   foo;
case 1:
   bar;
   break;
}-- you mostly want either:
switch (a) {
case 0: case 1: foo; break;
}
or
switch (a) {
case 0: foo; break;
case 1: bar; break;
}

5. &, |, ^ should have higher precedence than ==, != et al. Just because 
C did it doesn't mean it's a good idea.

6. List.class should be Class<List<?>>, not Class<List>. There's a 
difference between those two types, and it's not fun when you discover it.


Now of the complaints you listed, I'll make these points:
A. I think languages work best if you need to specify a type name 
exactly once, e.g., Foo x = new Foo(); is one too many times to say 
'Foo'. auto x = 2; is also one time too few, IMHO.

B. Precedence is useful, although the compiler can (and should!) warn 
you if you start getting to the confusing parts of precedence [1].

C. On the balance, I think matching curly braces is superior to 
begin/end-ish constructs. If you're spending too much time trying to 
figure out where you have an extra or a missing curly brace, then, quite 
frankly, your IDE is defective. My IDE points out matching curly braces 
and can even fold them based on appropriate matching, and it has been 
able to do so since before Java was invented. Possibly since before I 
was born, even.

[1] One quote I remember hearing from a talk is a complaint that too 
many PL designers have never quite understood the value of a warning as 
opposed to an error.
-- 
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